<?xml version="1.0" encoding="utf-8"?>

<!--
    MDDL - Market Data Definition Language
    Version 2.5-beta 28 February 2007
    Copyright © 2001-2007, The Software and Information Industry Association.
    See http://www.mddl.org/ or http://www.fisd.net/
-->

<xsd:schema xmlns:mddl="http://www.mddl.org/mddl/2.5-beta"
            xmlns:mdref="http://www.mddl.org/mddl/2.5-beta/ref"
            xmlns:xlink="http://www.w3.org/1999/xlink"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://www.mddl.org/mddl/2.5-beta"
            elementFormDefault="qualified"
            attributeFormDefault="unqualified">
   <xsd:import namespace="http://www.mddl.org/mddl/2.5-beta/ref"
               schemaLocation="mddlref-2.5-beta.xsd"/>
   <xsd:import namespace="http://www.w3.org/1999/xlink" schemaLocation="mddllink-2.5-beta.xsd"/>
   <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
   <xsd:group name="Acceptance.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:acceptanceGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:minVal"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:maxVal"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:rangeType"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="acceptanceGroup" type="mddl:Acceptance"/>
   <xsd:complexType name="Acceptance">
      <xsd:annotation>
         <xsd:documentation>
            <p>The range of acceptance (% of outstanding or % of overall) of the offer to deem the event successful.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>maxVal minVal rangeType</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType code codeType dayOfWeek dayRuleType description duration end endTime hours marketStatusType name nameRef ordinalDay period periodType previousCode rank recurring role start startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Acceptance.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="acceptance" type="mddl:Acceptance">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>maxVal minVal rangeType</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType code codeType dayOfWeek dayRuleType description duration end endTime hours marketStatusType name nameRef ordinalDay period periodType previousCode rank recurring role start startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Accretion.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:accretionGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:accretionBehavior"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:accretionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:firstAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:firstDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:lastAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:lastDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextPeriod"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:penultimateAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:penultimateDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:schedule"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="AccretionGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Indicates that instruments increases in value over time - perhaps to maturity.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>accretionBehavior accretionType firstAmount firstDate lastAmount lastDate nextAmount nextDate nextPeriod penultimateAmount penultimateDate period schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime dayRuleType duration end firstEvent fraction fractionHandlingType indicatorsType lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType recurring scheduleEvent scheduleType start valuationRef valuationType code codeType dayOfWeek description endTime eventElement eventValue hours marketStatusType name nameRef ordinalDay paymentDelayType previousCode rank role startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Accretion.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="accretionGroup" type="mddl:AccretionGroup"/>
   <xsd:complexType name="Accretion" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Indicates that instruments increases in value over time - perhaps to maturity.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>accretionBehavior accretionType firstAmount firstDate lastAmount lastDate nextAmount nextDate nextPeriod penultimateAmount penultimateDate period schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime dayRuleType duration end firstEvent fraction fractionHandlingType indicatorsType lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType recurring scheduleEvent scheduleType start valuationRef valuationType code codeType dayOfWeek description endTime eventElement eventValue hours marketStatusType name nameRef ordinalDay paymentDelayType previousCode rank role startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdBoolean"/>
         <xsd:group ref="mddl:Accretion.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="accretion" type="mddl:Accretion">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>accretionBehavior accretionType firstAmount firstDate lastAmount lastDate nextAmount nextDate nextPeriod penultimateAmount penultimateDate period schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime dayRuleType duration end firstEvent fraction fractionHandlingType indicatorsType lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType recurring scheduleEvent scheduleType start valuationRef valuationType code codeType dayOfWeek description endTime eventElement eventValue hours marketStatusType name nameRef ordinalDay paymentDelayType previousCode rank role startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="AccretionBehavior.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:accretionBehaviorGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="AccretionBehaviorGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Indication of behavior of the accretion rate of the life of a debt instrument.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Rate">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:AccretionBehavior.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="accretionBehaviorGroup" type="mddl:AccretionBehaviorGroup"/>
   <xsd:complexType name="AccretionBehavior" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Indication of behavior of the accretion rate of the life of a debt instrument.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Rate">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:AccretionBehavior.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="accretionBehavior" type="mddl:AccretionBehavior">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Rate">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="AccretionType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying type of basic accretion schedule or formula.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/accretionType.xml"/>
   </xsd:complexType>
   <xsd:element name="accretionType" type="mddl:AccretionType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Accrual.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:accrualGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:accrualBasis"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:daysInMonth"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:daysInYear"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="accrualGroup" type="mddl:Accrual"/>
   <xsd:complexType name="Accrual">
      <xsd:annotation>
         <xsd:documentation>
            <p>Container for the parameters of the accrual (start of interest calculation)  "Period" indicates start of accrual.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>accrualBasis daysInMonth daysInYear period</mddl:applicable-properties>
            <mddl:inheritable-properties>accrualBasisType accrualConventionType dayRuleType duration end indicatorsType periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Accrual.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="accrual" type="mddl:Accrual">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>accrualBasis daysInMonth daysInYear period</mddl:applicable-properties>
            <mddl:inheritable-properties>accrualBasisType accrualConventionType dayRuleType duration end indicatorsType periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="AccrualBasis.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:accrualBasisType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:accrualConventionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="AccrualBasis">
      <xsd:annotation>
         <xsd:documentation>
            <p>The conventions on which accrual calculations are based.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>accrualBasisType accrualConventionType indicatorsType</mddl:applicable-properties>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:AccrualBasis.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="accrualBasis" type="mddl:AccrualBasis">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>accrualBasisType accrualConventionType indicatorsType</mddl:applicable-properties>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="AccrualBasisType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying method for determining "days in year" and "days in month" of accrual calculation.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/accrualBasisType.xml"/>
   </xsd:complexType>
   <xsd:element name="accrualBasisType" type="mddl:AccrualBasisType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="AccrualConventionType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying type of accrual convention (e.g. ISDA, ISMA, AFB) that is relevant to the basis.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/accrualConventionType.xml"/>
   </xsd:complexType>
   <xsd:element name="accrualConventionType" type="mddl:AccrualConventionType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Address.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:rank"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="Address" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Street/Mailing address of referenced item - multiple address lines (if needed) are sequenced by "rank".  THIS ELEMENT UNDER REVIEW FOR EXTENSION.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>rank</mddl:applicable-properties>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:Address.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="address" type="mddl:Address">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>rank</mddl:applicable-properties>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="AgencyRankings.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:agencyRankingsGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:ranking"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="agencyRankingsGroup" type="mddl:AgencyRankings"/>
   <xsd:complexType name="AgencyRankings">
      <xsd:annotation>
         <xsd:documentation>
            <p>Rankings (generally applied to equity instruments) of quality or financial strength as determined by a rankings agency.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>ranking</mddl:applicable-properties>
            <mddl:inheritable-properties>code name period previousCode codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:AgencyRankings.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="agencyRankings" type="mddl:AgencyRankings">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>ranking</mddl:applicable-properties>
            <mddl:inheritable-properties>code name period previousCode codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="AgencyRatings.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:agencyRatingsGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:rating"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="agencyRatingsGroup" type="mddl:AgencyRatings"/>
   <xsd:complexType name="AgencyRatings">
      <xsd:annotation>
         <xsd:documentation>
            <p>Ratings (generally applied to debt instruments) of quality or financial strength as determined by a ratings agency.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>rating</mddl:applicable-properties>
            <mddl:inheritable-properties>code name period previousCode ratingType codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:AgencyRatings.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="agencyRatings" type="mddl:AgencyRatings">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>rating</mddl:applicable-properties>
            <mddl:inheritable-properties>code name period previousCode ratingType codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Agent.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:agentGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:agentType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:code"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:name"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousCode"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:location"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:partyStatusType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:entityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:industryIdentifier"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="agentGroup" type="mddl:Agent"/>
   <xsd:complexType name="Agent">
      <xsd:annotation>
         <xsd:documentation>
            <p>An individual or organization empowered to act for or represent another individual or organization.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>agentType code entityType industryIdentifier location name partyStatusType previousCode</mddl:applicable-properties>
            <mddl:inheritable-properties>address codeType country description locationType municipality nameRef period postalCode rank region role stateOrProvince telephone website dayOfWeek dayRuleType duration end endTime hours ordinalDay periodType recurring start startTime telephoneType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Agent.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="agent" type="mddl:Agent">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>agentType code entityType industryIdentifier location name partyStatusType previousCode</mddl:applicable-properties>
            <mddl:inheritable-properties>address codeType country description locationType municipality nameRef period postalCode rank region role stateOrProvince telephone website dayOfWeek dayRuleType duration end endTime hours ordinalDay periodType recurring start startTime telephoneType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="AgentType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying the activity or function of the agent.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/agentType.xml"/>
   </xsd:complexType>
   <xsd:element name="agentType" type="mddl:AgentType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="AgreedRestrictions" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Restrictions agreed in a covenant.  Open text providing descriptive details of the restrictions.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="agreedRestrictions" type="mddl:AgreedRestrictions">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="AllowedIndebtedness" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Maximum debt load to remain within covenant restrictions.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="allowedIndebtedness" type="mddl:AllowedIndebtedness">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Amortization.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:amortizationGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:amortizationBehavior"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:amortizationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:firstAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:firstDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:lastAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:lastDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextPeriod"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:penultimateAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:penultimateDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:schedule"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="AmortizationGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Indicates that repayment is made via regular principal and interest payments over time.  Schedule would be in ADDITION to schedules provided with interest and principal repayment items.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>amortizationBehavior amortizationType firstAmount firstDate lastAmount lastDate nextAmount nextDate nextPeriod penultimateAmount penultimateDate period schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime dayRuleType duration end firstEvent fraction fractionHandlingType indicatorsType lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType recurring scheduleEvent scheduleType start valuationRef valuationType code codeType dayOfWeek description endTime eventElement eventValue hours marketStatusType name nameRef ordinalDay paymentDelayType previousCode rank role startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Amortization.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="amortizationGroup" type="mddl:AmortizationGroup"/>
   <xsd:complexType name="Amortization" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Indicates that repayment is made via regular principal and interest payments over time.  Schedule would be in ADDITION to schedules provided with interest and principal repayment items.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>amortizationBehavior amortizationType firstAmount firstDate lastAmount lastDate nextAmount nextDate nextPeriod penultimateAmount penultimateDate period schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime dayRuleType duration end firstEvent fraction fractionHandlingType indicatorsType lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType recurring scheduleEvent scheduleType start valuationRef valuationType code codeType dayOfWeek description endTime eventElement eventValue hours marketStatusType name nameRef ordinalDay paymentDelayType previousCode rank role startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdBoolean"/>
         <xsd:group ref="mddl:Amortization.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="amortization" type="mddl:Amortization">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>amortizationBehavior amortizationType firstAmount firstDate lastAmount lastDate nextAmount nextDate nextPeriod penultimateAmount penultimateDate period schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime dayRuleType duration end firstEvent fraction fractionHandlingType indicatorsType lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType recurring scheduleEvent scheduleType start valuationRef valuationType code codeType dayOfWeek description endTime eventElement eventValue hours marketStatusType name nameRef ordinalDay paymentDelayType previousCode rank role startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="AmortizationBehavior.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:amortizationBehaviorGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="AmortizationBehaviorGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Indication of behavior of the amortization rate of the life of a debt instrument.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Rate">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:AmortizationBehavior.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="amortizationBehaviorGroup" type="mddl:AmortizationBehaviorGroup"/>
   <xsd:complexType name="AmortizationBehavior" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Indication of behavior of the amortization rate of the life of a debt instrument.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Rate">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:AmortizationBehavior.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="amortizationBehavior" type="mddl:AmortizationBehavior">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Rate">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="AmortizationType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying type of basic amortization schedule or formula.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/amortizationType.xml"/>
   </xsd:complexType>
   <xsd:element name="amortizationType" type="mddl:AmortizationType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="AmountOutstanding.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:amountOutstandingGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:amountOutstandingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:crossrate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currency"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="AmountOutstandingGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Amount of debt or number of shares outstanding.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Amount">property</mddl:schema-classification>
            <mddl:applicable-properties>amountOutstandingType calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:AmountOutstanding.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="amountOutstandingGroup" type="mddl:AmountOutstandingGroup"/>
   <xsd:complexType name="AmountOutstanding" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Amount of debt or number of shares outstanding.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Amount">property</mddl:schema-classification>
            <mddl:applicable-properties>amountOutstandingType calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:AmountOutstanding.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="amountOutstanding" type="mddl:AmountOutstanding">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Amount">property</mddl:schema-classification>
            <mddl:applicable-properties>amountOutstandingType calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="AmountOutstandingType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary defining the type of shares/value counted in "amountOutstanding".</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/amountOutstandingType.xml"/>
   </xsd:complexType>
   <xsd:element name="amountOutstandingType" type="mddl:AmountOutstandingType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="Analytics">
      <xsd:annotation>
         <xsd:documentation>
            <p>Container for various analytic values to aid in analysis of instrument.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="analytics" type="mddl:Analytics">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="AnnouncementDate.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:announcementDateGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dayRuleType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="AnnouncementDateGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Date (and maybe time) instrument (was or will be) announced to the public.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="DateTime">property</mddl:schema-classification>
            <mddl:applicable-properties>dayRuleType indicatorsType marketCenter</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode codeType dayOfWeek description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:AnnouncementDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="announcementDateGroup" type="mddl:AnnouncementDateGroup"/>
   <xsd:complexType name="AnnouncementDate" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Date (and maybe time) instrument (was or will be) announced to the public.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="DateTime">property</mddl:schema-classification>
            <mddl:applicable-properties>dayRuleType indicatorsType marketCenter</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode codeType dayOfWeek description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDateTime"/>
         <xsd:group ref="mddl:AnnouncementDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="announcementDate" type="mddl:AnnouncementDate">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="DateTime">property</mddl:schema-classification>
            <mddl:applicable-properties>dayRuleType indicatorsType marketCenter</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode codeType dayOfWeek description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="AnnuityClass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Annuity Class - Collective Investment Vehicle Domain.  Annuity.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>ask bid dividend industryIdentifier instrumentIdentifier issueData mid orderbook spread</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark caeType calculationType change changeDirection changeType clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue extendible extendibleDate faceValue firstAmount firstDate firstEvent formula fraction fractionHandlingType governingLaw high hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType last lastAmount lastCAE lastDate lastEvent lifetime linked liquidationStatusType location locationType low mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType offerType open openType orderbookType ordinalDay partiesInvolved partyStatusType paymentDelay paymentDelayType penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory resetFrequency resetFrequencyType role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlementDate settlementType size start startTime stateOrProvince targetMarketType taxation taxExempt taxType telephone telephoneType terms timezone tradingRestrictionsType tranche transferSize underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType votingRightsType website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:annuityClassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:dividend"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:industryIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:instrumentIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issueData"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:ask"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:bid"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:mid"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:orderbook"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:spread"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="annuityClassGroup" type="mddl:AnnuityClass"/>
   <xsd:element name="annuityClass" type="mddl:AnnuityClass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>ask bid dividend industryIdentifier instrumentIdentifier issueData mid orderbook spread</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark caeType calculationType change changeDirection changeType clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue extendible extendibleDate faceValue firstAmount firstDate firstEvent formula fraction fractionHandlingType governingLaw high hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType last lastAmount lastCAE lastDate lastEvent lifetime linked liquidationStatusType location locationType low mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType offerType open openType orderbookType ordinalDay partiesInvolved partyStatusType paymentDelay paymentDelayType penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory resetFrequency resetFrequencyType role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlementDate settlementType size start startTime stateOrProvince targetMarketType taxation taxExempt taxType telephone telephoneType terms timezone tradingRestrictionsType tranche transferSize underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType votingRightsType website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Ask.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:askGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:last"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketIdentifier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:change"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:close"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:high"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:low"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:open"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:rank"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:size"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:yield"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="askGroup" type="mddl:Ask"/>
   <xsd:complexType name="Ask">
      <xsd:annotation>
         <xsd:documentation>
            <p>Container to denote data associated with an Ask Quote (aka "Offer").</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>change close high last low marketIdentifier open rank size yield</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType changeDirection changeType closeType code crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter marketConditions marketStatusType marketType multiplier name openType period previousCode previousDateTime quantityDescriptionType quantityType unitSize unitType valuationRef valuationType yieldType codeType dayOfWeek dayRuleType days delayFactor description duration end endTime hours nameRef ordinalDay periodType recurring role start startTime timezone valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Ask.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="ask" type="mddl:Ask">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>change close high last low marketIdentifier open rank size yield</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType changeDirection changeType closeType code crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter marketConditions marketStatusType marketType multiplier name openType period previousCode previousDateTime quantityDescriptionType quantityType unitSize unitType valuationRef valuationType yieldType codeType dayOfWeek dayRuleType days delayFactor description duration end endTime hours nameRef ordinalDay periodType recurring role start startTime timezone valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="AuctionDate.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:auctionDateGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dayRuleType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="AuctionDateGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Date (and/or time) of issue auction.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="DateTime">property</mddl:schema-classification>
            <mddl:applicable-properties>dayRuleType indicatorsType marketCenter</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode codeType dayOfWeek description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:AuctionDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="auctionDateGroup" type="mddl:AuctionDateGroup"/>
   <xsd:complexType name="AuctionDate" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Date (and/or time) of issue auction.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="DateTime">property</mddl:schema-classification>
            <mddl:applicable-properties>dayRuleType indicatorsType marketCenter</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode codeType dayOfWeek description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDateTime"/>
         <xsd:group ref="mddl:AuctionDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="auctionDate" type="mddl:AuctionDate">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="DateTime">property</mddl:schema-classification>
            <mddl:applicable-properties>dayRuleType indicatorsType marketCenter</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode codeType dayOfWeek description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="Background" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Descriptive background of security.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="background" type="mddl:Background">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="BackLoad.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:backLoadGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:crossrate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currency"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="BackLoadGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>backLoad.  TO BE REMOVED PENDING VERIFICATION.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:BackLoad.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="backLoadGroup" type="mddl:BackLoadGroup"/>
   <xsd:complexType name="BackLoad" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>backLoad.  TO BE REMOVED PENDING VERIFICATION.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:BackLoad.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="backLoad" type="mddl:BackLoad">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="BaseValue.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:baseValueGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:unitType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="BaseValueGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Value added to the component instrument's multiplier modified value in the basic formula (see component).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Quantity">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType unitType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:BaseValue.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="baseValueGroup" type="mddl:BaseValueGroup"/>
   <xsd:complexType name="BaseValue" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Value added to the component instrument's multiplier modified value in the basic formula (see component).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Quantity">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType unitType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:BaseValue.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="baseValue" type="mddl:BaseValue">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Quantity">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType unitType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Benchmark.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:benchmarkGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:code"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:name"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousCode"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:tranche"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="benchmarkGroup" type="mddl:Benchmark"/>
   <xsd:complexType name="Benchmark">
      <xsd:annotation>
         <xsd:documentation>
            <p>Identifies the instrument for use as the benchmark or reference.  The identifier used here is the same that would be used in an instrumentIdentifier.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>code name previousCode tranche</mddl:applicable-properties>
            <mddl:inheritable-properties>codeType description nameRef period rank role dayOfWeek dayRuleType duration end endTime hours ordinalDay periodType recurring start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Benchmark.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="benchmark" type="mddl:Benchmark">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>code name previousCode tranche</mddl:applicable-properties>
            <mddl:inheritable-properties>codeType description nameRef period rank role dayOfWeek dayRuleType duration end endTime hours ordinalDay periodType recurring start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="BenchmarkStrategy" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>A textual description of the strategy applied to the management of the fund.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="benchmarkStrategy" type="mddl:BenchmarkStrategy">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Bid.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:bidGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:last"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketIdentifier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:change"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:close"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:high"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:low"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:open"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:rank"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:size"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:yield"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="bidGroup" type="mddl:Bid"/>
   <xsd:complexType name="Bid">
      <xsd:annotation>
         <xsd:documentation>
            <p>This element is a container to denote data associated with a Bid Quote.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>change close high last low marketIdentifier open rank size yield</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType changeDirection changeType closeType code crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter marketConditions marketStatusType marketType multiplier name openType period previousCode previousDateTime quantityDescriptionType quantityType unitSize unitType valuationRef valuationType yieldType codeType dayOfWeek dayRuleType days delayFactor description duration end endTime hours nameRef ordinalDay periodType recurring role start startTime timezone valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Bid.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="bid" type="mddl:Bid">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>change close high last low marketIdentifier open rank size yield</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType changeDirection changeType closeType code crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter marketConditions marketStatusType marketType multiplier name openType period previousCode previousDateTime quantityDescriptionType quantityType unitSize unitType valuationRef valuationType yieldType codeType dayOfWeek dayRuleType days delayFactor description duration end endTime hours nameRef ordinalDay periodType recurring role start startTime timezone valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Blocking.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:blockingGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="BlockingGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Denotes date/time when blocking is terminated.  If a period is used, blocking is the same as period/end.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Blocking.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="blockingGroup" type="mddl:BlockingGroup"/>
   <xsd:complexType name="Blocking" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Denotes date/time when blocking is terminated.  If a period is used, blocking is the same as period/end.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDateTime"/>
         <xsd:group ref="mddl:Blocking.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="blocking" type="mddl:Blocking">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="BusinessClass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Business Class - Entity Domain.  Any business for general description - including those that might otherwise be referenced as issuers and/or counterparties.  Note that an Issuer as well as a Counterparty are special instance of a Business.  The Business Class is used for all general descriptions while the Issuer and Counterparty classes are used for specific cases and describe data related to those cases.  The Business Class generally should be used for all entities that would be identified with an International Business Entity Identifier (IBEI).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>comment creationDate dateTime entityIdentifier entityStatusType jurisdiction location period replacementEntity replacementType reviewDate sponsor</mddl:applicable-properties>
            <mddl:inheritable-properties>address code codeType country dayOfWeek dayRuleType description duration end endTime entityType hours indicatorsType industryIdentifier jurisdictionType locationType marketCenter marketStatusType municipality name nameRef ordinalDay partyStatusType periodType postalCode previousCode rank recurring region registrationDate role rulesType start startTime stateOrProvince taxation taxExempt taxType telephone telephoneType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:businessClassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:comment"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:entityIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:sponsor"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:period"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:replacementEntity"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:replacementType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:creationDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:dateTime"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:reviewDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:entityStatusType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:location"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:jurisdiction"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="businessClassGroup" type="mddl:BusinessClass"/>
   <xsd:element name="businessClass" type="mddl:BusinessClass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>comment creationDate dateTime entityIdentifier entityStatusType jurisdiction location period replacementEntity replacementType reviewDate sponsor</mddl:applicable-properties>
            <mddl:inheritable-properties>address code codeType country dayOfWeek dayRuleType description duration end endTime entityType hours indicatorsType industryIdentifier jurisdictionType locationType marketCenter marketStatusType municipality name nameRef ordinalDay partyStatusType periodType postalCode previousCode rank recurring region registrationDate role rulesType start startTime stateOrProvince taxation taxExempt taxType telephone telephoneType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CaeDomain">
      <xsd:annotation>
         <xsd:documentation>
            <p>Corporate Actions and Events Domain.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>domain</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties>acceptance accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark blocking caeDate caeIdentifier caeLifecycleType caeStatus caeType calculationType callable callableType callConditionType capped ceaseDate cleanup clearingHouse clearingProcess clearingSettlement clearingSystem closingDate closingDateType code codeType collateral collateralType comment componentIdentifier componentValue compounding compulsory confirmationDate convertible convertibleType country covenant crossrate currency dataValueChange dataValueNew dataValueOld dateTime dayOfWeek dayRuleType days daysInMonth daysInYear deadlineDate deadlineType debtIndicatorsType declining defaultClause delayFactor deliver delivery deliveryType delta depositoryName depositorySystem description determination determinationSource diary dividendYield dividendYieldType documentURL duration effectiveDate electionPeriod eligibility end endTime entitlementDate entityIdentifier entityType eventElement eventValue exercisePrice exerciseRights exerciseRightsType extendible extendibleDate faceValue fieldName firstAmount firstDate firstEvent formula fraction fractionHandlingType fullOffer governingLaw hours inclusionType incomeType incremental indicatorsType industryIdentifier instrumentData instrumentFormType instrumentIdentifier instrumentStatusType instrumentType interestPayment interestPaymentContainer interestRate interestRateContainer issueAmount issueData issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType lastAmount lastCAE lastDate lastEvent lifetime limited linked liquidationStatusType location locationType makeWholeCall mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal meetingDate meetingType minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType notification offer offerType ordinalDay partial partiesInvolved partyStatusType payableInKind payment paymentDate paymentDelay paymentDelayType paymentFrequency penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime principalProtection principalRepayment principalRepaymentContainer programType proofType putable putableType putConditionType quantityDescriptionType quantityType quotation rangeType rank rate rateChangeType rateMethodChange rateSpread receive recordDate recordingDate recurring redeemable redemption redemptionType refrainFromActs region registrationDate registrationStatusType regulationAct regulatory regulatoryDate relatedTo relationshipType relationshipValid resetFrequency resetFrequencyType restrictionsExist role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType selection selectionAmount selectionItem settlementDate settlementType sinkable sinkableComputationType sinkableType size softCall specialRedemption start startTime stateOrProvince targetMarketType taxation taxExempt taxReasons taxType telephone telephoneType terms timezone tradingRestrictionsType tranche transferSize underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType votingRightsType website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeDomainGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:corporateActionsClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Any corporate action event - initiated by the issuing company, duly authorized agent, market, shareholders, or governmental agency - bringing material change to a stock, issue, or other instrument.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:corporateEventsClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>All non "corporate action" events NOT materially effecting change (e.g. announcements of meetings and other events) including events related to the issuer (as compared to corporate actions that affect the issue).  There may be a relationship between a Corporate Event and several resultant Corporate Actions.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="caeDomainGroup" type="mddl:CaeDomain"/>
   <xsd:element name="caeDomain" type="mddl:CaeDomain">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>domain</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties>acceptance accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark blocking caeDate caeIdentifier caeLifecycleType caeStatus caeType calculationType callable callableType callConditionType capped ceaseDate cleanup clearingHouse clearingProcess clearingSettlement clearingSystem closingDate closingDateType code codeType collateral collateralType comment componentIdentifier componentValue compounding compulsory confirmationDate convertible convertibleType country covenant crossrate currency dataValueChange dataValueNew dataValueOld dateTime dayOfWeek dayRuleType days daysInMonth daysInYear deadlineDate deadlineType debtIndicatorsType declining defaultClause delayFactor deliver delivery deliveryType delta depositoryName depositorySystem description determination determinationSource diary dividendYield dividendYieldType documentURL duration effectiveDate electionPeriod eligibility end endTime entitlementDate entityIdentifier entityType eventElement eventValue exercisePrice exerciseRights exerciseRightsType extendible extendibleDate faceValue fieldName firstAmount firstDate firstEvent formula fraction fractionHandlingType fullOffer governingLaw hours inclusionType incomeType incremental indicatorsType industryIdentifier instrumentData instrumentFormType instrumentIdentifier instrumentStatusType instrumentType interestPayment interestPaymentContainer interestRate interestRateContainer issueAmount issueData issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType lastAmount lastCAE lastDate lastEvent lifetime limited linked liquidationStatusType location locationType makeWholeCall mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal meetingDate meetingType minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType notification offer offerType ordinalDay partial partiesInvolved partyStatusType payableInKind payment paymentDate paymentDelay paymentDelayType paymentFrequency penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime principalProtection principalRepayment principalRepaymentContainer programType proofType putable putableType putConditionType quantityDescriptionType quantityType quotation rangeType rank rate rateChangeType rateMethodChange rateSpread receive recordDate recordingDate recurring redeemable redemption redemptionType refrainFromActs region registrationDate registrationStatusType regulationAct regulatory regulatoryDate relatedTo relationshipType relationshipValid resetFrequency resetFrequencyType restrictionsExist role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType selection selectionAmount selectionItem settlementDate settlementType sinkable sinkableComputationType sinkableType size softCall specialRedemption start startTime stateOrProvince targetMarketType taxation taxExempt taxReasons taxType telephone telephoneType terms timezone tradingRestrictionsType tranche transferSize underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType votingRightsType website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="CaeDate.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:caeDateGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CaeDateGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>The date/time of the transmission of the cae.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:CaeDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="caeDateGroup" type="mddl:CaeDateGroup"/>
   <xsd:complexType name="CaeDate" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The date/time of the transmission of the cae.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDateTime"/>
         <xsd:group ref="mddl:CaeDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="caeDate" type="mddl:CaeDate">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CaeIdentifier" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Publishing entity (source) provided unique identifier for the CAE.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="caeIdentifier" type="mddl:CaeIdentifier">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CaeLifecycleType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying the logical flow model for handling the corporate action or event.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/caeLifecycleType.xml"/>
   </xsd:complexType>
   <xsd:element name="caeLifecycleType" type="mddl:CaeLifecycleType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CaeStatus" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary with valid status codes for the corporate action.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/caeStatus.xml"/>
   </xsd:complexType>
   <xsd:element name="caeStatus" type="mddl:CaeStatus">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CaeType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary denoting the type of corporate action or event of reference.  Also used within "instrumentData" and "placeOfListing" to identify the LAST RELEVANT CAE that took place on this instrument/market.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/caeType.xml"/>
   </xsd:complexType>
   <xsd:element name="caeType" type="mddl:CaeType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CalculationType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying the method used for calculation (e.g. average, cumulative...) of a value.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/calculationType.xml"/>
   </xsd:complexType>
   <xsd:element name="calculationType" type="mddl:CalculationType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Callable.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:callableGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:callableType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:callConditionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:cleanup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:declining"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:exerciseRights"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:makeWholeCall"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:notification"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:partial"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:firstAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:firstDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:lastAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:lastDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextPeriod"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:penultimateAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:penultimateDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:schedule"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:specialRedemption"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:softCall"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:taxReasons"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CallableGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Indicates that the instrument is subject to being redeemed at the demand of the issuer (children identify the parameters of the callable status).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>callableType callConditionType cleanup declining exerciseRights firstAmount firstDate lastAmount lastDate makeWholeCall nextAmount nextDate nextPeriod notification partial penultimateAmount penultimateDate period schedule softCall specialRedemption taxReasons</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime dayRuleType diary duration end exerciseRightsType firstEvent fraction fractionHandlingType indicatorsType instrumentIdentifier lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType recurring scheduleEvent scheduleType start valuationRef valuationType background caeType code codeType comment country dayOfWeek days delayFactor description endTime eventElement eventValue hours inclusionType instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE marketConditions marketIdentifier marketStatusType marketType name nameRef ordinalDay paymentDelayType previousCode rank role scopeType segmentIdentifier segmentType startTime timezone tradingRestrictionsType tranche valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Callable.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="callableGroup" type="mddl:CallableGroup"/>
   <xsd:complexType name="Callable" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Indicates that the instrument is subject to being redeemed at the demand of the issuer (children identify the parameters of the callable status).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>callableType callConditionType cleanup declining exerciseRights firstAmount firstDate lastAmount lastDate makeWholeCall nextAmount nextDate nextPeriod notification partial penultimateAmount penultimateDate period schedule softCall specialRedemption taxReasons</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime dayRuleType diary duration end exerciseRightsType firstEvent fraction fractionHandlingType indicatorsType instrumentIdentifier lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType recurring scheduleEvent scheduleType start valuationRef valuationType background caeType code codeType comment country dayOfWeek days delayFactor description endTime eventElement eventValue hours inclusionType instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE marketConditions marketIdentifier marketStatusType marketType name nameRef ordinalDay paymentDelayType previousCode rank role scopeType segmentIdentifier segmentType startTime timezone tradingRestrictionsType tranche valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdBoolean"/>
         <xsd:group ref="mddl:Callable.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="callable" type="mddl:Callable">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>callableType callConditionType cleanup declining exerciseRights firstAmount firstDate lastAmount lastDate makeWholeCall nextAmount nextDate nextPeriod notification partial penultimateAmount penultimateDate period schedule softCall specialRedemption taxReasons</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime dayRuleType diary duration end exerciseRightsType firstEvent fraction fractionHandlingType indicatorsType instrumentIdentifier lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType recurring scheduleEvent scheduleType start valuationRef valuationType background caeType code codeType comment country dayOfWeek days delayFactor description endTime eventElement eventValue hours inclusionType instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE marketConditions marketIdentifier marketStatusType marketType name nameRef ordinalDay paymentDelayType previousCode rank role scopeType segmentIdentifier segmentType startTime timezone tradingRestrictionsType tranche valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CallableType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying the type of call or call conventions applicable.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/callableType.xml"/>
   </xsd:complexType>
   <xsd:element name="callableType" type="mddl:CallableType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CallConditionType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary listing the specific conditions on a call.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/callConditionType.xml"/>
   </xsd:complexType>
   <xsd:element name="callConditionType" type="mddl:CallConditionType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CapitalizationType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying types of instruments used in capitalization determination.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/capitalizationType.xml"/>
   </xsd:complexType>
   <xsd:element name="capitalizationType" type="mddl:CapitalizationType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Capped.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:cappedGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:crossrate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currency"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CappedGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>The limit or upper bound on the referenced price or amount.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Capped.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="cappedGroup" type="mddl:CappedGroup"/>
   <xsd:complexType name="Capped" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The limit or upper bound on the referenced price or amount.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:Capped.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="capped" type="mddl:Capped">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CashDomain">
      <xsd:annotation>
         <xsd:documentation>
            <p>Cash Domain.  Placeholder for basic tender and monetary instruments.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>domain</mddl:schema-classification>
            <mddl:applicable-properties>instrumentIdentifier</mddl:applicable-properties>
            <mddl:inheritable-properties>background caeType calculationType code codeType comment country crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime fraction fractionHandlingType hours inclusionType indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier name nameRef ordinalDay period periodType previousCode previousDateTime quantityDescriptionType quantityType rank recurring role scopeType segmentIdentifier segmentType start startTime timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:cashDomainGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:instrumentIdentifier"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="cashDomainGroup" type="mddl:CashDomain"/>
   <xsd:element name="cashDomain" type="mddl:CashDomain">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>domain</mddl:schema-classification>
            <mddl:applicable-properties>instrumentIdentifier</mddl:applicable-properties>
            <mddl:inheritable-properties>background caeType calculationType code codeType comment country crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime fraction fractionHandlingType hours inclusionType indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier name nameRef ordinalDay period periodType previousCode previousDateTime quantityDescriptionType quantityType rank recurring role scopeType segmentIdentifier segmentType start startTime timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="CeaseDate.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:ceaseDateGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:crossrate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currency"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CeaseDateGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>The date/time when trading, or other activity, ceases.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:CeaseDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="ceaseDateGroup" type="mddl:CeaseDateGroup"/>
   <xsd:complexType name="CeaseDate" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The date/time when trading, or other activity, ceases.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDateTime"/>
         <xsd:group ref="mddl:CeaseDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="ceaseDate" type="mddl:CeaseDate">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CertificateClass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Derivative Domain - Certificate Class.  Certificates derived from other issues.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>ask bid callable convertible exercisePrice firstAmount firstDate industryIdentifier instrumentIdentifier issueData lastAmount lastDate mid nextAmount nextDate nextPeriod orderbook penultimateAmount penultimateDate period putable redeemable schedule spread trade underlying underlyingCount</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark caeIdentifier caeType calculationType callableType callConditionType change changeDirection changeType cleanup clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding convertibleType country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType declining defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource diary dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue exerciseRights exerciseRightsType extendible extendibleDate faceValue firstEvent formula fraction fractionHandlingType governingLaw high hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType last lastCAE lastEvent lifetime limited linked liquidationStatusType location locationType low makeWholeCall mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextEvent nonFixedRate nonFixedRateType notification offerType open openType orderbookType ordinalDay partial partiesInvolved partyStatusType paymentDelay paymentDelayType periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType putableType putConditionType quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory relatedTo relationshipType relationshipValid resetFrequency resetFrequencyType role rulesType salesRestrictionsType scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlement settlementDate settlementType size softCall specialRedemption start startTime stateOrProvince targetMarketType taxation taxExempt taxReasons taxType telephone telephoneType terms tickDirection timezone tradingHaltedType tradingRestrictionsType tradingStatusType tranche transferSize turnover underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType volume volumeType votingRightsType vwap vwop website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:certificateClassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:trade"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:industryIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:instrumentIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issueData"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:ask"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:bid"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:mid"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:orderbook"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:spread"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:callable"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:convertible"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:exercisePrice"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:putable"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:redeemable"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:firstAmount"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:firstDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:lastAmount"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:lastDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:nextAmount"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:nextDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:nextPeriod"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:penultimateAmount"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:penultimateDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:schedule"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:period"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:underlying"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:underlyingCount"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="certificateClassGroup" type="mddl:CertificateClass"/>
   <xsd:element name="certificateClass" type="mddl:CertificateClass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>ask bid callable convertible exercisePrice firstAmount firstDate industryIdentifier instrumentIdentifier issueData lastAmount lastDate mid nextAmount nextDate nextPeriod orderbook penultimateAmount penultimateDate period putable redeemable schedule spread trade underlying underlyingCount</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark caeIdentifier caeType calculationType callableType callConditionType change changeDirection changeType cleanup clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding convertibleType country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType declining defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource diary dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue exerciseRights exerciseRightsType extendible extendibleDate faceValue firstEvent formula fraction fractionHandlingType governingLaw high hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType last lastCAE lastEvent lifetime limited linked liquidationStatusType location locationType low makeWholeCall mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextEvent nonFixedRate nonFixedRateType notification offerType open openType orderbookType ordinalDay partial partiesInvolved partyStatusType paymentDelay paymentDelayType periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType putableType putConditionType quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory relatedTo relationshipType relationshipValid resetFrequency resetFrequencyType role rulesType salesRestrictionsType scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlement settlementDate settlementType size softCall specialRedemption start startTime stateOrProvince targetMarketType taxation taxExempt taxReasons taxType telephone telephoneType terms tickDirection timezone tradingHaltedType tradingRestrictionsType tradingStatusType tranche transferSize turnover underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType volume volumeType votingRightsType vwap vwop website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Change.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:changeGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:changeDirection"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:changeType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:crossrate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currency"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="ChangeGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Denotes difference between this valuation and a previous valuation (per changeType).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType changeDirection changeType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier period previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code dayRuleType duration end marketStatusType name periodType previousCode recurring start valuationBase codeType dayOfWeek description endTime hours nameRef ordinalDay rank role startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Change.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="changeGroup" type="mddl:ChangeGroup"/>
   <xsd:complexType name="Change" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Denotes difference between this valuation and a previous valuation (per changeType).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType changeDirection changeType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier period previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code dayRuleType duration end marketStatusType name periodType previousCode recurring start valuationBase codeType dayOfWeek description endTime hours nameRef ordinalDay rank role startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:Change.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="change" type="mddl:Change">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType changeDirection changeType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier period previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code dayRuleType duration end marketStatusType name periodType previousCode recurring start valuationBase codeType dayOfWeek description endTime hours nameRef ordinalDay rank role startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="ChangeDirection" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary showing relative direction of last change.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/direction.xml"/>
   </xsd:complexType>
   <xsd:element name="changeDirection" type="mddl:ChangeDirection">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="ChangeType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary indicating base value to which "change" is referenced.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/changeType.xml"/>
   </xsd:complexType>
   <xsd:element name="changeType" type="mddl:ChangeType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CivDomain">
      <xsd:annotation>
         <xsd:documentation>
            <p>Collective Investment Vehicles Domain.  A CIV represents shares in an asset or assets.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>domain</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties>ask bid dividend industryIdentifier instrumentIdentifier issueData mid orderbook spread accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background backLoad baseValue benchmark benchmarkStrategy caeType calculationType change changeDirection changeType clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource distributionType dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue extendible extendibleDate faceValue firstAmount firstDate firstDealingDate firstEvent firstSettlementDate formula fraction fractionHandlingType frontLoad fundStrategyType governingLaw high hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer investingRestrictions investingStyle investingTechniques issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType last lastAmount lastCAE lastDate lastEvent lifetime linked liquidationStatusType location locationType low mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef nav negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType numberHolders objective objectiveType offerType open openType orderbookType ordinalDay partiesInvolved partyStatusType paymentDelay paymentDelayType paymentFrequency penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType purchasingMinimums qualifiedPlans quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory resetFrequency resetFrequencyType role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType session sessionStatusType settlement settlementDate settlementType size start startTime stateOrProvince targetMarketType taxation taxExempt taxType telephone telephoneType terms tickDirection timezone tradingHaltedType tradingRestrictionsType tradingStatusType tranche transferSize turnover underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType volatility volatilityCalculationType volatilityType volume volumeType votingRightsType vwap vwop website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:civDomainGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:annuityClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Annuity Class - Collective Investment Vehicle Domain.  Annuity.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:fundClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Fund Class - Collective Investment Vehicle Domain.  Fund.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:trustClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Trust Class - CIV Domain.  Trust.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="civDomainGroup" type="mddl:CivDomain"/>
   <xsd:element name="civDomain" type="mddl:CivDomain">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>domain</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties>ask bid dividend industryIdentifier instrumentIdentifier issueData mid orderbook spread accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background backLoad baseValue benchmark benchmarkStrategy caeType calculationType change changeDirection changeType clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource distributionType dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue extendible extendibleDate faceValue firstAmount firstDate firstDealingDate firstEvent firstSettlementDate formula fraction fractionHandlingType frontLoad fundStrategyType governingLaw high hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer investingRestrictions investingStyle investingTechniques issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType last lastAmount lastCAE lastDate lastEvent lifetime linked liquidationStatusType location locationType low mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef nav negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType numberHolders objective objectiveType offerType open openType orderbookType ordinalDay partiesInvolved partyStatusType paymentDelay paymentDelayType paymentFrequency penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType purchasingMinimums qualifiedPlans quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory resetFrequency resetFrequencyType role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType session sessionStatusType settlement settlementDate settlementType size start startTime stateOrProvince targetMarketType taxation taxExempt taxType telephone telephoneType terms tickDirection timezone tradingHaltedType tradingRestrictionsType tradingStatusType tranche transferSize turnover underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType volatility volatilityCalculationType volatilityType volume volumeType votingRightsType vwap vwop website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Cleanup.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:cleanupGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:instrumentIdentifier"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CleanupGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Exercisable when less than this quantity or percentage of a debt or debt pool remains.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Quantity">property</mddl:schema-classification>
            <mddl:applicable-properties>instrumentIdentifier</mddl:applicable-properties>
            <mddl:inheritable-properties>code country instrumentData instrumentStatusType marketIdentifier name previousCode scopeType segmentIdentifier tranche background caeType calculationType codeType comment crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime fraction fractionHandlingType hours inclusionType indicatorsType instrumentFormType instrumentType lastCAE marketCenter marketConditions marketStatusType marketType multiplier nameRef ordinalDay period periodType previousDateTime quantityDescriptionType quantityType rank recurring role segmentType start startTime timezone tradingRestrictionsType valuationBase valuationRef valuationType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Cleanup.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="cleanupGroup" type="mddl:CleanupGroup"/>
   <xsd:complexType name="Cleanup" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Exercisable when less than this quantity or percentage of a debt or debt pool remains.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Quantity">property</mddl:schema-classification>
            <mddl:applicable-properties>instrumentIdentifier</mddl:applicable-properties>
            <mddl:inheritable-properties>code country instrumentData instrumentStatusType marketIdentifier name previousCode scopeType segmentIdentifier tranche background caeType calculationType codeType comment crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime fraction fractionHandlingType hours inclusionType indicatorsType instrumentFormType instrumentType lastCAE marketCenter marketConditions marketStatusType marketType multiplier nameRef ordinalDay period periodType previousDateTime quantityDescriptionType quantityType rank recurring role segmentType start startTime timezone tradingRestrictionsType valuationBase valuationRef valuationType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:Cleanup.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="cleanup" type="mddl:Cleanup">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Quantity">property</mddl:schema-classification>
            <mddl:applicable-properties>instrumentIdentifier</mddl:applicable-properties>
            <mddl:inheritable-properties>code country instrumentData instrumentStatusType marketIdentifier name previousCode scopeType segmentIdentifier tranche background caeType calculationType codeType comment crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime fraction fractionHandlingType hours inclusionType indicatorsType instrumentFormType instrumentType lastCAE marketCenter marketConditions marketStatusType marketType multiplier nameRef ordinalDay period periodType previousDateTime quantityDescriptionType quantityType rank recurring role segmentType start startTime timezone tradingRestrictionsType valuationBase valuationRef valuationType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="ClearingHouse.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:clearingHouseGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="ClearingHouseGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Central collection facility where participants maintain accounts against which the credits or debits are posted.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:ClearingHouse.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="clearingHouseGroup" type="mddl:ClearingHouseGroup"/>
   <xsd:complexType name="ClearingHouse" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Central collection facility where participants maintain accounts against which the credits or debits are posted.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:ClearingHouse.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="clearingHouse" type="mddl:ClearingHouse">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="ClearingProcess.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:clearingProcessGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="ClearingProcessGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Agreed process used for clearing functionality.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:ClearingProcess.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="clearingProcessGroup" type="mddl:ClearingProcessGroup"/>
   <xsd:complexType name="ClearingProcess" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Agreed process used for clearing functionality.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:ClearingProcess.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="clearingProcess" type="mddl:ClearingProcess">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="ClearingSettlement.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:clearingSettlementGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:clearingHouse"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:clearingSystem"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:clearingProcess"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currency"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:depositoryName"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:depositorySystem"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketIdentifier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:partiesInvolved"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:settlementType"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="clearingSettlementGroup" type="mddl:ClearingSettlement"/>
   <xsd:complexType name="ClearingSettlement">
      <xsd:annotation>
         <xsd:documentation>
            <p>Container to hold details of the settlement and clearing components.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>clearingHouse clearingProcess clearingSystem currency depositoryName depositorySystem marketIdentifier partiesInvolved settlementType</mddl:applicable-properties>
            <mddl:inheritable-properties>agent code marketCenter marketConditions marketStatusType marketType multiplier name period previousCode address agentType calculationType codeType country crossrate dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime entityType fraction fractionHandlingType hours indicatorsType industryIdentifier location locationType municipality nameRef ordinalDay partyStatusType periodType postalCode previousDateTime quantityDescriptionType quantityType rank recurring region role start startTime stateOrProvince telephone telephoneType timezone valuationBase valuationRef valuationType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:ClearingSettlement.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="clearingSettlement" type="mddl:ClearingSettlement">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>clearingHouse clearingProcess clearingSystem currency depositoryName depositorySystem marketIdentifier partiesInvolved settlementType</mddl:applicable-properties>
            <mddl:inheritable-properties>agent code marketCenter marketConditions marketStatusType marketType multiplier name period previousCode address agentType calculationType codeType country crossrate dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime entityType fraction fractionHandlingType hours indicatorsType industryIdentifier location locationType municipality nameRef ordinalDay partyStatusType periodType postalCode previousDateTime quantityDescriptionType quantityType rank recurring region role start startTime stateOrProvince telephone telephoneType timezone valuationBase valuationRef valuationType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="ClearingSystem.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:clearingSystemGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="ClearingSystemGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Automated system used for clearing functionality.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:ClearingSystem.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="clearingSystemGroup" type="mddl:ClearingSystemGroup"/>
   <xsd:complexType name="ClearingSystem" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Automated system used for clearing functionality.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:ClearingSystem.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="clearingSystem" type="mddl:ClearingSystem">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Close.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:closeGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:closeType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:crossrate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currency"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CloseGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>The final price as of market close (augmented by the "closeType").</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType closeType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Close.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="closeGroup" type="mddl:CloseGroup"/>
   <xsd:complexType name="Close" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The final price as of market close (augmented by the "closeType").</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType closeType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:Close.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="close" type="mddl:Close">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType closeType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CloseType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary indicating the method by which "close" is calculated (or not).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/closeType.xml"/>
   </xsd:complexType>
   <xsd:element name="closeType" type="mddl:CloseType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="ClosingDate.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:closingDateGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:closingDateType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dayRuleType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="ClosingDateGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>The date on which an item closes or is no longer available.  May be augmented by "closingDateType".</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="DateTime">property</mddl:schema-classification>
            <mddl:applicable-properties>closingDateType dayRuleType indicatorsType marketCenter</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode codeType dayOfWeek description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:ClosingDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="closingDateGroup" type="mddl:ClosingDateGroup"/>
   <xsd:complexType name="ClosingDate" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The date on which an item closes or is no longer available.  May be augmented by "closingDateType".</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="DateTime">property</mddl:schema-classification>
            <mddl:applicable-properties>closingDateType dayRuleType indicatorsType marketCenter</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode codeType dayOfWeek description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDateTime"/>
         <xsd:group ref="mddl:ClosingDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="closingDate" type="mddl:ClosingDate">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="DateTime">property</mddl:schema-classification>
            <mddl:applicable-properties>closingDateType dayRuleType indicatorsType marketCenter</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode codeType dayOfWeek description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="ClosingDateType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary indicating the type of "closingDate" (e.g. maturity, expiry).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/closingDateType.xml"/>
   </xsd:complexType>
   <xsd:element name="closingDateType" type="mddl:ClosingDateType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Code.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:codeGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:codeType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:description"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nameRef"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:rank"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CodeGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>The shorthand notation for a known item (e.g. country, exchange, instrument) from the appropriate Controlled Vocabulary or "scheme".</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>codeType description nameRef period rank</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Code.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="required"/>
   </xsd:complexType>
   <xsd:element name="codeGroup" type="mddl:CodeGroup"/>
   <xsd:complexType name="Code" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The shorthand notation for a known item (e.g. country, exchange, instrument) from the appropriate Controlled Vocabulary or "scheme".</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>codeType description nameRef period rank</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:Code.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="required"/>
   </xsd:complexType>
   <xsd:element name="code" type="mddl:Code">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>codeType description nameRef period rank</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CodeType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary indicating relative time ordering of this code (i.e. "previous" or "next").</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/codeType.xml"/>
   </xsd:complexType>
   <xsd:element name="codeType" type="mddl:CodeType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Collateral.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:collateralGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:collateralType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:maturity"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:interestRate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:underlying"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:underlyingCount"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="collateralGroup" type="mddl:Collateral"/>
   <xsd:complexType name="Collateral">
      <xsd:annotation>
         <xsd:documentation>
            <p>Container for the properties that describe the collateral behind a security.  This contains some of the same elements a security would - but generally the values have "weighted average" or similar indication.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>collateralType interestRate maturity underlying underlyingCount</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual baseValue calculationType code componentValue compounding dateTime debtIndicatorsType extendible firstAmount firstDate fraction fractionHandlingType indicatorsType instrumentIdentifier interestRateContainer lastAmount lastDate lifetime marketCenter maturityDate maturityPrice maturityType multiplier name nextAmount nextDate nextPeriod nonFixedRate penultimateAmount penultimateDate period previousCode previousDateTime quantityDescriptionType quantityType rank rate rateMethodChange rulesType schedule terms unitSize unitType valuationRef valuationType weighting accrualBasis accrualBasisType accrualConventionType background benchmark caeType codeType comment country crossrate currency dayOfWeek dayRuleType days daysInMonth daysInYear delayFactor description determination determinationSource duration end endTime eventElement eventValue extendibleDate firstEvent formula hours inclusionType incremental instrumentData instrumentFormType instrumentStatusType instrumentType issuerChoice lastCAE lastEvent linked mandatory marketConditions marketIdentifier marketStatusType marketType maxVal minVal nameRef nextEvent nonFixedRateType ordinalDay paymentDelay paymentDelayType periodType rateChangeType rateSpread recurring resetFrequency resetFrequencyType role scheduleEvent scheduleType scopeType segmentIdentifier segmentType start startTime timezone tradingRestrictionsType tranche valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Collateral.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="collateral" type="mddl:Collateral">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>collateralType interestRate maturity underlying underlyingCount</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual baseValue calculationType code componentValue compounding dateTime debtIndicatorsType extendible firstAmount firstDate fraction fractionHandlingType indicatorsType instrumentIdentifier interestRateContainer lastAmount lastDate lifetime marketCenter maturityDate maturityPrice maturityType multiplier name nextAmount nextDate nextPeriod nonFixedRate penultimateAmount penultimateDate period previousCode previousDateTime quantityDescriptionType quantityType rank rate rateMethodChange rulesType schedule terms unitSize unitType valuationRef valuationType weighting accrualBasis accrualBasisType accrualConventionType background benchmark caeType codeType comment country crossrate currency dayOfWeek dayRuleType days daysInMonth daysInYear delayFactor description determination determinationSource duration end endTime eventElement eventValue extendibleDate firstEvent formula hours inclusionType incremental instrumentData instrumentFormType instrumentStatusType instrumentType issuerChoice lastCAE lastEvent linked mandatory marketConditions marketIdentifier marketStatusType marketType maxVal minVal nameRef nextEvent nonFixedRateType ordinalDay paymentDelay paymentDelayType periodType rateChangeType rateSpread recurring resetFrequency resetFrequencyType role scheduleEvent scheduleType scopeType segmentIdentifier segmentType start startTime timezone tradingRestrictionsType tranche valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="CollateralType.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:collateralTypeGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:code"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:name"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousCode"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CollateralTypeGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary indicating type of collateral backing this instrument.  Subordinate code identifies pool type, etc. of collateral.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>code name previousCode</mddl:applicable-properties>
            <mddl:inheritable-properties>codeType description nameRef period rank role dayOfWeek dayRuleType duration end endTime hours ordinalDay periodType recurring start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:CollateralType.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/collateralType.xml"/>
   </xsd:complexType>
   <xsd:element name="collateralTypeGroup" type="mddl:CollateralTypeGroup"/>
   <xsd:complexType name="CollateralType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary indicating type of collateral backing this instrument.  Subordinate code identifies pool type, etc. of collateral.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>code name previousCode</mddl:applicable-properties>
            <mddl:inheritable-properties>codeType description nameRef period rank role dayOfWeek dayRuleType duration end endTime hours ordinalDay periodType recurring start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:CollateralType.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/collateralType.xml"/>
   </xsd:complexType>
   <xsd:element name="collateralType" type="mddl:CollateralType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>code name previousCode</mddl:applicable-properties>
            <mddl:inheritable-properties>codeType description nameRef period rank role dayOfWeek dayRuleType duration end endTime hours ordinalDay periodType recurring start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="Comment" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Free text comment used by provider for clarification, if necessary.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="comment" type="mddl:Comment">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CommodityDomain">
      <xsd:annotation>
         <xsd:documentation>
            <p>Commodity Domain.  Description of physical commodities.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>domain</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="commodityDomain" type="mddl:CommodityDomain">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>domain</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CommonClass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Common Class - Equity Domain.  Common stock or ordinaries.  Common equities.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>agencyRankings amountOutstanding ask bid convertible deferred dividend dividendYield earnings firstDealingDate firstSettlementDate industryIdentifier instrumentIdentifier issueData issuePrice mid orderbook peRatio revenues session spread trade volatility</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness amountOutstandingType announcementDate auctionDate background baseValue benchmark caeIdentifier caeType calculationType change changeDirection changeType clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding convertibleType country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource dividendYieldType duration earningsRef earningsType end endTime entityIdentifier entityType eventElement eventValue extendible extendibleDate faceValue firstAmount firstDate firstEvent formula fraction fractionHandlingType governingLaw high hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuerChoice issuerRef jurisdiction jurisdictionType last lastAmount lastCAE lastDate lastEvent lifetime linked liquidationStatusType location locationType low mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType offerType open openType orderbookType ordinalDay partiesInvolved partyStatusType paymentDelay paymentDelayType penultimateAmount penultimateDate peRatioType period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime priceRef programType quantityDescriptionType quantityType quotation rank ranking rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory relatedTo relationshipType relationshipValid resetFrequency resetFrequencyType role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType sessionStatusType settlement settlementDate settlementType size start startTime stateOrProvince targetMarketType taxation taxExempt taxType telephone telephoneType terms tickDirection timezone tradingHaltedType tradingRestrictionsType tradingStatusType tranche transferSize turnover underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType volatilityCalculationType volatilityType volume volumeType votingRightsType vwap vwop website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:commonClassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:agencyRankings"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:amountOutstanding"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:convertible"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:deferred"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:dividend"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:dividendYield"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:earnings"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:firstDealingDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:firstSettlementDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issuePrice"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:peRatio"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:revenues"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:session"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:trade"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:volatility"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:industryIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:instrumentIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issueData"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:ask"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:bid"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:mid"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:orderbook"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:spread"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="commonClassGroup" type="mddl:CommonClass"/>
   <xsd:element name="commonClass" type="mddl:CommonClass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>agencyRankings amountOutstanding ask bid convertible deferred dividend dividendYield earnings firstDealingDate firstSettlementDate industryIdentifier instrumentIdentifier issueData issuePrice mid orderbook peRatio revenues session spread trade volatility</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness amountOutstandingType announcementDate auctionDate background baseValue benchmark caeIdentifier caeType calculationType change changeDirection changeType clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding convertibleType country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource dividendYieldType duration earningsRef earningsType end endTime entityIdentifier entityType eventElement eventValue extendible extendibleDate faceValue firstAmount firstDate firstEvent formula fraction fractionHandlingType governingLaw high hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuerChoice issuerRef jurisdiction jurisdictionType last lastAmount lastCAE lastDate lastEvent lifetime linked liquidationStatusType location locationType low mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType offerType open openType orderbookType ordinalDay partiesInvolved partyStatusType paymentDelay paymentDelayType penultimateAmount penultimateDate peRatioType period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime priceRef programType quantityDescriptionType quantityType quotation rank ranking rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory relatedTo relationshipType relationshipValid resetFrequency resetFrequencyType role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType sessionStatusType settlement settlementDate settlementType size start startTime stateOrProvince targetMarketType taxation taxExempt taxType telephone telephoneType terms tickDirection timezone tradingHaltedType tradingRestrictionsType tradingStatusType tranche transferSize turnover underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType volatilityCalculationType volatilityType volume volumeType votingRightsType vwap vwop website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CompensationDate" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Date (and/or time) up to which CSD/ICSD will adjust entitlements for cum trades.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDateTime"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="compensationDate" type="mddl:CompensationDate">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Component.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:componentGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:componentIdentifier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:componentValue"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:baseValue"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:weighting"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="componentGroup" type="mddl:Component"/>
   <xsd:complexType name="Component">
      <xsd:annotation>
         <xsd:documentation>
            <p>A component is a container that identifies (and the relevant valuation of) an instrument used to compute an index and the associated parameters used in that computation.  The component value equals the component instruments' value (componentValue) multiplied by the multiplier then added to the baseValue all multiplied by the weighting.  "component" value=("componentValue" * "multiplier" + "baseValue") * "weighting".</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>baseValue componentIdentifier componentValue multiplier weighting</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType code crossrate currency dateTime fraction fractionHandlingType indicatorsType instrumentStatusType marketCenter name previousCode previousDateTime quantityDescriptionType quantityType unitType valuationRef valuationType codeType dayOfWeek dayRuleType description duration end endTime hours marketStatusType nameRef ordinalDay period periodType rank recurring role start startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Component.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="component" type="mddl:Component">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>baseValue componentIdentifier componentValue multiplier weighting</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType code crossrate currency dateTime fraction fractionHandlingType indicatorsType instrumentStatusType marketCenter name previousCode previousDateTime quantityDescriptionType quantityType unitType valuationRef valuationType codeType dayOfWeek dayRuleType description duration end endTime hours marketStatusType nameRef ordinalDay period periodType rank recurring role start startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="ComponentIdentifier.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:componentIdentifierGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:code"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:name"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousCode"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:instrumentStatusType"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="componentIdentifierGroup" type="mddl:ComponentIdentifier"/>
   <xsd:complexType name="ComponentIdentifier">
      <xsd:annotation>
         <xsd:documentation>
            <p>Identifies (one of) the underlying instrument(s) for this component.  See "instrumentIdentifier".</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>code instrumentStatusType name previousCode</mddl:applicable-properties>
            <mddl:inheritable-properties>codeType description nameRef period rank role dayOfWeek dayRuleType duration end endTime hours ordinalDay periodType recurring start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:ComponentIdentifier.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="componentIdentifier" type="mddl:ComponentIdentifier">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>code instrumentStatusType name previousCode</mddl:applicable-properties>
            <mddl:inheritable-properties>codeType description nameRef period rank role dayOfWeek dayRuleType duration end endTime hours ordinalDay periodType recurring start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="ComponentValue.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:componentValueGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:crossrate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currency"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="ComponentValueGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>The value of the underlying instrument to be used as the component value (as a result of the calculation).  See component.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:ComponentValue.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="componentValueGroup" type="mddl:ComponentValueGroup"/>
   <xsd:complexType name="ComponentValue" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The value of the underlying instrument to be used as the component value (as a result of the calculation).  See component.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:ComponentValue.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="componentValue" type="mddl:ComponentValue">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Compounding.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:compoundingGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CompoundingGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Identifies whether item is compounding and (optionally) the "period" over which compounding takes place.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Compounding.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="compoundingGroup" type="mddl:CompoundingGroup"/>
   <xsd:complexType name="Compounding" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Identifies whether item is compounding and (optionally) the "period" over which compounding takes place.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdBoolean"/>
         <xsd:group ref="mddl:Compounding.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="compounding" type="mddl:Compounding">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Compulsory.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:compulsoryGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CompulsoryGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Indicates if the event or item is compulsory (for example when an outstanding offer to purchase shares becomes compulsory when the offeror has compelling ownership).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Compulsory.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="compulsoryGroup" type="mddl:CompulsoryGroup"/>
   <xsd:complexType name="Compulsory" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Indicates if the event or item is compulsory (for example when an outstanding offer to purchase shares becomes compulsory when the offeror has compelling ownership).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdBoolean"/>
         <xsd:group ref="mddl:Compulsory.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="compulsory" type="mddl:Compulsory">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="ConfirmationDate" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Date (and/or time) on which confirmation will/must be delivered.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDateTime"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="confirmationDate" type="mddl:ConfirmationDate">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="ContractValueMultiplier" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Multiplier for price of individual item to determine value of contract.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="contractValueMultiplier" type="mddl:ContractValueMultiplier">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Convertible.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:convertibleGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:convertibleType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:days"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:issuerChoice"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:mandatory"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:relatedTo"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="ConvertibleGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Signifies that instrument is convertible (children identify under which conditions).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>convertibleType days issuerChoice mandatory period relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>caeIdentifier dayOfWeek dayRuleType duration end instrumentIdentifier periodType recurring relationshipType relationshipValid start background caeType calculationType code codeType comment country crossrate currency dateTime delayFactor description endTime fraction fractionHandlingType hours inclusionType indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier name nameRef ordinalDay previousCode previousDateTime quantityDescriptionType quantityType rank role scopeType segmentIdentifier segmentType startTime timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Convertible.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="convertibleGroup" type="mddl:ConvertibleGroup"/>
   <xsd:complexType name="Convertible" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Signifies that instrument is convertible (children identify under which conditions).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>convertibleType days issuerChoice mandatory period relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>caeIdentifier dayOfWeek dayRuleType duration end instrumentIdentifier periodType recurring relationshipType relationshipValid start background caeType calculationType code codeType comment country crossrate currency dateTime delayFactor description endTime fraction fractionHandlingType hours inclusionType indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier name nameRef ordinalDay previousCode previousDateTime quantityDescriptionType quantityType rank role scopeType segmentIdentifier segmentType startTime timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdBoolean"/>
         <xsd:group ref="mddl:Convertible.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="convertible" type="mddl:Convertible">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>convertibleType days issuerChoice mandatory period relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>caeIdentifier dayOfWeek dayRuleType duration end instrumentIdentifier periodType recurring relationshipType relationshipValid start background caeType calculationType code codeType comment country crossrate currency dateTime delayFactor description endTime fraction fractionHandlingType hours inclusionType indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier name nameRef ordinalDay previousCode previousDateTime quantityDescriptionType quantityType rank role scopeType segmentIdentifier segmentType startTime timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="ConvertibleType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary indicating type of conversion applicable to the instrument.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/convertibleType.xml"/>
   </xsd:complexType>
   <xsd:element name="convertibleType" type="mddl:ConvertibleType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CorporateSubclass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Corporate Subclass - CorporateEvents Class - CAE Domain.  Corporate Type Corporate Event.  Any events related to an issuer or other corporation - and not directly to the issue.  Note that a Corporate Type Corporate Event may be directly related to one or more Corporate Actions.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>subclass</mddl:schema-classification>
            <mddl:applicable-properties>agent announcementDate caeDate caeIdentifier caeLifecycleType caeStatus caeType comment documentURL effectiveDate entityIdentifier indicatorsType instrumentIdentifier issuerRef meetingDate meetingType recordDate relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>address agentType background calculationType code codeType country crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime entityType fraction fractionHandlingType hours inclusionType industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE location locationType marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier municipality name nameRef ordinalDay partyStatusType period periodType postalCode previousCode previousDateTime quantityDescriptionType quantityType rank recurring region relationshipType relationshipValid role scopeType segmentIdentifier segmentType start startTime stateOrProvince telephone telephoneType timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:corporateSubclassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:agent"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeLifecycleType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeStatus"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:comment"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:documentURL"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:entityIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:indicatorsType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:instrumentIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issuerRef"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:relatedTo"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:announcementDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:recordDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:effectiveDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:meetingDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:meetingType"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="corporateSubclassGroup" type="mddl:CorporateSubclass"/>
   <xsd:element name="corporateSubclass" type="mddl:CorporateSubclass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>subclass</mddl:schema-classification>
            <mddl:applicable-properties>agent announcementDate caeDate caeIdentifier caeLifecycleType caeStatus caeType comment documentURL effectiveDate entityIdentifier indicatorsType instrumentIdentifier issuerRef meetingDate meetingType recordDate relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>address agentType background calculationType code codeType country crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime entityType fraction fractionHandlingType hours inclusionType industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE location locationType marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier municipality name nameRef ordinalDay partyStatusType period periodType postalCode previousCode previousDateTime quantityDescriptionType quantityType rank recurring region relationshipType relationshipValid role scopeType segmentIdentifier segmentType start startTime stateOrProvince telephone telephoneType timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CorporateActionsClass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Any corporate action event - initiated by the issuing company, duly authorized agent, market, shareholders, or governmental agency - bringing material change to a stock, issue, or other instrument.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties>agent announcementDate blocking caeDate caeIdentifier caeLifecycleType caeStatus caeType ceaseDate comment confirmationDate dataValueChange deadlineDate deliver documentURL effectiveDate electionPeriod eligibility entitlementDate entityIdentifier indicatorsType instrumentIdentifier instrumentStatusType interestPayment issueData issuerRef meetingDate meetingType offer paymentDate principalRepayment proofType receive recordDate recordingDate redemption relatedTo acceptance accrual accrualBasis accrualBasisType accrualConventionType address agentType agreedRestrictions allowedIndebtedness auctionDate background baseValue benchmark calculationType callable callableType callConditionType capped cleanup clearingHouse clearingProcess clearingSettlement clearingSystem closingDate closingDateType code codeType collateral collateralType componentIdentifier componentValue compounding compulsory convertible convertibleType country covenant crossrate currency dataValueNew dataValueOld dateTime dayOfWeek dayRuleType days daysInMonth daysInYear deadlineType debtIndicatorsType declining defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource diary dividendYield dividendYieldType duration end endTime entityType eventElement eventValue exercisePrice exerciseRights exerciseRightsType extendible extendibleDate faceValue fieldName firstAmount firstDate firstEvent formula fraction fractionHandlingType fullOffer governingLaw hours inclusionType incomeType incremental industryIdentifier instrumentData instrumentFormType instrumentType interestPaymentContainer interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice jurisdiction jurisdictionType lastAmount lastCAE lastDate lastEvent lifetime limited linked liquidationStatusType location locationType makeWholeCall mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType notification offerType ordinalDay partial partiesInvolved partyStatusType payableInKind payment paymentDelay paymentDelayType paymentFrequency penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime principalProtection principalRepaymentContainer programType putable putableType putConditionType quantityDescriptionType quantityType quotation rangeType rank rate rateChangeType rateMethodChange rateSpread recurring redeemable redemptionType refrainFromActs region registrationDate registrationStatusType regulationAct regulatory regulatoryDate relationshipType relationshipValid resetFrequency resetFrequencyType restrictionsExist role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType selection selectionAmount selectionItem settlementDate settlementType sinkable sinkableComputationType sinkableType size softCall specialRedemption start startTime stateOrProvince targetMarketType taxation taxExempt taxReasons taxType telephone telephoneType terms timezone tradingRestrictionsType tranche transferSize underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType votingRightsType website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:corporateActionsClassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:corporateChangeSubclass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Corporate Change Subclass - Corporate Actions Class - CAE Domain.  Corporate Change Type Corporate Action.  An action as a result of some change in the issuing corporation(s) such as merger, de-merger, spinoff, takeover (acquisition, tender).</p>
                        <p>Note that more than one "offer" may be applicable at a time.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:dataChangeSubclass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Data Change Subclass - Corporate Actions Class - CAE Domain.  Data Change Type Corporate Action.  Change of issue-related data NOT directly affecting value or capital such as change in the registrar.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:distributionSubclass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Distribution Subclass - Corporate Actions Class - CAE Domain.  Distribution Type Corporate Action.  A distribution - as cash, other benefits, additional issues, or a combination thereof - by the issuer to the holder.  Includes all divdend payments (cash, stock, scrip, optional, re-investment).  Includes bonus (capitalization) issues and a share split WITHOUT change of par value (as in US).  Includes rights and entitlements issues as well as liquidations.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issuanceSubclass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Issuance Subclass - CorporateActions Class - CAE Domain.  Issuance Type Corporate Action.  Of or pertaining to the issuance of a new issue and/or listing/delisting.  Includes a priority issue but not a rights or entitlement issue (see distribution).</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:holderActionSubclass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Holder Action Subclass - CorporateActions Class - CAE Domain.  Holder Action Type Corporate Action.  An action that must be performed by a holder - such as an exercise (warrant or otherwise) - unrelated to selecting a choice in a distribution.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:paymentActionSubclass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Payment Subclass - CorporateActions Class - CAE Domain.  Payment Type Corporate Action.  An interest (coupon) payment or other (non-dividend) payment including amortizing coupons (but not partial or full redemptions - see Redemption Type).</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:redemptionSubclass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Redemption Subclass - CorporateActions Class - CAE Domain.  Redemption Type Corporate Action.  Redemption of a debt or debt-related issue - initiated by issuer or holder.  Includes bond redemption, partial redemption, lottery, call, put, etc.  A repurchase falls under a Restructure Type Corporate Action.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:restructureSubclass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Restructure Subclass - CorporateActions Class - CAE Domain.  Restructure Type Corporate Action.  A restructuring of the capital and/or debt structure involving the exchange of issues/benefits and/or cash for other issues/benefits and/or cash.  Includes assimilation (pari-passu, enfranchisement), splits/division (including reverse/consolidation), and schemes of arrangement.  Includes capital repayment, buyback (repurchase), and conversion.  Includes odd-lot offer.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:statusChangeSubclass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Status Change Subclass - CorporateActions Class - CAE Domain.  Status Change Type Corporate Action.  Change of issue-related data affecting value or capital such as an installment call.  See dataChange for items not affecting the issue materially.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="corporateActionsClassGroup" type="mddl:CorporateActionsClass"/>
   <xsd:element name="corporateActionsClass" type="mddl:CorporateActionsClass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties>agent announcementDate blocking caeDate caeIdentifier caeLifecycleType caeStatus caeType ceaseDate comment confirmationDate dataValueChange deadlineDate deliver documentURL effectiveDate electionPeriod eligibility entitlementDate entityIdentifier indicatorsType instrumentIdentifier instrumentStatusType interestPayment issueData issuerRef meetingDate meetingType offer paymentDate principalRepayment proofType receive recordDate recordingDate redemption relatedTo acceptance accrual accrualBasis accrualBasisType accrualConventionType address agentType agreedRestrictions allowedIndebtedness auctionDate background baseValue benchmark calculationType callable callableType callConditionType capped cleanup clearingHouse clearingProcess clearingSettlement clearingSystem closingDate closingDateType code codeType collateral collateralType componentIdentifier componentValue compounding compulsory convertible convertibleType country covenant crossrate currency dataValueNew dataValueOld dateTime dayOfWeek dayRuleType days daysInMonth daysInYear deadlineType debtIndicatorsType declining defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource diary dividendYield dividendYieldType duration end endTime entityType eventElement eventValue exercisePrice exerciseRights exerciseRightsType extendible extendibleDate faceValue fieldName firstAmount firstDate firstEvent formula fraction fractionHandlingType fullOffer governingLaw hours inclusionType incomeType incremental industryIdentifier instrumentData instrumentFormType instrumentType interestPaymentContainer interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice jurisdiction jurisdictionType lastAmount lastCAE lastDate lastEvent lifetime limited linked liquidationStatusType location locationType makeWholeCall mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType notification offerType ordinalDay partial partiesInvolved partyStatusType payableInKind payment paymentDelay paymentDelayType paymentFrequency penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime principalProtection principalRepaymentContainer programType putable putableType putConditionType quantityDescriptionType quantityType quotation rangeType rank rate rateChangeType rateMethodChange rateSpread recurring redeemable redemptionType refrainFromActs region registrationDate registrationStatusType regulationAct regulatory regulatoryDate relationshipType relationshipValid resetFrequency resetFrequencyType restrictionsExist role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType selection selectionAmount selectionItem settlementDate settlementType sinkable sinkableComputationType sinkableType size softCall specialRedemption start startTime stateOrProvince targetMarketType taxation taxExempt taxReasons taxType telephone telephoneType terms timezone tradingRestrictionsType tranche transferSize underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType votingRightsType website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CorporateChangeSubclass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Corporate Change Subclass - Corporate Actions Class - CAE Domain.  Corporate Change Type Corporate Action.  An action as a result of some change in the issuing corporation(s) such as merger, de-merger, spinoff, takeover (acquisition, tender).</p>
            <p>Note that more than one "offer" may be applicable at a time.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>subclass</mddl:schema-classification>
            <mddl:applicable-properties>agent announcementDate caeDate caeIdentifier caeLifecycleType caeStatus caeType comment documentURL effectiveDate eligibility entityIdentifier indicatorsType instrumentIdentifier issuerRef meetingDate meetingType offer recordDate relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>acceptance address agentType background baseValue calculationType code codeType componentIdentifier componentValue compulsory confirmationDate country crossrate currency dateTime dayOfWeek dayRuleType days deadlineDate deadlineType delayFactor deliver description duration electionPeriod end endTime entityType fraction fractionHandlingType fullOffer hours inclusionType industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE location locationType marketCenter marketConditions marketIdentifier marketStatusType marketType maxVal minVal multiplier municipality name nameRef ordinalDay partyStatusType period periodType postalCode previousCode previousDateTime proofType quantityDescriptionType quantityType rangeType rank receive recurring region regulatoryDate relationshipType relationshipValid role scopeType segmentIdentifier segmentType selection selectionAmount selectionItem start startTime stateOrProvince telephone telephoneType timezone tradingRestrictionsType tranche unitType valuationBase valuationRef valuationType website weighting</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:corporateChangeSubclassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:agent"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeLifecycleType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeStatus"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:comment"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:documentURL"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:entityIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:indicatorsType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:instrumentIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issuerRef"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:relatedTo"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:announcementDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:recordDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:effectiveDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:meetingDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:meetingType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:eligibility"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:offer"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="corporateChangeSubclassGroup" type="mddl:CorporateChangeSubclass"/>
   <xsd:element name="corporateChangeSubclass" type="mddl:CorporateChangeSubclass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>subclass</mddl:schema-classification>
            <mddl:applicable-properties>agent announcementDate caeDate caeIdentifier caeLifecycleType caeStatus caeType comment documentURL effectiveDate eligibility entityIdentifier indicatorsType instrumentIdentifier issuerRef meetingDate meetingType offer recordDate relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>acceptance address agentType background baseValue calculationType code codeType componentIdentifier componentValue compulsory confirmationDate country crossrate currency dateTime dayOfWeek dayRuleType days deadlineDate deadlineType delayFactor deliver description duration electionPeriod end endTime entityType fraction fractionHandlingType fullOffer hours inclusionType industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE location locationType marketCenter marketConditions marketIdentifier marketStatusType marketType maxVal minVal multiplier municipality name nameRef ordinalDay partyStatusType period periodType postalCode previousCode previousDateTime proofType quantityDescriptionType quantityType rangeType rank receive recurring region regulatoryDate relationshipType relationshipValid role scopeType segmentIdentifier segmentType selection selectionAmount selectionItem start startTime stateOrProvince telephone telephoneType timezone tradingRestrictionsType tranche unitType valuationBase valuationRef valuationType website weighting</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CorporateEventsClass">
      <xsd:annotation>
         <xsd:documentation>
            <p>All non "corporate action" events NOT materially effecting change (e.g. announcements of meetings and other events) including events related to the issuer (as compared to corporate actions that affect the issue).  There may be a relationship between a Corporate Event and several resultant Corporate Actions.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties>agent announcementDate caeDate caeIdentifier caeLifecycleType caeStatus caeType comment documentURL effectiveDate entityIdentifier indicatorsType instrumentIdentifier issuerRef meetingDate meetingType recordDate relatedTo address agentType background calculationType code codeType country crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime entityType fraction fractionHandlingType hours inclusionType industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE location locationType marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier municipality name nameRef ordinalDay partyStatusType period periodType postalCode previousCode previousDateTime quantityDescriptionType quantityType rank recurring region relationshipType relationshipValid role scopeType segmentIdentifier segmentType start startTime stateOrProvince telephone telephoneType timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:corporateEventsClassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:corporateSubclass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Corporate Subclass - CorporateEvents Class - CAE Domain.  Corporate Type Corporate Event.  Any events related to an issuer or other corporation - and not directly to the issue.  Note that a Corporate Type Corporate Event may be directly related to one or more Corporate Actions.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:meetingSubclass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Meeting Subclass - CorporateEvents Class - CAE Domain.  Meeting Type Corporate Event.  Announcement and information regarding meetings of the corporation and/or shareholders.  Includes Annual General Meetings and extraordinary events.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="corporateEventsClassGroup" type="mddl:CorporateEventsClass"/>
   <xsd:element name="corporateEventsClass" type="mddl:CorporateEventsClass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties>agent announcementDate caeDate caeIdentifier caeLifecycleType caeStatus caeType comment documentURL effectiveDate entityIdentifier indicatorsType instrumentIdentifier issuerRef meetingDate meetingType recordDate relatedTo address agentType background calculationType code codeType country crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime entityType fraction fractionHandlingType hours inclusionType industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE location locationType marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier municipality name nameRef ordinalDay partyStatusType period periodType postalCode previousCode previousDateTime quantityDescriptionType quantityType rank recurring region relationshipType relationshipValid role scopeType segmentIdentifier segmentType start startTime stateOrProvince telephone telephoneType timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CounterpartyClass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Counterparty Class - Entity Domain.  Any counterparty to a transaction or other exchange of goods and/or services.  This form of Entity should only be used to identify explicit counterparties in an appropriate transaction.  Amplifying, or additional, information about the entity may be presented in the Business Class for this entity.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>comment creationDate dateTime entityIdentifier entityStatusType jurisdiction location period replacementEntity replacementType reviewDate sponsor</mddl:applicable-properties>
            <mddl:inheritable-properties>address code codeType country dayOfWeek dayRuleType description duration end endTime entityType hours indicatorsType industryIdentifier jurisdictionType locationType marketCenter marketStatusType municipality name nameRef ordinalDay partyStatusType periodType postalCode previousCode rank recurring region registrationDate role rulesType start startTime stateOrProvince taxation taxExempt taxType telephone telephoneType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:counterpartyClassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:comment"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:entityIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:sponsor"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:period"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:replacementEntity"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:replacementType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:creationDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:dateTime"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:reviewDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:entityStatusType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:location"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:jurisdiction"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="counterpartyClassGroup" type="mddl:CounterpartyClass"/>
   <xsd:element name="counterpartyClass" type="mddl:CounterpartyClass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>comment creationDate dateTime entityIdentifier entityStatusType jurisdiction location period replacementEntity replacementType reviewDate sponsor</mddl:applicable-properties>
            <mddl:inheritable-properties>address code codeType country dayOfWeek dayRuleType description duration end endTime entityType hours indicatorsType industryIdentifier jurisdictionType locationType marketCenter marketStatusType municipality name nameRef ordinalDay partyStatusType periodType postalCode previousCode rank recurring region registrationDate role rulesType start startTime stateOrProvince taxation taxExempt taxType telephone telephoneType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="Country" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary specifying the country code.  Uses ISO 3166 Alpha 2 by default.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/ext/scheme/iso3166-alpha-2.xml"/>
   </xsd:complexType>
   <xsd:element name="country" type="mddl:Country">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Covenant.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:agreedRestrictions"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:allowedIndebtedness"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:defaultClause"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:negativePledge"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:refrainFromActs"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="Covenant">
      <xsd:annotation>
         <xsd:documentation>
            <p>Container element outlining the details of the arrangement or deal.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>agreedRestrictions allowedIndebtedness defaultClause negativePledge refrainFromActs</mddl:applicable-properties>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Covenant.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="covenant" type="mddl:Covenant">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>agreedRestrictions allowedIndebtedness defaultClause negativePledge refrainFromActs</mddl:applicable-properties>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="CreationDate.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:creationDateGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dayRuleType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CreationDateGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Date (and/or time) the item (entity, identifier) was created.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="DateTime">property</mddl:schema-classification>
            <mddl:applicable-properties>dayRuleType indicatorsType marketCenter</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode codeType dayOfWeek description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:CreationDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="creationDateGroup" type="mddl:CreationDateGroup"/>
   <xsd:complexType name="CreationDate" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Date (and/or time) the item (entity, identifier) was created.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="DateTime">property</mddl:schema-classification>
            <mddl:applicable-properties>dayRuleType indicatorsType marketCenter</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode codeType dayOfWeek description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDateTime"/>
         <xsd:group ref="mddl:CreationDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="creationDate" type="mddl:CreationDate">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="DateTime">property</mddl:schema-classification>
            <mddl:applicable-properties>dayRuleType indicatorsType marketCenter</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode codeType dayOfWeek description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="CreditEnhancement.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:creditEnhancementGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:creditEnhancementType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:partiesInvolved"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:enhancement"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:relatedTo"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="creditEnhancementGroup" type="mddl:CreditEnhancement"/>
   <xsd:complexType name="CreditEnhancement">
      <xsd:annotation>
         <xsd:documentation>
            <p>Container holding issue support or other credit enhancement information.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>creditEnhancementType enhancement partiesInvolved relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>agent caeIdentifier instrumentIdentifier period programSpecific relationshipType relationshipValid support address agentType background caeType calculationType code codeType comment country crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime entityType fraction fractionHandlingType hours inclusionType indicatorsType industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE location locationType marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier municipality name nameRef ordinalDay partyStatusType periodType postalCode previousCode previousDateTime quantityDescriptionType quantityType rank recurring region role scopeType segmentIdentifier segmentType start startTime stateOrProvince telephone telephoneType timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:CreditEnhancement.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="creditEnhancement" type="mddl:CreditEnhancement">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>creditEnhancementType enhancement partiesInvolved relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>agent caeIdentifier instrumentIdentifier period programSpecific relationshipType relationshipValid support address agentType background caeType calculationType code codeType comment country crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime entityType fraction fractionHandlingType hours inclusionType indicatorsType industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE location locationType marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier municipality name nameRef ordinalDay partyStatusType periodType postalCode previousCode previousDateTime quantityDescriptionType quantityType rank recurring region role scopeType segmentIdentifier segmentType start startTime stateOrProvince telephone telephoneType timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CreditEnhancementType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying the type of credit enhancement provided.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/creditEnhancementType.xml"/>
   </xsd:complexType>
   <xsd:element name="creditEnhancementType" type="mddl:CreditEnhancementType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Crossrate.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:crossrateGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CrossrateGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Identifies currency and current exchange rate (multiplier) to the prevailing currency.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>multiplier</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter previousDateTime quantityDescriptionType quantityType valuationRef valuationType code codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours marketStatusType name nameRef ordinalDay period periodType previousCode rank recurring role start startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Crossrate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/ext/scheme/iso4217-alpha-3.xml"/>
   </xsd:complexType>
   <xsd:element name="crossrateGroup" type="mddl:CrossrateGroup"/>
   <xsd:complexType name="Crossrate" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Identifies currency and current exchange rate (multiplier) to the prevailing currency.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>multiplier</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter previousDateTime quantityDescriptionType quantityType valuationRef valuationType code codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours marketStatusType name nameRef ordinalDay period periodType previousCode rank recurring role start startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:Crossrate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/ext/scheme/iso4217-alpha-3.xml"/>
   </xsd:complexType>
   <xsd:element name="crossrate" type="mddl:Crossrate">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>multiplier</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter previousDateTime quantityDescriptionType quantityType valuationRef valuationType code codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours marketStatusType name nameRef ordinalDay period periodType previousCode rank recurring role start startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Currency.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currencyGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CurrencyGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying the currency code of the price or amount.  By default, the ISO 4217 3-character code.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>multiplier</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter previousDateTime quantityDescriptionType quantityType valuationRef valuationType code codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours marketStatusType name nameRef ordinalDay period periodType previousCode rank recurring role start startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Currency.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/ext/scheme/iso4217-alpha-3.xml"/>
   </xsd:complexType>
   <xsd:element name="currencyGroup" type="mddl:CurrencyGroup"/>
   <xsd:complexType name="Currency" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying the currency code of the price or amount.  By default, the ISO 4217 3-character code.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>multiplier</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter previousDateTime quantityDescriptionType quantityType valuationRef valuationType code codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours marketStatusType name nameRef ordinalDay period periodType previousCode rank recurring role start startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:Currency.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/ext/scheme/iso4217-alpha-3.xml"/>
   </xsd:complexType>
   <xsd:element name="currency" type="mddl:Currency">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>multiplier</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter previousDateTime quantityDescriptionType quantityType valuationRef valuationType code codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours marketStatusType name nameRef ordinalDay period periodType previousCode rank recurring role start startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DataChangeSubclass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Data Change Subclass - Corporate Actions Class - CAE Domain.  Data Change Type Corporate Action.  Change of issue-related data NOT directly affecting value or capital such as change in the registrar.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>subclass</mddl:schema-classification>
            <mddl:applicable-properties>agent announcementDate caeDate caeIdentifier caeLifecycleType caeStatus caeType comment dataValueChange documentURL effectiveDate entityIdentifier indicatorsType instrumentIdentifier issuerRef meetingDate meetingType recordDate relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>address agentType background calculationType code codeType country crossrate currency dataValueNew dataValueOld dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime entityType fieldName fraction fractionHandlingType hours inclusionType industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE location locationType marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier municipality name nameRef ordinalDay partyStatusType period periodType postalCode previousCode previousDateTime quantityDescriptionType quantityType rank recurring region relationshipType relationshipValid role scopeType segmentIdentifier segmentType start startTime stateOrProvince telephone telephoneType timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:dataChangeSubclassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:agent"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeLifecycleType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeStatus"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:comment"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:documentURL"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:entityIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:indicatorsType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:instrumentIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issuerRef"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:relatedTo"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:announcementDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:recordDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:effectiveDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:meetingDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:meetingType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:dataValueChange"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="dataChangeSubclassGroup" type="mddl:DataChangeSubclass"/>
   <xsd:element name="dataChangeSubclass" type="mddl:DataChangeSubclass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>subclass</mddl:schema-classification>
            <mddl:applicable-properties>agent announcementDate caeDate caeIdentifier caeLifecycleType caeStatus caeType comment dataValueChange documentURL effectiveDate entityIdentifier indicatorsType instrumentIdentifier issuerRef meetingDate meetingType recordDate relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>address agentType background calculationType code codeType country crossrate currency dataValueNew dataValueOld dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime entityType fieldName fraction fractionHandlingType hours inclusionType industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE location locationType marketCenter marketConditions marketIdentifier marketStatusType marketType multiplier municipality name nameRef ordinalDay partyStatusType period periodType postalCode previousCode previousDateTime quantityDescriptionType quantityType rank recurring region relationshipType relationshipValid role scopeType segmentIdentifier segmentType start startTime stateOrProvince telephone telephoneType timezone tradingRestrictionsType tranche valuationBase valuationRef valuationType website</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="DataValueChange.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dataValueChangeGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dataValueOld"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dataValueNew"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="dataValueChangeGroup" type="mddl:DataValueChange"/>
   <xsd:complexType name="DataValueChange">
      <xsd:annotation>
         <xsd:documentation>
            <p>The parameters of the data value change.  The "dataValueNew" is/was substituted for the "dataValueOld" on "dateTime".</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>dataValueNew dataValueOld dateTime</mddl:applicable-properties>
            <mddl:inheritable-properties>fieldName</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:DataValueChange.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="dataValueChange" type="mddl:DataValueChange">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>dataValueNew dataValueOld dateTime</mddl:applicable-properties>
            <mddl:inheritable-properties>fieldName</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="DataValueNew.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fieldName"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="DataValueNew" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The value of the new data (to be used in place of the Old).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>fieldName</mddl:applicable-properties>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:DataValueNew.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="dataValueNew" type="mddl:DataValueNew">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>fieldName</mddl:applicable-properties>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="DataValueOld.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fieldName"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="DataValueOld" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The value of the old data (to be replaced by the New).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>fieldName</mddl:applicable-properties>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:DataValueOld.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="dataValueOld" type="mddl:DataValueOld">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>fieldName</mddl:applicable-properties>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DateTime">
      <xsd:annotation>
         <xsd:documentation>
            <p>Date (and/or time) of the event or relevant piece of data.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple" final="true">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="mddl:AnyDateTime">
            <xsd:attribute name="id" type="xsd:ID" use="optional"/>
            <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:element name="dateTime" type="mddl:DateTime">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple" final="true">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="DayOfWeek.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dayOfWeekGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:hours"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="DayOfWeekGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary specifying one of the seven days of the week.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>hours</mddl:applicable-properties>
            <mddl:inheritable-properties>duration endTime periodType startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:DayOfWeek.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/dayOfWeek.xml"/>
   </xsd:complexType>
   <xsd:element name="dayOfWeekGroup" type="mddl:DayOfWeekGroup"/>
   <xsd:complexType name="DayOfWeek" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary specifying one of the seven days of the week.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>hours</mddl:applicable-properties>
            <mddl:inheritable-properties>duration endTime periodType startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:DayOfWeek.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/dayOfWeek.xml"/>
   </xsd:complexType>
   <xsd:element name="dayOfWeek" type="mddl:DayOfWeek">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties>hours</mddl:applicable-properties>
            <mddl:inheritable-properties>duration endTime periodType startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DayRuleType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary governing guidelines on interpretation of date if it falls on a non-business day or other "closed" condition.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/dayRuleType.xml"/>
   </xsd:complexType>
   <xsd:element name="dayRuleType" type="mddl:DayRuleType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Days.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:daysGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dayOfWeek"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="daysGroup" type="mddl:Days"/>
   <xsd:complexType name="Days">
      <xsd:annotation>
         <xsd:documentation>
            <p>Specifies which days are relevant to the parent value.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>dayOfWeek</mddl:applicable-properties>
            <mddl:inheritable-properties>hours duration endTime periodType startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Days.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="days" type="mddl:Days">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>dayOfWeek</mddl:applicable-properties>
            <mddl:inheritable-properties>hours duration endTime periodType startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DaysInMonth" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Count of the number of days in a standard month used in the relevant calculation.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Quantity">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="daysInMonth" type="mddl:DaysInMonth">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Quantity">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DaysInYear" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Count of the number of days in a standard year used in the relevant calculation.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Quantity">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="daysInYear" type="mddl:DaysInYear">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Quantity">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="DeadlineDate.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:deadlineType"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="DeadlineDate" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Date (and/or time) on which something is due - typically an election choice, voting response, or reporting requirement.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>deadlineType</mddl:applicable-properties>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDateTime"/>
         <xsd:group ref="mddl:DeadlineDate.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="deadlineDate" type="mddl:DeadlineDate">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>deadlineType</mddl:applicable-properties>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DeadlineType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying the type of deadline or the reason for a due date.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/deadlineType.xml"/>
   </xsd:complexType>
   <xsd:element name="deadlineType" type="mddl:DeadlineType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DebtDomain">
      <xsd:annotation>
         <xsd:documentation>
            <p>Debt Domain.  Instruments of debt representing money borrowed and repayment.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>domain</mddl:schema-classification>
            <mddl:applicable-properties>agencyRatings amountOutstanding analytics debtIssueData debtPricing diary factor industryIdentifier instrumentIdentifier issueData marketDerivedInfo</mddl:applicable-properties>
            <mddl:inheritable-properties>accretion accretionBehavior accretionType accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness amortization amortizationBehavior amortizationType amountOutstandingType announcementDate ask auctionDate background baseValue benchmark bid caeIdentifier caeType calculationType callable callableType callConditionType capped change changeDirection changeType cleanup clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding convertible convertibleType country covenant creditEnhancement creditEnhancementType crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType declining defaultClause delayFactor delivery deliveryType delta denomination depositoryName depositorySystem description determination determinationSource dividendYield dividendYieldType duration end endTime enhancement entityIdentifier entityType eventElement eventValue exercisePrice exerciseRights exerciseRightsType extendible extendibleDate faceValue firstAmount firstDate firstEvent formula fraction fractionHandlingType governingLaw high hours inclusionType incomeType increment incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestPayment interestPaymentContainer interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType last lastAmount lastCAE lastDate lastEvent lifetime limited linked liquidationStatusType location locationType low makeWholeCall mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal mid minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType notification offerType open openType orderbook orderbookType ordinalDay overAllotment partial partiesInvolved partyStatusType payableInKind payment paymentDate paymentDelay paymentDelayType paymentFrequency penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime principalProtection principalRepayment principalRepaymentContainer programSpecific programType putable putableType putConditionType quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread rating ratingType recordingDate recurring redeemable redemption redemptionType refrainFromActs region registrationDate registrationStatusType regulationAct regulatory relatedTo relationshipType relationshipValid resetFrequency resetFrequencyType restrictionsExist role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlement settlementDate settlementType sinkable sinkableComputationType sinkableType size softCall specialRedemption spread start startTime stateOrProvince strippable stripType subscriptions support targetMarketType taxation taxExempt taxReasons taxType telephone telephoneType terms tickDirection timezone trade tradingHaltedType tradingRestrictionsType tradingStatusType tranche transferSize turnover underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType volume volumeType votingRightsType vwap vwop website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:debtDomainGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:agencyRatings"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:amountOutstanding"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:analytics"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:debtIssueData"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:diary"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:factor"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:marketDerivedInfo"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:debtPricing"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:industryIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:instrumentIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issueData"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="debtDomainGroup" type="mddl:DebtDomain"/>
   <xsd:element name="debtDomain" type="mddl:DebtDomain">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>domain</mddl:schema-classification>
            <mddl:applicable-properties>agencyRatings amountOutstanding analytics debtIssueData debtPricing diary factor industryIdentifier instrumentIdentifier issueData marketDerivedInfo</mddl:applicable-properties>
            <mddl:inheritable-properties>accretion accretionBehavior accretionType accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness amortization amortizationBehavior amortizationType amountOutstandingType announcementDate ask auctionDate background baseValue benchmark bid caeIdentifier caeType calculationType callable callableType callConditionType capped change changeDirection changeType cleanup clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding convertible convertibleType country covenant creditEnhancement creditEnhancementType crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType declining defaultClause delayFactor delivery deliveryType delta denomination depositoryName depositorySystem description determination determinationSource dividendYield dividendYieldType duration end endTime enhancement entityIdentifier entityType eventElement eventValue exercisePrice exerciseRights exerciseRightsType extendible extendibleDate faceValue firstAmount firstDate firstEvent formula fraction fractionHandlingType governingLaw high hours inclusionType incomeType increment incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestPayment interestPaymentContainer interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType last lastAmount lastCAE lastDate lastEvent lifetime limited linked liquidationStatusType location locationType low makeWholeCall mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal mid minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType notification offerType open openType orderbook orderbookType ordinalDay overAllotment partial partiesInvolved partyStatusType payableInKind payment paymentDate paymentDelay paymentDelayType paymentFrequency penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime principalProtection principalRepayment principalRepaymentContainer programSpecific programType putable putableType putConditionType quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread rating ratingType recordingDate recurring redeemable redemption redemptionType refrainFromActs region registrationDate registrationStatusType regulationAct regulatory relatedTo relationshipType relationshipValid resetFrequency resetFrequencyType restrictionsExist role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlement settlementDate settlementType sinkable sinkableComputationType sinkableType size softCall specialRedemption spread start startTime stateOrProvince strippable stripType subscriptions support targetMarketType taxation taxExempt taxReasons taxType telephone telephoneType terms tickDirection timezone trade tradingHaltedType tradingRestrictionsType tradingStatusType tranche transferSize turnover underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType volume volumeType votingRightsType vwap vwop website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DebtIndicatorsType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary identifying specific debt-related indicators.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/debtIndicatorsType.xml"/>
   </xsd:complexType>
   <xsd:element name="debtIndicatorsType" type="mddl:DebtIndicatorsType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="DebtIssueData.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:debtIssueDataGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:accretion"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:amortization"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:convertible"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:creditEnhancement"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:debtIndicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:denomination"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:interestRate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:interestPayment"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:maturity"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:overAllotment"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:principalRepayment"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:redemption"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:strippable"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:subscriptions"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="debtIssueDataGroup" type="mddl:DebtIssueData"/>
   <xsd:complexType name="DebtIssueData">
      <xsd:annotation>
         <xsd:documentation>
            <p>Container holding information relative to the debt issue.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>accretion amortization convertible creditEnhancement debtIndicatorsType denomination interestPayment interestRate maturity overAllotment principalRepayment redemption strippable subscriptions</mddl:applicable-properties>
            <mddl:inheritable-properties>accretionBehavior accretionType accrual amortizationBehavior amortizationType calculationType callable capped compounding convertibleType creditEnhancementType crossrate currency dateTime days enhancement exercisePrice extendible firstAmount firstDate fraction fractionHandlingType increment indicatorsType instrumentIdentifier interestPaymentContainer interestRateContainer issuerChoice lastAmount lastDate lifetime mandatory marketCenter maturityDate maturityPrice maturityType minVal multiplier nextAmount nextDate nextPeriod nonFixedRate partiesInvolved payableInKind payment paymentDate paymentDelay paymentFrequency penultimateAmount penultimateDate period previousDateTime principalProtection principalRepaymentContainer putable quantityDescriptionType quantityType rate rateMethodChange redeemable redemptionType relatedTo restrictionsExist rulesType schedule sinkable stripType terms underlying underlyingCount valuationRef valuationType accrualBasis accrualBasisType accrualConventionType address agent agentType background baseValue benchmark caeIdentifier caeType callableType callConditionType cleanup code codeType comment componentValue country dayOfWeek dayRuleType daysInMonth daysInYear declining delayFactor description determination determinationSource diary duration end endTime entityType eventElement eventValue exerciseRights exerciseRightsType extendibleDate firstEvent formula hours inclusionType incremental industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE lastEvent limited linked location locationType makeWholeCall marketConditions marketIdentifier marketStatusType marketType maxVal municipality name nameRef nextEvent nonFixedRateType notification ordinalDay partial partyStatusType paymentDelayType periodType postalCode previousCode programSpecific putableType putConditionType rank rateChangeType rateSpread recurring region relationshipType relationshipValid resetFrequency resetFrequencyType role scheduleEvent scheduleType scopeType segmentIdentifier segmentType sinkableComputationType sinkableType softCall specialRedemption start startTime stateOrProvince support taxReasons telephone telephoneType timezone tradingRestrictionsType tranche unitSize unitType valuationBase website weighting</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:DebtIssueData.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="debtIssueData" type="mddl:DebtIssueData">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>accretion amortization convertible creditEnhancement debtIndicatorsType denomination interestPayment interestRate maturity overAllotment principalRepayment redemption strippable subscriptions</mddl:applicable-properties>
            <mddl:inheritable-properties>accretionBehavior accretionType accrual amortizationBehavior amortizationType calculationType callable capped compounding convertibleType creditEnhancementType crossrate currency dateTime days enhancement exercisePrice extendible firstAmount firstDate fraction fractionHandlingType increment indicatorsType instrumentIdentifier interestPaymentContainer interestRateContainer issuerChoice lastAmount lastDate lifetime mandatory marketCenter maturityDate maturityPrice maturityType minVal multiplier nextAmount nextDate nextPeriod nonFixedRate partiesInvolved payableInKind payment paymentDate paymentDelay paymentFrequency penultimateAmount penultimateDate period previousDateTime principalProtection principalRepaymentContainer putable quantityDescriptionType quantityType rate rateMethodChange redeemable redemptionType relatedTo restrictionsExist rulesType schedule sinkable stripType terms underlying underlyingCount valuationRef valuationType accrualBasis accrualBasisType accrualConventionType address agent agentType background baseValue benchmark caeIdentifier caeType callableType callConditionType cleanup code codeType comment componentValue country dayOfWeek dayRuleType daysInMonth daysInYear declining delayFactor description determination determinationSource diary duration end endTime entityType eventElement eventValue exerciseRights exerciseRightsType extendibleDate firstEvent formula hours inclusionType incremental industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE lastEvent limited linked location locationType makeWholeCall marketConditions marketIdentifier marketStatusType marketType maxVal municipality name nameRef nextEvent nonFixedRateType notification ordinalDay partial partyStatusType paymentDelayType periodType postalCode previousCode programSpecific putableType putConditionType rank rateChangeType rateSpread recurring region relationshipType relationshipValid resetFrequency resetFrequencyType role scheduleEvent scheduleType scopeType segmentIdentifier segmentType sinkableComputationType sinkableType softCall specialRedemption start startTime stateOrProvince support taxReasons telephone telephoneType timezone tradingRestrictionsType tranche unitSize unitType valuationBase website weighting</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="DebtPricing.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:debtPricingGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:trade"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:ask"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:bid"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:mid"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:orderbook"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:spread"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="debtPricingGroup" type="mddl:DebtPricing"/>
   <xsd:complexType name="DebtPricing">
      <xsd:annotation>
         <xsd:documentation>
            <p>Container for pricing information of a debt instrument.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>ask bid mid orderbook spread trade</mddl:applicable-properties>
            <mddl:inheritable-properties>change close high last low marketIdentifier open orderbookType rank settlement size tickDirection tradingHaltedType tradingRestrictionsType tradingStatusType turnover volume vwap vwop yield calculationType changeDirection changeType closeType code codeType crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime fraction fractionHandlingType hours inclusionType indicatorsType marketCenter marketConditions marketStatusType marketType multiplier name nameRef openType ordinalDay period periodType previousCode previousDateTime quantityDescriptionType quantityType recurring role settlementType start startTime timezone unitSize unitType valuationBase valuationRef valuationType volumeType yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:DebtPricing.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="debtPricing" type="mddl:DebtPricing">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>ask bid mid orderbook spread trade</mddl:applicable-properties>
            <mddl:inheritable-properties>change close high last low marketIdentifier open orderbookType rank settlement size tickDirection tradingHaltedType tradingRestrictionsType tradingStatusType turnover volume vwap vwop yield calculationType changeDirection changeType closeType code codeType crossrate currency dateTime dayOfWeek dayRuleType days delayFactor description duration end endTime fraction fractionHandlingType hours inclusionType indicatorsType marketCenter marketConditions marketStatusType marketType multiplier name nameRef openType ordinalDay period periodType previousCode previousDateTime quantityDescriptionType quantityType recurring role settlementType start startTime timezone unitSize unitType valuationBase valuationRef valuationType volumeType yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Declining.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:decliningGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:firstAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:firstDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:lastAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:lastDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextPeriod"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:penultimateAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:penultimateDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:schedule"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="decliningGroup" type="mddl:Declining"/>
   <xsd:complexType name="Declining">
      <xsd:annotation>
         <xsd:documentation>
            <p>Declining schedule.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>firstAmount firstDate lastAmount lastDate nextAmount nextDate nextPeriod penultimateAmount penultimateDate period schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime dayRuleType duration end firstEvent fraction fractionHandlingType indicatorsType lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType recurring scheduleEvent scheduleType start valuationRef valuationType code codeType dayOfWeek description endTime eventElement eventValue hours marketStatusType name nameRef ordinalDay paymentDelayType previousCode rank role startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Declining.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="declining" type="mddl:Declining">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>firstAmount firstDate lastAmount lastDate nextAmount nextDate nextPeriod penultimateAmount penultimateDate period schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>calculationType crossrate currency dateTime dayRuleType duration end firstEvent fraction fractionHandlingType indicatorsType lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType recurring scheduleEvent scheduleType start valuationRef valuationType code codeType dayOfWeek description endTime eventElement eventValue hours marketStatusType name nameRef ordinalDay paymentDelayType previousCode rank role startTime valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DefaultClause" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The default clause for a covenant when no other clause applies.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="defaultClause" type="mddl:DefaultClause">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="Deferred" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Signifies that rights to a stock are deferred after those of common and preferred owners.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdBoolean"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="deferred" type="mddl:Deferred">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DelayFactor" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The period of time used to delay data from this source or market.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDuration"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="delayFactor" type="mddl:DelayFactor">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Deliver.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:deliverGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:agent"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:selection"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="deliverGroup" type="mddl:Deliver"/>
   <xsd:complexType name="Deliver">
      <xsd:annotation>
         <xsd:documentation>
            <p>Container for a exchange/distribution Corporate Action holding the items which must be delivered - either physically or virtually.  A single selection implies only one deliverable.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>agent selection</mddl:applicable-properties>
            <mddl:inheritable-properties>agentType code entityType fractionHandlingType indicatorsType industryIdentifier location name partyStatusType previousCode proofType selectionAmount selectionItem address baseValue calculationType codeType comment componentIdentifier componentValue country crossrate currency dateTime dayOfWeek dayRuleType description duration end endTime fraction hours instrumentStatusType locationType marketCenter marketStatusType multiplier municipality nameRef ordinalDay period periodType postalCode previousDateTime quantityDescriptionType quantityType rank recurring region role start startTime stateOrProvince telephone telephoneType unitType valuationBase valuationRef valuationType website weighting</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Deliver.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="deliver" type="mddl:Deliver">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>agent selection</mddl:applicable-properties>
            <mddl:inheritable-properties>agentType code entityType fractionHandlingType indicatorsType industryIdentifier location name partyStatusType previousCode proofType selectionAmount selectionItem address baseValue calculationType codeType comment componentIdentifier componentValue country crossrate currency dateTime dayOfWeek dayRuleType description duration end endTime fraction hours instrumentStatusType locationType marketCenter marketStatusType multiplier municipality nameRef ordinalDay period periodType postalCode previousDateTime quantityDescriptionType quantityType rank recurring region role start startTime stateOrProvince telephone telephoneType unitType valuationBase valuationRef valuationType website weighting</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Delivery.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:deliveryGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:deliveryType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="deliveryGroup" type="mddl:Delivery"/>
   <xsd:complexType name="Delivery">
      <xsd:annotation>
         <xsd:documentation>
            <p>Container for the parameters of the delivery.  "Period" indicates start/end of delivery times.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>deliveryType period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Delivery.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="delivery" type="mddl:Delivery">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>deliveryType period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DeliveryType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary indicating the mode of transport or transfer of the security or product.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/deliveryType.xml"/>
   </xsd:complexType>
   <xsd:element name="deliveryType" type="mddl:DeliveryType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Delta.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:deltaGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:unitSize"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:unitType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="DeltaGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Defines the minimum change in the related property.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType unitSize unitType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Delta.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="deltaGroup" type="mddl:DeltaGroup"/>
   <xsd:complexType name="Delta" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Defines the minimum change in the related property.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType unitSize unitType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:Delta.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="delta" type="mddl:Delta">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType unitSize unitType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType crossrate currency dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DemographicClass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Demographic Class - Indicators Domain.  Demographic (including social) indicators.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>industryIdentifier instrumentIdentifier issueData</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark caeType calculationType clearingHouse clearingProcess clearingSettlement clearingSystem closingDate closingDateType code codeType collateral collateralType comment componentValue compounding country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue extendible extendibleDate faceValue firstAmount firstDate firstEvent formula fraction fractionHandlingType governingLaw hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType lastAmount lastCAE lastDate lastEvent lifetime linked liquidationStatusType location locationType mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType offerType ordinalDay partiesInvolved partyStatusType paymentDelay paymentDelayType penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory resetFrequency resetFrequencyType role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlementDate settlementType size start startTime stateOrProvince targetMarketType taxation taxExempt taxType telephone telephoneType terms timezone tradingRestrictionsType tranche transferSize underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType votingRightsType website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:demographicClassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:industryIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:instrumentIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issueData"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="demographicClassGroup" type="mddl:DemographicClass"/>
   <xsd:element name="demographicClass" type="mddl:DemographicClass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>industryIdentifier instrumentIdentifier issueData</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark caeType calculationType clearingHouse clearingProcess clearingSettlement clearingSystem closingDate closingDateType code codeType collateral collateralType comment componentValue compounding country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue extendible extendibleDate faceValue firstAmount firstDate firstEvent formula fraction fractionHandlingType governingLaw hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType lastAmount lastCAE lastDate lastEvent lifetime linked liquidationStatusType location locationType mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType offerType ordinalDay partiesInvolved partyStatusType paymentDelay paymentDelayType penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory resetFrequency resetFrequencyType role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlementDate settlementType size start startTime stateOrProvince targetMarketType taxation taxExempt taxType telephone telephoneType terms timezone tradingRestrictionsType tranche transferSize underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType votingRightsType website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Denomination.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:denominationGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:increment"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:minVal"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:crossrate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currency"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="DenominationGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>The denomination of the instrument - the possible values of the scrip which are most likely multiples of the face value.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType increment indicatorsType marketCenter minVal multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Denomination.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="denominationGroup" type="mddl:DenominationGroup"/>
   <xsd:complexType name="Denomination" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The denomination of the instrument - the possible values of the scrip which are most likely multiples of the face value.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType increment indicatorsType marketCenter minVal multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:Denomination.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="denomination" type="mddl:Denomination">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType increment indicatorsType marketCenter minVal multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DepositaryClass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Depositary Class - Equity Domain.  Depositary Equity (ADR, ADS, Van Aandelen, etc.).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>agencyRankings ask bid dividend industryIdentifier instrumentIdentifier issueData mid orderbook spread trade underlying underlyingCount</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark caeType calculationType change changeDirection changeType clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue extendible extendibleDate faceValue firstAmount firstDate firstEvent formula fraction fractionHandlingType governingLaw high hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType last lastAmount lastCAE lastDate lastEvent lifetime linked liquidationStatusType location locationType low mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType offerType open openType orderbookType ordinalDay partiesInvolved partyStatusType paymentDelay paymentDelayType penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType quantityDescriptionType quantityType quotation rank ranking rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory resetFrequency resetFrequencyType role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlement settlementDate settlementType size start startTime stateOrProvince targetMarketType taxation taxExempt taxType telephone telephoneType terms tickDirection timezone tradingHaltedType tradingRestrictionsType tradingStatusType tranche transferSize turnover underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType volume volumeType votingRightsType vwap vwop website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:depositaryClassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:agencyRankings"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:dividend"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:trade"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:underlying"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:underlyingCount"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:industryIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:instrumentIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issueData"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:ask"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:bid"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:mid"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:orderbook"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:spread"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="depositaryClassGroup" type="mddl:DepositaryClass"/>
   <xsd:element name="depositaryClass" type="mddl:DepositaryClass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>agencyRankings ask bid dividend industryIdentifier instrumentIdentifier issueData mid orderbook spread trade underlying underlyingCount</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark caeType calculationType change changeDirection changeType clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue extendible extendibleDate faceValue firstAmount firstDate firstEvent formula fraction fractionHandlingType governingLaw high hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType last lastAmount lastCAE lastDate lastEvent lifetime linked liquidationStatusType location locationType low mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType offerType open openType orderbookType ordinalDay partiesInvolved partyStatusType paymentDelay paymentDelayType penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType quantityDescriptionType quantityType quotation rank ranking rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory resetFrequency resetFrequencyType role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlement settlementDate settlementType size start startTime stateOrProvince targetMarketType taxation taxExempt taxType telephone telephoneType terms tickDirection timezone tradingHaltedType tradingRestrictionsType tradingStatusType tranche transferSize turnover underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType volume volumeType votingRightsType vwap vwop website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="DepositoryName.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:depositoryNameGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="DepositoryNameGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>The depository to be used over the specified period.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:DepositoryName.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="depositoryNameGroup" type="mddl:DepositoryNameGroup"/>
   <xsd:complexType name="DepositoryName" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The depository to be used over the specified period.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:DepositoryName.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="depositoryName" type="mddl:DepositoryName">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="DepositorySystem.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:depositorySystemGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="DepositorySystemGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>The depository processing system to be used over the specified period.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:DepositorySystem.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="depositorySystemGroup" type="mddl:DepositorySystemGroup"/>
   <xsd:complexType name="DepositorySystem" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The depository processing system to be used over the specified period.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:DepositorySystem.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="depositorySystem" type="mddl:DepositorySystem">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>period</mddl:applicable-properties>
            <mddl:inheritable-properties>dayRuleType duration end periodType recurring start dayOfWeek endTime hours ordinalDay startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DerivativeDomain">
      <xsd:annotation>
         <xsd:documentation>
            <p>Derivatives : rights, warrants, options, futures (etc.).</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>domain</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties>ask bid callable contractValueMultiplier convertible denomination exercisePrice firstAmount firstDate industryIdentifier instrumentIdentifier interestRate issueData lastAmount lastDate maturity mid nextAmount nextDate nextPeriod orderbook penultimateAmount penultimateDate period putable redeemable schedule sharesControlled spread trade underlying underlyingCount accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark caeIdentifier caeType calculationType callableType callConditionType change changeDirection changeType cleanup clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding convertibleType country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType declining defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource diary dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue exerciseRights exerciseRightsType extendible extendibleDate faceValue firstEvent formula fraction fractionHandlingType governingLaw high hours inclusionType incomeType increment incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType last lastCAE lastEvent lifetime limited linked liquidationStatusType location locationType low makeWholeCall mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextEvent nonFixedRate nonFixedRateType notification offerType open openType orderbookType ordinalDay partial partiesInvolved partyStatusType paymentDelay paymentDelayType periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType putableType putConditionType quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory relatedTo relationshipType relationshipValid resetFrequency resetFrequencyType role rulesType salesRestrictionsType scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlement settlementDate settlementType size softCall specialRedemption start startTime stateOrProvince targetMarketType taxation taxExempt taxReasons taxType telephone telephoneType terms tickDirection timezone tradingHaltedType tradingRestrictionsType tradingStatusType tranche transferSize turnover underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType volume volumeType votingRightsType vwap vwop website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:derivativeDomainGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:certificateClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Derivative Domain - Certificate Class.  Certificates derived from other issues.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:forwardClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Derivative Domain - Forward class.  A forward settles on a future date after the spot date.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:futureClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Derivative Domain - Future class.  A future is a standardized, transferable, exchange-traded contract that requires delivery of a commodity, bond, currency, or stock, at a specified price (the strike price) on a specified future date.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:linkedClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Derivative Domain - Linked class.  Instruments based on the performance or criteria of another instrument (e.g. Perles - Performed Linked Equity Securities).</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:optionClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Derivative Domain - Option class.  An option is the right, but not the obligation, to buy (for a call option) or sell (for a put option) a specific amount of a given stock, commodity, currency, or debt at a specified price (the strike price) during a specified period of time.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:rightClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Derivative Domain - Right class.  Rights to purchase, based on current holdings or at a price below public offering, new shares at a predetermined price.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:swapClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Derivative Domain - Swap class.  Agreement to pay differences based on multiple factors or underliers.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:warrantClass">
                  <xsd:annotation>
                     <xsd:documentation>
                        <p>Derivative Domain - Warrant Class.  Security of the issuer giving the holder the right to purchase securities at a particular price and time.</p>
                     </xsd:documentation>
                  </xsd:annotation>
               </xsd:element>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="derivativeDomainGroup" type="mddl:DerivativeDomain"/>
   <xsd:element name="derivativeDomain" type="mddl:DerivativeDomain">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>domain</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties>ask bid callable contractValueMultiplier convertible denomination exercisePrice firstAmount firstDate industryIdentifier instrumentIdentifier interestRate issueData lastAmount lastDate maturity mid nextAmount nextDate nextPeriod orderbook penultimateAmount penultimateDate period putable redeemable schedule sharesControlled spread trade underlying underlyingCount accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark caeIdentifier caeType calculationType callableType callConditionType change changeDirection changeType cleanup clearingHouse clearingProcess clearingSettlement clearingSystem close closeType closingDate closingDateType code codeType collateral collateralType comment componentValue compounding convertibleType country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType declining defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource diary dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue exerciseRights exerciseRightsType extendible extendibleDate faceValue firstEvent formula fraction fractionHandlingType governingLaw high hours inclusionType incomeType increment incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType last lastCAE lastEvent lifetime limited linked liquidationStatusType location locationType low makeWholeCall mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextEvent nonFixedRate nonFixedRateType notification offerType open openType orderbookType ordinalDay partial partiesInvolved partyStatusType paymentDelay paymentDelayType periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType putableType putConditionType quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory relatedTo relationshipType relationshipValid resetFrequency resetFrequencyType role rulesType salesRestrictionsType scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlement settlementDate settlementType size softCall specialRedemption start startTime stateOrProvince targetMarketType taxation taxExempt taxReasons taxType telephone telephoneType terms tickDirection timezone tradingHaltedType tradingRestrictionsType tradingStatusType tranche transferSize turnover underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType volume volumeType votingRightsType vwap vwop website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="Description" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>A free-text description of the code if necessary.  Not intended for automated processing.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="description" type="mddl:Description">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Determination.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:determinationGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:determinationSource"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="determinationGroup" type="mddl:Determination"/>
   <xsd:complexType name="Determination">
      <xsd:annotation>
         <xsd:documentation>
            <p>Statement of when a value is determined (as compared to its reset date).  For example, although an interest rate may "reset" on the 1st of the month, it's actual value may be determined beforehand (as prescribed by "determination").</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>determinationSource period</mddl:applicable-properties>
            <mddl:inheritable-properties>code dayRuleType duration end marketCenter marketConditions marketStatusType marketType name periodType previousCode recurring start codeType dayOfWeek days delayFactor description endTime hours nameRef ordinalDay rank role startTime timezone</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Determination.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="determination" type="mddl:Determination">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>determinationSource period</mddl:applicable-properties>
            <mddl:inheritable-properties>code dayRuleType duration end marketCenter marketConditions marketStatusType marketType name periodType previousCode recurring start codeType dayOfWeek days delayFactor description endTime hours nameRef ordinalDay rank role startTime timezone</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="DeterminationSource.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:determinationSourceGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketConditions"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketStatusType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:code"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:name"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousCode"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="DeterminationSourceGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>The agent or method by which the determination is made.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>code marketCenter marketConditions marketStatusType marketType name previousCode</mddl:applicable-properties>
            <mddl:inheritable-properties>codeType days delayFactor description nameRef period rank role timezone dayOfWeek dayRuleType duration end endTime hours ordinalDay periodType recurring start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:DeterminationSource.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="determinationSourceGroup" type="mddl:DeterminationSourceGroup"/>
   <xsd:complexType name="DeterminationSource" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The agent or method by which the determination is made.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>code marketCenter marketConditions marketStatusType marketType name previousCode</mddl:applicable-properties>
            <mddl:inheritable-properties>codeType days delayFactor description nameRef period rank role timezone dayOfWeek dayRuleType duration end endTime hours ordinalDay periodType recurring start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:DeterminationSource.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="determinationSource" type="mddl:DeterminationSource">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>code marketCenter marketConditions marketStatusType marketType name previousCode</mddl:applicable-properties>
            <mddl:inheritable-properties>codeType days delayFactor description nameRef period rank role timezone dayOfWeek dayRuleType duration end endTime hours ordinalDay periodType recurring start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Deviation.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:deviationGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:deviationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:formula"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:firstAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:firstDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:lastAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:lastDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:nextPeriod"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:penultimateAmount"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:penultimateDate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:schedule"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="DeviationGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>A description of the deviation permissible on an issue.  Not currently used pending validity/applicability.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>deviationType firstAmount firstDate formula lastAmount lastDate nextAmount nextDate nextPeriod penultimateAmount penultimateDate period schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>benchmark calculationType crossrate currency dateTime dayRuleType duration end firstEvent fraction fractionHandlingType indicatorsType lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType rateSpread recurring scheduleEvent scheduleType start valuationRef valuationType code codeType dayOfWeek description endTime eventElement eventValue hours marketStatusType name nameRef ordinalDay paymentDelayType previousCode rank role startTime tranche valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Deviation.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="deviationGroup" type="mddl:DeviationGroup"/>
   <xsd:complexType name="Deviation" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>A description of the deviation permissible on an issue.  Not currently used pending validity/applicability.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>deviationType firstAmount firstDate formula lastAmount lastDate nextAmount nextDate nextPeriod penultimateAmount penultimateDate period schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>benchmark calculationType crossrate currency dateTime dayRuleType duration end firstEvent fraction fractionHandlingType indicatorsType lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType rateSpread recurring scheduleEvent scheduleType start valuationRef valuationType code codeType dayOfWeek description endTime eventElement eventValue hours marketStatusType name nameRef ordinalDay paymentDelayType previousCode rank role startTime tranche valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:group ref="mddl:Deviation.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
      <xsd:attribute ref="xml:lang" use="optional"/>
   </xsd:complexType>
   <xsd:element name="deviation" type="mddl:Deviation">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties>deviationType firstAmount firstDate formula lastAmount lastDate nextAmount nextDate nextPeriod penultimateAmount penultimateDate period schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>benchmark calculationType crossrate currency dateTime dayRuleType duration end firstEvent fraction fractionHandlingType indicatorsType lastEvent marketCenter multiplier nextEvent paymentDelay periodType previousDateTime quantityDescriptionType quantityType rateSpread recurring scheduleEvent scheduleType start valuationRef valuationType code codeType dayOfWeek description endTime eventElement eventValue hours marketStatusType name nameRef ordinalDay paymentDelayType previousCode rank role startTime tranche valuationBase</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DeviationType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary indicating the type of deviation used.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/deviationType.xml"/>
   </xsd:complexType>
   <xsd:element name="deviationType" type="mddl:DeviationType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Diary.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:diaryGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:schedule"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:element name="diaryGroup" type="mddl:Diary"/>
   <xsd:complexType name="Diary">
      <xsd:annotation>
         <xsd:documentation>
            <p>A journal of the schedules relevant to an issue.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>firstEvent lastEvent nextEvent scheduleEvent scheduleType calculationType code codeType crossrate currency dateTime dayOfWeek dayRuleType description duration end endTime eventElement eventValue fraction fractionHandlingType hours indicatorsType marketCenter marketStatusType multiplier name nameRef ordinalDay period periodType previousCode previousDateTime quantityDescriptionType quantityType rank recurring role start startTime valuationBase valuationRef valuationType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Diary.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="diary" type="mddl:Diary">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Container">property</mddl:schema-classification>
            <mddl:applicable-properties>schedule</mddl:applicable-properties>
            <mddl:inheritable-properties>firstEvent lastEvent nextEvent scheduleEvent scheduleType calculationType code codeType crossrate currency dateTime dayOfWeek dayRuleType description duration end endTime eventElement eventValue fraction fractionHandlingType hours indicatorsType marketCenter marketStatusType multiplier name nameRef ordinalDay period periodType previousCode previousDateTime quantityDescriptionType quantityType rank recurring role start startTime valuationBase valuationRef valuationType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DistributionSubclass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Distribution Subclass - Corporate Actions Class - CAE Domain.  Distribution Type Corporate Action.  A distribution - as cash, other benefits, additional issues, or a combination thereof - by the issuer to the holder.  Includes all divdend payments (cash, stock, scrip, optional, re-investment).  Includes bonus (capitalization) issues and a share split WITHOUT change of par value (as in US).  Includes rights and entitlements issues as well as liquidations.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>subclass</mddl:schema-classification>
            <mddl:applicable-properties>agent announcementDate blocking caeDate caeIdentifier caeLifecycleType caeStatus caeType comment confirmationDate deadlineDate deliver documentURL effectiveDate electionPeriod eligibility entitlementDate entityIdentifier indicatorsType instrumentIdentifier issuerRef meetingDate meetingType paymentDate proofType receive recordDate recordingDate relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>address agentType background baseValue calculationType code codeType componentIdentifier componentValue country crossrate currency dateTime dayOfWeek dayRuleType days deadlineType delayFactor description duration end endTime entityType fraction fractionHandlingType hours inclusionType industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE location locationType marketCenter marketConditions marketIdentifier marketStatusType marketType maxVal minVal multiplier municipality name nameRef ordinalDay partyStatusType period periodType postalCode previousCode previousDateTime quantityDescriptionType quantityType rangeType rank recurring region relationshipType relationshipValid role scopeType segmentIdentifier segmentType selection selectionAmount selectionItem start startTime stateOrProvince telephone telephoneType timezone tradingRestrictionsType tranche unitType valuationBase valuationRef valuationType website weighting</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:distributionSubclassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:agent"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeLifecycleType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeStatus"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:caeType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:comment"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:documentURL"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:entityIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:indicatorsType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:instrumentIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issuerRef"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:relatedTo"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:announcementDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:recordDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:effectiveDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:meetingDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:meetingType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:blocking"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:confirmationDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:deadlineDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:eligibility"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:electionPeriod"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:entitlementDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:paymentDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:proofType"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:recordingDate"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:deliver"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:receive"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="distributionSubclassGroup" type="mddl:DistributionSubclass"/>
   <xsd:element name="distributionSubclass" type="mddl:DistributionSubclass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>subclass</mddl:schema-classification>
            <mddl:applicable-properties>agent announcementDate blocking caeDate caeIdentifier caeLifecycleType caeStatus caeType comment confirmationDate deadlineDate deliver documentURL effectiveDate electionPeriod eligibility entitlementDate entityIdentifier indicatorsType instrumentIdentifier issuerRef meetingDate meetingType paymentDate proofType receive recordDate recordingDate relatedTo</mddl:applicable-properties>
            <mddl:inheritable-properties>address agentType background baseValue calculationType code codeType componentIdentifier componentValue country crossrate currency dateTime dayOfWeek dayRuleType days deadlineType delayFactor description duration end endTime entityType fraction fractionHandlingType hours inclusionType industryIdentifier instrumentData instrumentFormType instrumentStatusType instrumentType lastCAE location locationType marketCenter marketConditions marketIdentifier marketStatusType marketType maxVal minVal multiplier municipality name nameRef ordinalDay partyStatusType period periodType postalCode previousCode previousDateTime quantityDescriptionType quantityType rangeType rank recurring region relationshipType relationshipValid role scopeType segmentIdentifier segmentType selection selectionAmount selectionItem start startTime stateOrProvince telephone telephoneType timezone tradingRestrictionsType tranche unitType valuationBase valuationRef valuationType website weighting</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DistributionType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabularly indicating the method of distribution of assets.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/distributionType.xml"/>
   </xsd:complexType>
   <xsd:element name="distributionType" type="mddl:DistributionType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Dividend.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dividendGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:crossrate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currency"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="DividendGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>The share of profits distributed to a holder usually on a "per share" basis.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier period previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code dayRuleType duration end marketStatusType name periodType previousCode recurring start valuationBase codeType dayOfWeek description endTime hours nameRef ordinalDay rank role startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Dividend.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="dividendGroup" type="mddl:DividendGroup"/>
   <xsd:complexType name="Dividend" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The share of profits distributed to a holder usually on a "per share" basis.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier period previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code dayRuleType duration end marketStatusType name periodType previousCode recurring start valuationBase codeType dayOfWeek description endTime hours nameRef ordinalDay rank role startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:Dividend.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="dividend" type="mddl:Dividend">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime fraction fractionHandlingType indicatorsType marketCenter multiplier period previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code dayRuleType duration end marketStatusType name periodType previousCode recurring start valuationBase codeType dayOfWeek description endTime hours nameRef ordinalDay rank role startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="DividendYield.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dividendYieldGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dividendYieldType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:crossrate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currency"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="DividendYieldGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Rate of return for an equity instrument.  Generally expressed as a percentage or a coefficient of percentage.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime dividendYieldType fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:DividendYield.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="dividendYieldGroup" type="mddl:DividendYieldGroup"/>
   <xsd:complexType name="DividendYield" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Rate of return for an equity instrument.  Generally expressed as a percentage or a coefficient of percentage.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime dividendYieldType fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:DividendYield.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="dividendYield" type="mddl:DividendYield">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime dividendYieldType fraction fractionHandlingType indicatorsType marketCenter multiplier previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code marketStatusType name previousCode valuationBase codeType dayOfWeek dayRuleType description duration end endTime hours nameRef ordinalDay period periodType rank recurring role start startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DividendYieldType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary specifying the type of dividends used to calculate the yield provided.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/dividendYieldType.xml"/>
   </xsd:complexType>
   <xsd:element name="dividendYieldType" type="mddl:DividendYieldType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="DocumentURL" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>The URL of any relevant documentation.  May also include any of a number of other URIs e.g. ftp.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdUri"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="documentURL" type="mddl:DocumentURL">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="Duration" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>A basic range of time specified in years, months, days, hours, minutes, seconds, or partial seconds.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDuration"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="duration" type="mddl:Duration">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:group name="Earnings.children">
      <xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:earningsGroup"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:earningsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:crossrate"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:currency"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:calculationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:dateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fraction"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:fractionHandlingType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:indicatorsType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:marketCenter"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:multiplier"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:previousDateTime"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityDescriptionType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:quantityType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationType"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:valuationRef"/>
         </xsd:choice>
         <xsd:choice minOccurs="1" maxOccurs="1">
            <xsd:element ref="mddl:period"/>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <xsd:complexType name="EarningsGroup">
      <xsd:annotation>
         <xsd:documentation>
            <p>Earnings reported with an instrument (typically about the issuer) as reported by the issuer or responsible agent.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime earningsType fraction fractionHandlingType indicatorsType marketCenter multiplier period previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code dayRuleType duration end marketStatusType name periodType previousCode recurring start valuationBase codeType dayOfWeek description endTime hours nameRef ordinalDay rank role startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:group ref="mddl:Earnings.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="earningsGroup" type="mddl:EarningsGroup"/>
   <xsd:complexType name="Earnings" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Earnings reported with an instrument (typically about the issuer) as reported by the issuer or responsible agent.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime earningsType fraction fractionHandlingType indicatorsType marketCenter multiplier period previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code dayRuleType duration end marketStatusType name periodType previousCode recurring start valuationBase codeType dayOfWeek description endTime hours nameRef ordinalDay rank role startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDecimal"/>
         <xsd:group ref="mddl:Earnings.children" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="earnings" type="mddl:Earnings">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Price">property</mddl:schema-classification>
            <mddl:applicable-properties>calculationType crossrate currency dateTime earningsType fraction fractionHandlingType indicatorsType marketCenter multiplier period previousDateTime quantityDescriptionType quantityType valuationRef valuationType</mddl:applicable-properties>
            <mddl:inheritable-properties>code dayRuleType duration end marketStatusType name periodType previousCode recurring start valuationBase codeType dayOfWeek description endTime hours nameRef ordinalDay rank role startTime</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="EarningsRef" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Reference to which earnings value was used.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdUri"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
   </xsd:complexType>
   <xsd:element name="earningsRef" type="mddl:EarningsRef">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="EarningsType" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Controlled Vocabulary indicating method by which "earnings" are calculated.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdString"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="scheme" use="optional"
                     default="http://www.mddl.org/mddl/scheme/earningsType.xml"/>
   </xsd:complexType>
   <xsd:element name="earningsType" type="mddl:EarningsType">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification type="Enumeration">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="EconomicClass">
      <xsd:annotation>
         <xsd:documentation>
            <p>Economic Class - Indicators Domain.  Economic (including macroeconomic) indicators.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>industryIdentifier instrumentIdentifier issueData</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark caeType calculationType clearingHouse clearingProcess clearingSettlement clearingSystem closingDate closingDateType code codeType collateral collateralType comment componentValue compounding country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue extendible extendibleDate faceValue firstAmount firstDate firstEvent formula fraction fractionHandlingType governingLaw hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType lastAmount lastCAE lastDate lastEvent lifetime linked liquidationStatusType location locationType mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType offerType ordinalDay partiesInvolved partyStatusType paymentDelay paymentDelayType penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory resetFrequency resetFrequencyType role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlementDate settlementType size start startTime stateOrProvince targetMarketType taxation taxExempt taxType telephone telephoneType terms timezone tradingRestrictionsType tranche transferSize underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType votingRightsType website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:economicClassGroup"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:industryIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:instrumentIdentifier"/>
            </xsd:choice>
            <xsd:choice minOccurs="1" maxOccurs="1">
               <xsd:element ref="mddl:issueData"/>
            </xsd:choice>
         </xsd:choice>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
   </xsd:complexType>
   <xsd:element name="economicClassGroup" type="mddl:EconomicClass"/>
   <xsd:element name="economicClass" type="mddl:EconomicClass">
      <xsd:annotation>
         <xsd:appinfo>
            <mddl:schema-classification>class</mddl:schema-classification>
            <mddl:applicable-properties>industryIdentifier instrumentIdentifier issueData</mddl:applicable-properties>
            <mddl:inheritable-properties>accrual accrualBasis accrualBasisType accrualConventionType address agent agentType agreedRestrictions allowedIndebtedness announcementDate auctionDate background baseValue benchmark caeType calculationType clearingHouse clearingProcess clearingSettlement clearingSystem closingDate closingDateType code codeType collateral collateralType comment componentValue compounding country covenant crossrate currency dateTime dayOfWeek dayRuleType days daysInMonth daysInYear debtIndicatorsType defaultClause delayFactor delivery deliveryType delta depositoryName depositorySystem description determination determinationSource dividendYield dividendYieldType duration end endTime entityIdentifier entityType eventElement eventValue extendible extendibleDate faceValue firstAmount firstDate firstEvent formula fraction fractionHandlingType governingLaw hours inclusionType incomeType incremental indicatorsType instrumentData instrumentFormType instrumentStatusType instrumentType interestRate interestRateContainer issueAmount issueDate issueFees issueFeesType issueMarketType issuePrice issuerChoice issuerRef jurisdiction jurisdictionType lastAmount lastCAE lastDate lastEvent lifetime linked liquidationStatusType location locationType mandatory marginable marginableLimit marketCenter marketConditions marketIdentifier marketStatusType marketType maturity maturityDate maturityPrice maturityType maxVal minVal modification modificationType multiplier municipality name nameRef negativePledge nextAmount nextDate nextEvent nextPeriod nonFixedRate nonFixedRateType offerType ordinalDay partiesInvolved partyStatusType paymentDelay paymentDelayType penultimateAmount penultimateDate period periodType placeOfListing placeOfTrade postalCode precision previousCode previousDateTime programType quantityDescriptionType quantityType quotation rank rate rateChangeType rateMethodChange rateSpread recurring refrainFromActs region registrationDate registrationStatusType regulationAct regulatory resetFrequency resetFrequencyType role rulesType salesRestrictionsType schedule scheduleEvent scheduleType scopeType segmentIdentifier segmentType settlementDate settlementType size start startTime stateOrProvince targetMarketType taxation taxExempt taxType telephone telephoneType terms timezone tradingRestrictionsType tranche transferSize underlying underlyingCount underwriting underwritingFees underwritingFeesType unitSize unitType useOfProceeds valuationBase valuationRef valuationType votingRightsType website weighting yield yieldType</mddl:inheritable-properties>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="EffectiveDate" mixed="true">
      <xsd:annotation>
         <xsd:documentation>
            <p>Date (and/or time) on which benefit/change becomes effective.</p>
         </xsd:documentation>
         <xsd:appinfo>
            <mddl:schema-classification type="Simple">property</mddl:schema-classification>
            <mddl:applicable-properties/>
            <mddl:inheritable-properties/>
         </xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence minOccurs="0" maxOccurs="1">
         <xsd:element ref="mddl:when" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="mddl:mdDateTime"/>
         <xsd:choice minOccurs="0" maxOccurs="1">
            <xsd:element ref="mddl:sequence"/>
            <xsd:element ref="mddl:source"/>
         </xsd:choice>
         <xsd:element ref="mddl:other" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
      <xsd:attribute name="id" type="xsd:ID" use="optional"/>
      <xsd:attribute name="validity" type="mddl:QualityEnumeration" use="optional" default="valid"/>
