<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ddi="ddi:instance:4_0" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="ddi:instance:4_0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import schemaLocation="xml.xsd" namespace="http://www.w3.org/XML/1998/namespace" />
    <xs:annotation>
        <xs:documentation>This schema describes DDI Lifecycle Data Documentation 4.0 Public Review, version 4.0.0, authored by DDI Alliance.

The Data Documentation Initiative (DDI) is an international standard for describing the data produced by surveys and other observational methods in the social, behavioral, economic, and health sciences. DDI is a free standard that can document and manage different stages in the research data lifecycle, such as conceptualization, collection, processing, distribution, discovery, and archiving. Documenting data with DDI facilitates understanding, interpretation, and use -- by people, software systems, and computer networks.

Copyright 2026 DDI Alliance.</xs:documentation>
    </xs:annotation>
    <xs:simpleType name="long">
        <xs:annotation>
            <xs:documentation xml:lang="en">An xs:long restricted to integers from -9007199254740991 through 9007199254740991, inclusive.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:long">
            <xs:minInclusive value="-9007199254740991" />
            <xs:maxInclusive value="9007199254740991" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="unsignedLong">
        <xs:annotation>
            <xs:documentation xml:lang="en">An xs:unsignedLong restricted to integers from 0 through 9007199254740991, inclusive.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:unsignedLong">
            <xs:minInclusive value="0" />
            <xs:maxInclusive value="9007199254740991" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="positiveInteger">
        <xs:annotation>
            <xs:documentation xml:lang="en">An xs:positiveInteger restricted to integers from 1 through 9007199254740991, inclusive.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:positiveInteger">
            <xs:minInclusive value="1" />
            <xs:maxInclusive value="9007199254740991" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="negativeInteger">
        <xs:annotation>
            <xs:documentation xml:lang="en">An xs:negativeInteger restricted to integers from -9007199254740991 through -1, inclusive.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:negativeInteger">
            <xs:minInclusive value="-9007199254740991" />
            <xs:maxInclusive value="-1" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="nonPositiveInteger">
        <xs:annotation>
            <xs:documentation xml:lang="en">An xs:nonPositiveInteger restricted to integers from -9007199254740991 through 0, inclusive.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:nonPositiveInteger">
            <xs:minInclusive value="-9007199254740991" />
            <xs:maxInclusive value="0" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="nonNegativeInteger">
        <xs:annotation>
            <xs:documentation xml:lang="en">An xs:nonNegativeInteger restricted to integers from 0 through 9007199254740991, inclusive.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:nonNegativeInteger">
            <xs:minInclusive value="0" />
            <xs:maxInclusive value="9007199254740991" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="decimal">
        <xs:annotation>
            <xs:documentation xml:lang="en">An xs:decimal with at most 29 total digits and 28 fractional digits, between -79228162514264337593543950335 and 79228162514264337593543950335, inclusive. Exact interchange additionally requires an unsigned 96-bit coefficient with scale 0 through 28 and an unchanged decimal value after JavaScript JSON parsing and writing; application validation must enforce these additional conditions.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:totalDigits value="29" />
            <xs:fractionDigits value="28" />
            <xs:minInclusive value="-79228162514264337593543950335" />
            <xs:maxInclusive value="79228162514264337593543950335" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="float">
        <xs:annotation>
            <xs:documentation xml:lang="en">A finite IEEE 754 binary32 value, between -3.4028234663852886E38 and 3.4028234663852886E38, inclusive. Accepts xs:float decimal and scientific notation, including subnormal values; excludes NaN and infinities.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:float">
            <xs:minInclusive value="-3.4028234663852886E38" />
            <xs:maxInclusive value="3.4028234663852886E38" />
            <xs:pattern value="[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)([eE][+-]?[0-9]+)?" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="double">
        <xs:annotation>
            <xs:documentation xml:lang="en">A finite IEEE 754 binary64 value, between -1.7976931348623157E308 and 1.7976931348623157E308, inclusive. Accepts xs:double decimal and scientific notation, including subnormal values; excludes NaN and infinities.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:double">
            <xs:minInclusive value="-1.7976931348623157E308" />
            <xs:maxInclusive value="1.7976931348623157E308" />
            <xs:pattern value="[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)([eE][+-]?[0-9]+)?" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="dateTime">
        <xs:annotation>
            <xs:documentation xml:lang="en">An xs:dateTime with a required timezone and whole-millisecond precision, from 0001-01-01T00:00:00Z through 9999-12-31T23:59:59.999Z, inclusive. Timezone offsets are permitted; the bounds apply to the equivalent UTC instant.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:dateTime">
            <xs:minInclusive value="0001-01-01T00:00:00Z" />
            <xs:maxInclusive value="9999-12-31T23:59:59.999Z" />
            <xs:pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{1,3}0*)?(Z|[+-][0-9]{2}:[0-9]{2})" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="date">
        <xs:annotation>
            <xs:documentation xml:lang="en">An xs:date representing a local calendar date in years 0001 through 9999, without a timezone.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:date">
            <xs:pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2}" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="time">
        <xs:annotation>
            <xs:documentation xml:lang="en">An xs:time representing a local time without a timezone, at microsecond precision. The end-of-day value 24:00:00 is equivalent to 00:00:00.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:time">
            <xs:pattern value="[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{1,6}0*)?" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="duration">
        <xs:annotation>
            <xs:documentation xml:lang="en">An xs:duration representing elapsed whole milliseconds from -922337203685477 through 922337203685477, inclusive. Accepts positive and negative durations expressed in days, hours, minutes and seconds; year and month components are excluded.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:duration">
            <xs:minInclusive value="-P10675199DT2H48M5.477S" />
            <xs:maxInclusive value="P10675199DT2H48M5.477S" />
            <xs:pattern value="-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?(([0-9]+(\.[0-9]{0,3}0*)?|\.[0-9]{1,3}0*)S)?)?" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="cogsDate">
        <xs:annotation>
            <xs:documentation xml:lang="en">A union of dateTime, date, gYearMonth, gYear, and duration.</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="ddi:dateTime ddi:date xs:gYearMonth xs:gYear ddi:duration" />
    </xs:simpleType>
    <xs:complexType name="LangString">
        <xs:annotation>
            <xs:documentation xml:lang="en">A string paired with a required BCP 47 xml:lang value.</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute ref="xml:lang" use="required" />
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:simpleType name="language">
        <xs:annotation>
            <xs:documentation xml:lang="en">A BCP 47 language tag. Instance validation applies the complete grammar, including grandfathered tags.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:language">
            <xs:pattern value="((([A-Za-z]{2,3}(-[A-Za-z]{3}){0,3}|[A-Za-z]{4}|[A-Za-z]{5,8})(-[A-Za-z]{4})?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*(-[0-9A-WY-Za-wy-z](-[A-Za-z0-9]{2,8})+)*(-[xX](-[A-Za-z0-9]{1,8})+)?|[xX](-[A-Za-z0-9]{1,8})+)|[eE][nN]-[gG][bB]-[oO][eE][dD]|[iI]-[aA][mM][iI]|[iI]-[bB][nN][nN]|[iI]-[dD][eE][fF][aA][uU][lL][tT]|[iI]-[eE][nN][oO][cC][hH][iI][aA][nN]|[iI]-[hH][aA][kK]|[iI]-[kK][lL][iI][nN][gG][oO][nN]|[iI]-[lL][uU][xX]|[iI]-[mM][iI][nN][gG][oO]|[iI]-[nN][aA][vV][aA][jJ][oO]|[iI]-[pP][wW][nN]|[iI]-[tT][aA][oO]|[iI]-[tT][aA][yY]|[iI]-[tT][sS][uU]|[sS][gG][nN]-[bB][eE]-[fF][rR]|[sS][gG][nN]-[bB][eE]-[nN][lL]|[sS][gG][nN]-[cC][hH]-[dD][eE]|[aA][rR][tT]-[lL][oO][jJ][bB][aA][nN]|[cC][eE][lL]-[gG][aA][uU][lL][iI][sS][hH]|[nN][oO]-[bB][oO][kK]|[nN][oO]-[nN][yY][nN]|[zZ][hH]-[gG][uU][oO][yY][uU]|[zZ][hH]-[hH][aA][kK][kK][aA]|[zZ][hH]-[mM][iI][nN]|[zZ][hH]-[mM][iI][nN]-[nN][aA][nN]|[zZ][hH]-[xX][iI][aA][nN][gG])" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="anyURI">
        <xs:annotation>
            <xs:documentation xml:lang="en">An RFC 3986 URI reference. Instance validation additionally checks scheme, fragment, and bracket structure.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:anyURI">
            <xs:pattern value="([A-Za-z0-9._~:/?#\[\]@!$&amp;'()*+,;=-]|%[0-9A-Fa-f]{2})*" />
        </xs:restriction>
    </xs:simpleType>
    <xs:group name="IdentificationGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">The ordered identification fields shared by all item references. Full item definitions declare their identification fields as normal properties.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="1" maxOccurs="1" name="URN">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*([Uu][Rr][Nn]:[Dd][Dd][Ii]:[a-zA-Z0-9\-]{1,63}(\.[a-zA-Z0-9\-]{1,63})*:[A-Za-z0-9\*@$\-_]+(\.[A-Za-z0-9\*@$\-_]+)?:[0-9]+(\.[0-9]+)*)(.|\r|\n)*" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Agency">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*([a-zA-Z0-9\-]{1,63}(\.[a-zA-Z0-9\-]{1,63})*)(.|\r|\n)*" />
                        <xs:minLength value="1" />
                        <xs:maxLength value="253" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="ID">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*([A-Za-z0-9\*@$\-_]+(\.[A-Za-z0-9\*@$\-_]+)?)(.|\r|\n)*" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Version">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*([0-9]+(\.[0-9]+)*)(.|\r|\n)*" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="Agent" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">Base class for Individual and Organization. This allows strongly typed references.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence />
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ApprovalReview">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides information about the Approval Review undertaken in relation to the activity. Identifies the organization processing the review, the role of the approval review organization, case number, description, and related dates. Allows the inclusion of a reference to an external source detailing the approval review.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TypeOfApprovalReview" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief identification of the type of approval review such as IRB, ethical, compliance, etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ReviewObjectReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an existing identifiable object using the Reference structure.  TypeOfObject should be set to any Versionable or Maintainable object.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ApprovalReview" />
                                            <xs:enumeration value="Archive" />
                                            <xs:enumeration value="Category" />
                                            <xs:enumeration value="CategoryGroup" />
                                            <xs:enumeration value="CategoryScheme" />
                                            <xs:enumeration value="ClassificationCorrespondenceTable" />
                                            <xs:enumeration value="ClassificationFamily" />
                                            <xs:enumeration value="ClassificationIndex" />
                                            <xs:enumeration value="ClassificationItem" />
                                            <xs:enumeration value="ClassificationLevel" />
                                            <xs:enumeration value="ClassificationSeries" />
                                            <xs:enumeration value="CodeList" />
                                            <xs:enumeration value="CodeListGroup" />
                                            <xs:enumeration value="CodeListScheme" />
                                            <xs:enumeration value="CognitiveExpertReviewActivity" />
                                            <xs:enumeration value="CognitiveInterviewActivity" />
                                            <xs:enumeration value="Comparison" />
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="Concept" />
                                            <xs:enumeration value="ConceptGroup" />
                                            <xs:enumeration value="ConceptScheme" />
                                            <xs:enumeration value="ConceptualComponent" />
                                            <xs:enumeration value="ConceptualVariable" />
                                            <xs:enumeration value="ConceptualVariableGroup" />
                                            <xs:enumeration value="ConceptualVariableScheme" />
                                            <xs:enumeration value="ContentReviewActivity" />
                                            <xs:enumeration value="ControlConstructGroup" />
                                            <xs:enumeration value="ControlConstructScheme" />
                                            <xs:enumeration value="DDIInstance" />
                                            <xs:enumeration value="DDIProfile" />
                                            <xs:enumeration value="DataCaptureDevelopment" />
                                            <xs:enumeration value="DataCollection" />
                                            <xs:enumeration value="DataRelationship" />
                                            <xs:enumeration value="DataSet" />
                                            <xs:enumeration value="DevelopmentActivityGroup" />
                                            <xs:enumeration value="DevelopmentActivityScheme" />
                                            <xs:enumeration value="DevelopmentImplementation" />
                                            <xs:enumeration value="DevelopmentPlan" />
                                            <xs:enumeration value="DevelopmentResults" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="FocusGroupActivity" />
                                            <xs:enumeration value="GeneralInstruction" />
                                            <xs:enumeration value="GenerationInstruction" />
                                            <xs:enumeration value="GenericMap" />
                                            <xs:enumeration value="GeographicLocation" />
                                            <xs:enumeration value="GeographicLocationGroup" />
                                            <xs:enumeration value="GeographicLocationScheme" />
                                            <xs:enumeration value="GeographicStructure" />
                                            <xs:enumeration value="GeographicStructureGroup" />
                                            <xs:enumeration value="GeographicStructureScheme" />
                                            <xs:enumeration value="Group" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="InLineNCubeRecordLayout" />
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="InformationClassification" />
                                            <xs:enumeration value="Instruction" />
                                            <xs:enumeration value="InstructionGroup" />
                                            <xs:enumeration value="Instrument" />
                                            <xs:enumeration value="InstrumentGroup" />
                                            <xs:enumeration value="InstrumentScheme" />
                                            <xs:enumeration value="InterviewerInstructionScheme" />
                                            <xs:enumeration value="LocalHoldingPackage" />
                                            <xs:enumeration value="LogicalProduct" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="ManagedCategoryRepresentation" />
                                            <xs:enumeration value="ManagedCodeRepresentation" />
                                            <xs:enumeration value="ManagedDateTimeRepresentation" />
                                            <xs:enumeration value="ManagedDistributionRepresentation" />
                                            <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                            <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                            <xs:enumeration value="ManagedGeographicRepresentation" />
                                            <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                            <xs:enumeration value="ManagedLocationRepresentation" />
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                            <xs:enumeration value="ManagedNominalRepresentation" />
                                            <xs:enumeration value="ManagedNumericRepresentation" />
                                            <xs:enumeration value="ManagedRankingRepresentation" />
                                            <xs:enumeration value="ManagedRepresentationGroup" />
                                            <xs:enumeration value="ManagedRepresentationScheme" />
                                            <xs:enumeration value="ManagedScaleRepresentation" />
                                            <xs:enumeration value="ManagedTextRepresentation" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="MeasurementGroup" />
                                            <xs:enumeration value="MeasurementItem" />
                                            <xs:enumeration value="MeasurementScheme" />
                                            <xs:enumeration value="Methodology" />
                                            <xs:enumeration value="NCube" />
                                            <xs:enumeration value="NCubeGroup" />
                                            <xs:enumeration value="NCubeInstance" />
                                            <xs:enumeration value="NCubeInstanceI" />
                                            <xs:enumeration value="NCubeInstanceT" />
                                            <xs:enumeration value="NCubeScheme" />
                                            <xs:enumeration value="Organization" />
                                            <xs:enumeration value="OrganizationGroup" />
                                            <xs:enumeration value="OrganizationScheme" />
                                            <xs:enumeration value="OtherMaterial" />
                                            <xs:enumeration value="OtherMaterialGroup" />
                                            <xs:enumeration value="OtherMaterialScheme" />
                                            <xs:enumeration value="PhysicalDataProduct" />
                                            <xs:enumeration value="PhysicalInstance" />
                                            <xs:enumeration value="PhysicalInstanceGroup" />
                                            <xs:enumeration value="PhysicalStructure" />
                                            <xs:enumeration value="PhysicalStructureGroup" />
                                            <xs:enumeration value="PhysicalStructureScheme" />
                                            <xs:enumeration value="Population" />
                                            <xs:enumeration value="PopulationGroup" />
                                            <xs:enumeration value="PopulationScheme" />
                                            <xs:enumeration value="PretestActivity" />
                                            <xs:enumeration value="ProcessingEvent" />
                                            <xs:enumeration value="ProcessingEventGroup" />
                                            <xs:enumeration value="ProcessingEventScheme" />
                                            <xs:enumeration value="ProcessingInstructionGroup" />
                                            <xs:enumeration value="ProcessingInstructionScheme" />
                                            <xs:enumeration value="ProprietaryRecordLayout" />
                                            <xs:enumeration value="QualityScheme" />
                                            <xs:enumeration value="QualityStandard" />
                                            <xs:enumeration value="QualityStandardGroup" />
                                            <xs:enumeration value="QualityStatement" />
                                            <xs:enumeration value="QualityStatementGroup" />
                                            <xs:enumeration value="QuestionBlock" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="QuestionGrid" />
                                            <xs:enumeration value="QuestionGroup" />
                                            <xs:enumeration value="QuestionItem" />
                                            <xs:enumeration value="QuestionScheme" />
                                            <xs:enumeration value="RecordLayout" />
                                            <xs:enumeration value="RecordLayoutGroup" />
                                            <xs:enumeration value="RecordLayoutScheme" />
                                            <xs:enumeration value="Relation" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="RepresentationMap" />
                                            <xs:enumeration value="RepresentedVariable" />
                                            <xs:enumeration value="RepresentedVariableGroup" />
                                            <xs:enumeration value="RepresentedVariableScheme" />
                                            <xs:enumeration value="ResourcePackage" />
                                            <xs:enumeration value="Sample" />
                                            <xs:enumeration value="SampleFrame" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingInformationGroup" />
                                            <xs:enumeration value="SamplingInformationScheme" />
                                            <xs:enumeration value="SamplingPlan" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                            <xs:enumeration value="StatisticalClassification" />
                                            <xs:enumeration value="StudyUnit" />
                                            <xs:enumeration value="SubUniverseClass" />
                                            <xs:enumeration value="TabularNCubeRecordLayout" />
                                            <xs:enumeration value="TranslationActivity" />
                                            <xs:enumeration value="UnitType" />
                                            <xs:enumeration value="UnitTypeGroup" />
                                            <xs:enumeration value="UnitTypeScheme" />
                                            <xs:enumeration value="Universe" />
                                            <xs:enumeration value="UniverseGroup" />
                                            <xs:enumeration value="UniverseScheme" />
                                            <xs:enumeration value="Variable" />
                                            <xs:enumeration value="VariableGroup" />
                                            <xs:enumeration value="VariableScheme" />
                                            <xs:enumeration value="VariableStatistics" />
                                            <xs:enumeration value="Weighting" />
                                            <xs:enumeration value="WeightingMethodology" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="AgencyOrganizationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an organization or individual, that provided the approval review. TypeOfObject should be set to Organization.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ReviewerRole" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Role of the reviewing organization or individual. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ReferenceIdentifier" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The reference or case identification of the review. Used to specify or track the case by the review organization</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of the approval review which can include requirements for the review, contents, or results.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ApprovalReviewDocumentReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Link to a document related to the ethical review using the OtherMaterial structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OtherMaterial" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ApplicationDate" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Date materials submitted for approval review.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ApprovalDate" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Date approval received from approval review organization.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ApprovedPeriod" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Period for which the approval is valid. This may be a start date, and end date, or range specified as a start and end date.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Archive">
        <xs:annotation>
            <xs:documentation xml:lang="en">A maintainable module containing information related to the archiving (longer term access and/or preservation) of the data and metadata. Note that in DDI Archive refers to a set of processes rather than a location. Archive contents are split into archive specific information (information that is related to the organization or individual performing archival activities) and information that reflects the processes that the metadata or data have undergone which should be maintained along with other content if the metadata changes locations. Two key pieces of information held within the Archive are the Organization Scheme (containing records of Organizations, Individuals, and the Relationships between them) and the Lifecycle. The Lifecycle can be used to document any significant event in the life of the data and metadata. It is a series of Lifecycle Events which note the date of the event, what took place, and who was involved. The module is described by a name, label, and description, archive specific information, an Organization Scheme (in-line or by reference), Lifecycle Information, and Other Materials related to the objects within the Archive Module. Archive Specific information covers details regarding individual items and collections within the archive as well as access conditions, funding and budget information, and quality statements. The reference to the Organization or individual acting as the archive as well as a coverage statement regarding the archive collection is found here.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ArchiveModuleName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Archive module.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Archive module.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the Archive module.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ArchiveSpecific" type="ddi:ArchiveSpecificType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains metadata specific to a particular archive's holding.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OrganizationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A list of the organizations related to the DDI instance. This includes information on the archives responsible for creating and maintaining the instance. All agencies must be defined as an Organization in an Archive schema (which can be defined inline or resolved externally).</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OrganizationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="LifecycleInformation" type="ddi:LifecycleInformationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">LifecycleInformation contains the description of a set of events in the life cycle of the data. It may be extended by specific users.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="BaseLogicalProduct" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">This is an abstract structure which serves as a substitution base for current and future LogicalProduct definitions relating to specific data types. Used as an extension base for all other LogicalProducts within its substitution group, it ensures that all DDI LogicalProduct descriptions will contain a consistent means of linking a physical data file to its logical (intellectual) description via the LogicalRecord found in DataRelationship. The extension base includes the standard name, label, and description, coverage information, a structure to define data relationships (identifies each logical record and the relationship(s) between them), as well as OtherMaterial related to its contents.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="LogicalProductName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the LogicalProduct.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the LogicalProduct.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the LogicalProduct.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Coverage" type="ddi:CoverageType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The Coverage statement at this level may be used to restrict the coverage described in the StudyUnit module. For example if this specific logical product from a population and housing census only covers housing questions or only provides State and County level data these should be noted here. If there are no changes in the coverage from the coverage of the StudyUnit module, no entry is needed here.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataRelationshipReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a written description of how the logical contents of the file relate to each other for programming purposes. For example, noting that there are household, family and person items where the household is identified by variable, the unique family by the concatenation of variable_H and variable_F, and the unique person within a household by the concatenation of variable_H and variable_P.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DataRelationship" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="BaseRecordLayout" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">This type structures an abstract element which is used only as the head of a substitution group. It contains a reference to the Physical Structure that is available for use in all of the substitute RecordLayout structures.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="PhysicalStructureLinkReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the PhysicalStructure used by this Record Layout.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalStructure" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="PhysicalStructurePhysicalRecordSegmentUsed" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">the PhysicalSegment used by this Record Layout.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EndOfLineMarker" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Specifies the end-of-line (EOL) marker used in the file as produced. If no value is provided assume the use of a CRLF (carriage return and line feed). This is the common EOL for PC's. The common EOL in a Unix environment is LF. Some systems will automatically translate EOLs when a file is moved across systems. Common EOLs include: CR (carriage return), LF (line feed), CRLF, NEL (next line), VT (vertical tab), FF (form feed), LS (line separator) and PS (paragraph separator). See Part I documentation for more detailed information. This object supports the use of a controlled vocabulary. Use of a common controlled vocabulary is strongly recommended.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="TextQualifier">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Use for delimited files to designate the which text qualifier, if any, was used. Valid values include: singleQuote, doubleQuote, and none.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="singleQuote" />
                                <xs:enumeration value="doubleQuote" />
                                <xs:enumeration value="none" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Category">
        <xs:annotation>
            <xs:documentation xml:lang="en">A description of a particular category or response. OECD Glossary of Statistical Terms: Generic term for items at any level within a classification, typically tabulation categories, sections, subsections, divisions, subdivisions, groups, subgroups, classes and subclasses. In addition to the standard name, label, and description, a category may contain a reference to a defining concept, provide information on how the category was generated (membership defined), and indicate if it is the description of a type of missing value.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoryName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the category.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the category.or of different types or applications.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the category. Note that comparison of categories is done using the content of description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the defining concept.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Generation" type="ddi:GenerationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes how the category is derived or generated. A process for describing the determination of category membership.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SubCategoryReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to one or more categories for which the current category is a broader definition. Allows for a reference to the narrower category and the ability to define the relationship as a specialization or part.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Category" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsMissing" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If the category is describing a classification of "missing data" set the value of isMissing to "true".</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CategoryGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of Category descriptions, which may be ordered or hierarchical. In addition to the name, label, and description of the group, the structure allows for defining the group as a valid category value using a DefiningCategoryReference, and a listing of Categories and CategoryGroups in any order.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfCategoryGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual identification of the CategoryGroup type. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoryGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the CategoryGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the CategoryGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the CategoryGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefiningCategoryReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a category that defines the group, thereby allowing the group to define the contents of that category by explicitly identifying its members.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Category" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this CategoryGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoryReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A category defined as a member of this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Category" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoryGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A category group that is a member of this group (nesting structure).</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CategoryGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CategoryScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A scheme containing a set of Categories managed by an agency. These are used to manage category definitions used as a domain for data element and basic content for a category representations. In addition to the name, label, and description of the scheme, the structure supports the inclusion of another CategoryScheme by reference, a set of Category descriptions either in-line or by reference, and the description of a CategoryGroup either in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CategorySchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the CategoryScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the CategoryScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the CategoryScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CategorySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for inclusion by reference of other category schemes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CategoryScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoryReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of a particular category or response. OECD Glossary of Statistical Terms: Generic term for items at any level within a classification, typically tabulation categories, sections, subsections, divisions, subdivisions, groups, subgroups, classes and subclasses.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Category" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoryGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows categories to be grouped with or without hierarchical structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CategoryGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ClassificationCorrespondenceTable">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Correspondence Table expresses the relationship between two Statistical Classifications. These are typically: two versions from the same Classification Series; Statistical Classifications from different Classification Series; a variant and the version on which it is based; different versions of a variant. In the first and last examples, the Correspondence Table facilitates comparability over time. Correspondence relationships are shown in both directions</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Describable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OwnerReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The statistical office, other authority or section that created and maintains the Correspondence Table. A Correspondence Table may have several owners. TypeOfObject should be Organization or Individual.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MaintenanceUnitReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The unit or group of persons who are responsible for the Correspondence Table, i.e. for maintaining and updating it. TypeOfObject should be Organization or Individual.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ContactPersonReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The person(s) who may be contacted for additional information about the Correspondence Table. TypeOfObject should be Organization or Individual.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Publication" type="ddi:PublicationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A list of the publications in which the Correspondence Table has been published. </xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="SourceClassificationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The Statistical Classification from which the correspondence is made. TypeOfObject should be StatisticalClassification.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StatisticalClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="TargetClassificationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The Statistical Classification(s) to which the correspondence is directed. There may be multiple target Statistical Classifications associated with the Correspondence Table. TypeOfObject should be StatisticalClassification.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StatisticalClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="SourceLevelReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The correspondence is normally restricted to a certain Level in the source Statistical Classification. In this case, target Classification Items are assigned only to source Classification Items on the given level. If no level is indicated, target Classification Items can be assigned to any Level of the source Statistical Classification. TypeOfObject should be set to ClassificationLevel.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ClassificationLevel" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="TargetLevelReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The correspondence is normally restricted to a certain Level in the target Statistical Classification. In this case, source Classification Items are assigned only to target Classification Items on the given Level. If no Level is indicated, source Classification Items can be assigned to any Level of the target Statistical Classification. TypeOfObject should be set to ClassificationLevel.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ClassificationLevel" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RelationshipMappingType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A Correspondence Table can define a 1:1, 1:N, N:1 or M:N relationship between source and target Classification Items. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Maps" type="ddi:ClassificationMapType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The relationship between two Statistical Classifications. A Map is an expression of the relation between a Classification Item in a source Statistical Classification and a corresponding Classification Item in the target Statistical Classification. The Map should specify whether the relationship between the two Classification Items is partial or complete. Depending on the relationship type of the Correspondence Table, there may be several Maps for a single source or target Classification Item.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="FloatingMapDate" type="ddi:cogsDate">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If the source and/or target Statistical Classifications of a Correspondence Table are floating Statistical Classifications, the date of the Correspondence Table must be noted. The Correspondence Table expresses the relationships between the two Statistical Classifications as they existed on the date specified in the Correspondence Table.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ClassificationFamily">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Classification Family is a group of Classification Series related from a particular point of view. The Classification Family is related by being based on a common concept (e.g. economic activity).</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Name" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Classification Family.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ClassificationFamily.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ClassificationFamily.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ClassificationSeriesReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A Classification Family may refer to a number of Classification Series. Allows for in-line entry of a Classification Series.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ClassificationSeries" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ClassificationIndex">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Classification Index is an ordered list (alphabetical, in code order etc) of Classification Index Entries. A Classification Index can relate to one particular or to several Statistical Classifications. A Classification Index shows the relationship between text found in statistical data sources (responses to survey questionnaires, administrative records) and one or more Statistical Classifications. A Classification Index may be used to assign the codes for Classification Items to observations in statistical collections. </xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Describable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="ReleaseDate" type="ddi:cogsDate">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Date when the current version of the Classification Index was released.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MaintenanceUnitReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The unit or group of persons within the organization  responsible for the Classification Index, i.e. for adding, changing or deleting Classification Index Entries. TypeOfObject should be set to Organization or Individual</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ContactPersonReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en"> Person(s) who may be contacted for additional information about the Classification Index. TypeOfObject should be set to Organization or Individual.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Publication" type="ddi:PublicationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A list of the publications in which the Classification Index has been published.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Languages" type="ddi:language">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A Classification Index can exist in several languages. Indicates the languages available. If a Classification Index exists in several languages, the number of entries in each language may be different, as the number of terms describing the same phenomenon can change from one language to another. However, the same phenomena should be described in each language. Language is expressed using standard RFC 1766 language codes (for example: fr, en) and may be extended with the use of specific locations (en-UK).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Corrections" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Summary description of corrections, which have occurred within the Classification Index. Corrections include changing the item code associated with a Classification Index Entry.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CodingInstructions" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Additional information which drives the coding process for all entries in a Classification Index.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ClassificationIndexEntry" type="ddi:ClassificationIndexEntryType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An ordered list (alphabetical, in code order etc.) of Classification Index Entries.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ClassificationItem">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Classification Item represents a Category at a certain Level within a Statistical Classification. It defines the content and the borders of the category. An object/unit can be classified to one and only one Classification Item at each Level of a Statistical Classification.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Describable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="ItemCode" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A Classification Item is identified by an alphabetical, numerical or alphanumerical code, which is in line with the code structure of the Level. The code is unique within the Statistical Classification to which the Classification Item belongs.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DefiningConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A concept which describes the Classification Item. TypeOfObject should be set to Concept.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Includes" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Specifies the contents of the category. Supports multiple languages and use of structured content.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="IncludesAlso" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A list of borderline cases, which belong to the described category. Supports multiple languages and use of structured content.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Excludes" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A list of borderline cases, which do not belong to the described category. Excluded cases may contain a reference to the Classification Items to which the excluded cases belong. Supports multiple languages and use of structured content.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ExcludedClassificationItemReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the Classification Items to which the excluded cases belong. TypeOfObject should be set to ClassificationItem.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ClassificationItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsGenerated" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates whether or not the Classification Item has been generated to make the Level to which it belongs complete.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsValid" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If updates are allowed in the Statistical Classification, a Classification Item may be restricted in its validity, i.e. it may become valid or invalid after the Statistical Classification has been released. Indicates whether or not the Classification Item is currently valid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ValidFrom" type="ddi:cogsDate">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Date from which the Classification Item became valid. The date must be defined if the Classification Item belongs to a floating Statistical Classification.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ValidTo" type="ddi:cogsDate">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Date at which the Classification Item became invalid. The date must be defined if the Classification Item belongs to a floating Statistical Classification and is no longer valid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="FutureEvents" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The future events describe a change (or a number of changes) related to an invalid Classification Item. These changes may e.g. have turned the now invalid Classification Item into one or several successor Classification Items. In describing these changes, terminology from the Typology of item changes, found in Appendix 3 should be used. This allows the possibility to follow successors of the Classification Item in the future.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SuccessorClassificationItemReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Future events may e.g. have turned the now invalid Classification Item into one or several successor Classification Items, listed here. TypeOfObject should be set to ClassificationItem.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ClassificationItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ChangesFromPriorVersion" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the changes, which the Classification Item has been subject to from the previous version to the actual Statistical Classification. In describing these changes, terminology from the Typology of item changes, found in Appendix 3 of GSIM should be used.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Updates" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the changes, which the Classification Item has been subject to during the life time of the actual Statistical Classification.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ParentClassificationItemReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The Classification Item at the next higher Level of the Statistical Classification of which the actual Classification Item is a sub item. TypeOfObject should be set to ClassificationItem.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ClassificationItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CaseLaw" type="ddi:CaseLawType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Refers to one or more case law rulings related to the Classification Item.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ClassificationLevel">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Statistical Classification has a structure which is composed of one or several Levels. A Level often is associated with a concept, which defines it. In a hierarchical Statistical Classification the Classification Items of each Level but the highest are aggregated to the nearest higher Level. A linear Statistical Classification has only one Level. </xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Describable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="LevelCodeType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates whether the code at the Level is alphabetical, numerical or alphanumerical. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="LevelCodeStructure" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates how the code at the Level is constructed of numbers, letters and separators. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DummyCode" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Rule for the construction of dummy codes from the codes of the next higher Level (used when one or several categories are the same in two consecutive Levels).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DefiningConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A concept which describes the level. TypeOfObject should be set to Concept.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ClassificationSeries">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Classification Series is an ensemble of one or several consecutive Statistical Classifications under a particular heading (for example ISIC or ISCO).</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Describable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SeriesContext" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A Classification Series can be designed in a specific context. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UnitTypeClassifiedReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A Classification Series is designed to classify a specific type of object/unit according to a specific attribute. TypeOfObject should be set to UnitType.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitType" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SubjectArea" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Areas of statistics in which the Classification Series is implemented. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OwnerReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The statistical office or other authority, which created and maintains the Statistical Classification(s) related to the Classification Series. A Classification Series may have several owners. TypeOfObject should be set to Organization or Individual.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A Classification Series can be associated with one or a number of keywords. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="StatisticalClassificationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A Classification Series has at least one Statistical Classification. Allows for in-line entry of a Statistical Classification.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StatisticalClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="CurrentStatisticalClassificationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If there are several Statistical Classifications related to a Classification Series, one Statistical Classification may be assigned as the currently valid Statistical Classification. TypeOfObject should be set to StatisticalClassification.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StatisticalClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CodeList">
        <xs:annotation>
            <xs:documentation xml:lang="en">A structure used to associate a list of code values to specified categories. May be flat or hierarchical. This is a maintainable object. In addition to the standard name, label, and description the CodeList specifies a recommended data type, the hierarchical nature of the CodeList, level descriptions, individual code values and associated category, and whether the CodeList contents are used to represent system specific missing values. May include another CodeList by reference. If including other CodeLists make sure there are no code conflicts in the overall content. A code value must be unique within the CodeList. May also include a reference to a default CategoryScheme.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CodeListName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the CodeList.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the CodeList.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the CodeList.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. This field is important as some codes represented as numeric should be treated as strings, i.e., many standardized codes for industry, occupation, education, etc. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CodeListReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for inclusion by reference of another CodeList. Care must be taken to ensure that all code values of the resulting CodeList are unique.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CodeList" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="CategorySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a default category scheme, with the assumption that all categories referenced by the subsequent codes are part of it, unless overwritten by the scheme reference in the CategoryReference field of the code.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CategoryScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="HierarchyType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the type of hierarchy used in the nesting of categories. Possible values are Regular and Irregular. A regular nesting indicates that the category hierarchy is consistent at all lower levels of the hierarchy, i.e., the lowest levels of the hierarchy are at the same level for every branch on the hierarchy.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="Regular" />
                                <xs:enumeration value="Irregular" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Level" type="ddi:LevelType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the levels of the code hierarchy. The level describes the nesting structure of a hierarchical coding structure. Note that the attribute levelNumber is used for referencing specific codes to their level identifier.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Code" type="ddi:CodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Includes a code value, references the category label, and describes the code's position in a hierarchy.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsSystemMissingValue" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If "true" contents are used to represent system specific missing values. The default value is "false".</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CodeListGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">A grouping of CodeLists for conceptual or administrative purposed. May be hierarchical.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfCodeListGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual identification of the group type. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CodeListGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the CodeListGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the CodeListGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the CodeListGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this CodeList group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this CodeList group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the CodeLists in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CodeListReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent CodeList.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CodeList" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CodeListGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent CodeListGroup. This allows for nesting of CodeListGroups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CodeListGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CodeListScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A scheme containing sets of CodeLists that are used by reference to define code representations used by value representations and response domains. In addition to the standard name, label, description, the CodeListScheme may contain another CodeListScheme by reference, CodeLists either in-line or by reference, and CodeListGroups either in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CodeListSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the CodeListScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the CodeListScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the CodeListScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CodeListSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the inclusion of another CodeListScheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CodeListScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CodeListReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A structure used to associate a list of code values to specified categories. May be flat or hierarchical. A maintainable CodeList listed in the CodeListScheme in-line.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CodeList" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CodeListGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a group of CodeLists for conceptual, administrative or other purposes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CodeListGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CognitiveExpertReviewActivity">
        <xs:annotation>
            <xs:documentation xml:lang="en">A substitution for DevelopmentActivity which requires no additional information other than the specification of the type of cognitive expert review taking place for development purposes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:DevelopmentActivity">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfCognitiveExpertReview" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the specific type of Cognitive Expert Interview. Supports the use of a controlled vocabulary which is strongly recommended.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CognitiveInterviewActivity">
        <xs:annotation>
            <xs:documentation xml:lang="en">A substitution for DevelopmentActivity which requires no additional information other than the specification of the type of cognitive interview review taking place for development purposes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:DevelopmentActivity">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfCognitiveInterview" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the specific type of Cognitive Interview. Supports the use of a controlled vocabulary which is strongly recommended.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Comparison">
        <xs:annotation>
            <xs:documentation xml:lang="en">A maintainable module containing maps between objects of the same or similar type. Maps allow for pair-wise mapping of two objects by describing their similarities and differences in order to make assertions regarding their comparability. Currently maps allow for the comparison of concepts, variables, questions, categories, universes, and representations that have managed content (code, category, numeric, text, datetime and scale). These mapping(s) inform users on the comparability of two objects and facilitate automation. Note that all maps are pairwise, identifying two schemes and the correlation between two items in those schemes. Due to the complexity of some objects, multiple mappings may be required to cover details of the comparison of component parts, e.g. a QuestionMap may also have a related RepresentationMap. By using a set of pairwise comparisons, it is possible to describe complex correspondences - pairwise comparisons are easier to process. In addition to providing a standard name, label, and description, Comparison consists of a simple stack of comparison maps. Comparison maps are currently limited to those objects that can be referenced and are sufficiently structured to support a clear comparison.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ComparisonName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the comparison.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the comparison.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the comparison.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptMapReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Maps the content of two different concept schemes of objects of the same type providing detail for the comparable items within those two schemes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GenericMap" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableMapReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Maps the content of two different variable schemes of objects of the same type providing detail for the comparable items within those two schemes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GenericMap" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionMapReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Maps the content of two different question schemes of objects of the same type providing detail for the comparable items within those two schemes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GenericMap" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoryMapReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Maps the content of two different category schemes of objects of the same type providing detail for the comparable items within those two schemes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GenericMap" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentationMapReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Maps between any two managed representations. In addition to representation types held in a ManagedRepresentationScheme, managed representations include CategoryScheme and coded representations which include CodeList, GeographicStructureCode or GeographicLocationCode. Note that the source can be any managed representation including a CodeList, GeographicStructure or GeographicLocation. Note that comparisons between two category schemes is best handled by CategoryMap.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RepresentationMap" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseMapReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Maps the content of two different universe schemes of objects of the same type providing detail for the comparable items within those two schemes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GenericMap" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedItemMapReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Maps the items managed within different schemes of objects of the same type providing detail for the comparable items within those two schemes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GenericMap" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ComputationItem">
        <xs:annotation>
            <xs:documentation xml:lang="en">A form of control construct providing a code and assigning a variable to hold value of the code as used for computation in control construct flow. Member of the ControlConstruct substitution group.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfComputationItem" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual identification of the ComputationItem. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CommandCode" type="ddi:CommandCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The Code which contains the value of the variable in programming terms.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AssignedVariableReference" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a variable to which the associated value in the Code element is assigned.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Concept">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a concept per ISO/IEC 11179. In addition to the standard name, label, and description, can identify similar concepts, the concept which this concept is a subclass of, a concept that is used to characterize this concept, and a reference to the Universe associated with this concept. It is the linking of a concept to a specific universe (object) that defines this as a data element concept.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Concept.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Concept.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the Concept.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SimilarConcept" type="ddi:SimilarConceptType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a concept expressing a similar idea plus a description of the differences. Used to assist in disambiguation of concepts.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SubclassOfReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Concept that is used for qualifying this data element concept. The referenced Concept should have its isCharacteristic attribute set to true.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ExcludesConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Concept that is used for qualifying what is excluded from the Concept's definition.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="IncludesConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Concept that is used for qualifying this is included in the Concept's definition.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsCharacteristic" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" this concept is used to describe a characteristic of another concept.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="BroaderReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Concept that is broader in meaning (i.e. more general) than this Concept.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NarrowerReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Concept that is narrower in meaning (i.e. more specific) than this Concept.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RelatedReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Concept that has a associative relationship this Concept.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ConceptGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows for grouping of concepts; groups may have a hierarchical structure. This structure should not be used to model semantic concept hierarchies - for this purpose, use the SubclassOfReference element within Concept.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfConceptGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Specifies the purpose of the ConceptGroup. If conceptual the GroupingConceptReference, GroupingUniverseReference, or GroupingPopulationReference should be used to further define the group. The object allows for specification of the purpose using a brief string or term. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ConceptGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ConceptGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the ConceptGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GroupingUniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain. Note that this is not a formal linking of a concept to a universe such as found in a ConceptualVariable. It is a means of helping to define the context within which this ConceptGroup is relevant.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GroupingPopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this ConceptGroup apply. This reference defines the context and application of the group; it does not identify a constituent member.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="GroupingConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group. Expresses a conceptual basis for grouping the concepts. Note that this is not a formal linking of a concept to a universe such as found in a ConceptualVariable. It is a means of helping to define the context within which this ConceptGroup is relevant.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a concept included in the concept group. A concept can be referenced internally, from the concept scheme included in the same conceptual components module, or externally, from another scheme. This element is recursive to allow for the description of hierarchical relationships within the concept group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a subordinate concept group included in the concept group. A concept group can be referenced internally, from the concept scheme included in the same conceptual components module, or externally, from another scheme. This element is recursive to allow for the description of hierarchical relationships within the concept group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsAdministrativeOnly" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the purpose of a concept group.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsConcept" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A value of true indicates that there is a concept which defines the group, and which is comprised of the concepts contained in the group. A group can be conceptual in purpose (that is, have a value of "concept" for the purpose attribute), but not itself have a defining concept.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ConceptScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A comprehensive list of the concepts measured by the data that are being documented that is maintained by an agency. In addition to the standard name, label, and description, allows for the inclusion of an existing ConceptScheme by reference, assignment of a controlled vocabulary for the scheme, inclusion of descriptions for Concepts and ConceptGroups in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ConceptScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ConceptScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the ConceptScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an existing ConceptScheme for inclusion.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Vocabulary" type="ddi:VocabularyType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies and describes the vocabulary used to create the concept scheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes an individual concept.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for grouping of concepts for administrative or conceptual purposes; groups may have a hierarchical structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ConceptualComponent">
        <xs:annotation>
            <xs:documentation xml:lang="en">A maintainable module for the conceptual components of the study or group of studies. Conceptual components include the objects used to describe the concepts the study is examining, the universe (population) and sub-universes those concepts to which they are related, and the geographic structures and locations wherein those populations reside. Concepts, and ConceptualVariables (containing a concept linked to a universe) provide an abstract view of what is being measured by questions or other forms of data capture, and the variables which are used to describe the data that will be collected. Universe and Population describe the populations (objects) about whom information is sought. GeographicStructure and GeographicLocation specify the geographical locations of those objects and the structural relationships between locations of different types, e.g. the relationship of a city to the state that contains it. In addition to the standard name, label, and description, ConceptualComponent contains ConceptSchemes, ConceptualVariableSchemes, UniverseSchemes, PopulationSchemes, GeographicStructureSchemes, and GeographicLocationSchemes both in-line and by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualComponentModuleName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ConceptualComponentModule.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ConceptualComponentModule.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the ConceptualComponentModule.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Coverage" type="ddi:CoverageType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides information about the topical, spatial, and temporal coverage of the conceptual components included in this module.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a set of the concepts measured by the data that are being documented.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a set of the Universes and sub-universes of the data that are being documented.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UniverseScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a set of the Populations of the data that are being documented.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PopulationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualVariableSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a set of ConceptualVariables.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptualVariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicStructureSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a collection of geographic structures.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicStructureScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLocationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a collection of geographic locations.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicLocationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UnitTypeSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a collection of unit types.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitTypeScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ConceptualVariable">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a ConceptualVariable which provides the link between a concept to a specific unit type (object) that defines this as a ConceptualVariable. In addition to the standard name, label, and description, it provides the two primary components of a ConceptualVariable by referencing a concept and its related unit type. Note that the concept referenced may itself contain sub-concepts and/or references to similar concepts. This maps to the GSIM ConceptualVariable and has a basis in the ISO/IEC 11179 RepresentedVariableConcept.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualVariableName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ConceptualVariable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ConceptualVariable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ConceptualVariable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Concept that is being linked to a UnitType identified by the UnitTypeReference. TypeOfObject should be set to Concept.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UnitTypeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a unit type being associated with this conceptual variable. TypeOfObject should be set to UnitType.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitType" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="CategorySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a previously created category scheme that represents the conceptual variable's enumerated conceptual domain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CategoryScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ConceptualVariableGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of ConceptualVariables, which may describe an ordered or hierarchical relationship structure. ConceptualVariables may be grouped for a wide range of reasons including conceptual, universe, or population grouping, usage, subject or keyword relationships, or other grouping reason that will assist in the management of a group of ConceptualVariables. Specifies the purpose of the group, a name, label, and description of the group, its relationship to a specific universe, population, or concept, and lists the members of the group.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfConceptualVariableGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a ConceptualVariableGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualVariableGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ConceptualVariableGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ConceptualVariableGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ConceptualVariableGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain. TypeOfObject should be set to Universe.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this ConceptualVariableGroup pertain. TypeOfObject should be set to Population.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group. TypeOfObject should be set to Concept.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent ConceptualVariable (from the substitution group). TypeOfObject should be set to ConceptualVariable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptualVariable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualVariableGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent ConceptualVariableGroup. This allows for nesting of ConceptualVariableGroups. TypeOfObject should be set to ConceptualVariableGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptualVariableGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ConceptualVariableScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A comprehensive list of the ConceptualVariables measured by the data that are being documented and/or maintained by an agency. In addition to the standard name, label, and description, allows for the inclusion of an existing ConceptualVariableScheme by reference, the inclusion of descriptions for ConceptualVariables and ConceptualVariableGroups in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualVariableSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ConceptualVariableScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ConceptualVariableScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the ConceptualVariableScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualVariableSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an existing ConceptualVariableScheme for inclusion. TypeOfObject should be set to a ConceptualVariableScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptualVariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a ConceptualVariable which provides the link between a concept to a specific unit type (object) that defines this as a ConceptualVariable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptualVariable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualVariableGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for grouping of ConceptualVariables for administrative or conceptual purposes; groups may have a hierarchical structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptualVariableGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ContentReviewActivity">
        <xs:annotation>
            <xs:documentation xml:lang="en">A substitution for DevelopmentActivity which requires no additional information other than the specification of the type of content review taking place for development purposes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:DevelopmentActivity">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfContentReview" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the specific type of content review not done as part of a Focus Group, Cognitive Expert Review, or Cognitive Interview. Supports the use of a controlled vocabulary which is strongly recommended.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ControlConstruct" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides the basic, extensible structure for control elements used in describing flow logic within the instrument. The only data point which is inherited by the extended constructs based on this type is the identification of the control construct.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConstructName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ControlConstruct.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ControlConstruct.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ControlConstruct.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InParameter" type="ddi:InParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A parameter that may accept content from outside its parent element.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An identify for the output of the control construct.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Binding" type="ddi:BindingType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A structure used to bind the content of a parameter declared as the source to a parameter declared as the target. For example, binding the output of a question to the input of a generation instruction. Question A has an OutParameter X. Generation Instruction has an InParameter Y used in the recode instruction. Binding defines the content of InParameter Y to be whatever is provided by OutParameter X for use in the calculation of the recode.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExternalAid" type="ddi:ExternalAidType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A pointer to an external aid presented by the instrument such as a text card, image, audio, or audiovisual aid. Typically a URN. Use type attribute to describe the type of external aid provided. Example of terms to use would include: imageOnly audioOnly audioVisual multiMedia. ExternalAid will be available each time the control construct is invoked. Care should be taken when placing an ExternalAid in RepeatWhile, RepeatUntil and Loop constructs as it will recur each time the conditional statement is checked. This does not include interviewer instructions, which are handled separately.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExternalInterviewerInstruction" type="ddi:ExternalInterviewerInstructionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a reference to an interviewer instruct ruction held in a structure other than DDI XML. Uses the OtherMaterial structure to describe and link to the external object.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InterviewerInstructionAttachment" type="ddi:AttachedInstructionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">an interviewer instruction expressed as DDI XML.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentResultsReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the development implementation results which gave rise to this version of the object. TypeOfObject should be DevelopmentResults.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentResults" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ControlConstructGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of ControlConstructs, which may describe an ordered or hierarchical relationship structure. Specifies the purpose of the group, a name, label, and description of the group, its relationship to a specific universe, population, or concept, and lists the members of the group.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfControlConstructGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a ControlConstructGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ControlConstructGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ControlConstructGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ControlConstructGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this ControlConstructGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent ControlConstruct (from the substitution group). TypeOfObject should be set to IfThenElse, RepeatUntil, RepeatWhile, Loop, Sequence, ComputationItem, StatementItem, MeasurementConstruct or QuestionConstruct.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent ControlConstructGroup. This allows for nesting of ControlConstructGroups. TypeOfObject should be set to ControlConstructGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ControlConstructGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ControlConstructScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A set of control constructs maintained by an agency and used in the instrument or computational instruction. ControlConstructs describe the ordering and flow of questions within an instrument or information through a process. In addition to the standard name, label and description can include an existing ControlConstructScheme by reference and describe individual Control Constructs of varying types.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ControlConstructScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ControlConstructScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ControlConstructScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides for inclusion by reference of external Control Construct Schemes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ControlConstructScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Extensible structure for control elements used in describing flow logic within the instrument.: IfThenElse, RepeatUntil, RepeatWhile, Loop, Sequence, ComputationItem, StatementItem, MeasurementConstruct, and QuestionConstruct.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a group of ControlConstructs.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ControlConstructGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DDIInstance">
        <xs:annotation>
            <xs:documentation xml:lang="en">DDIInstance is the top-level publication wrapper for any DDI document. All DDI content published as XML (with the exception of a Fragment intended for transmission) has DDIInstance as its top level structure. In addition to a citation and coverage statement for the instance, the DDIInstance can contain a Group, ResourcePackage, LocalHoldingPackage or StudyUnit. Additional OtherMaterial content may be added but in general OtherMaterial should be listed in the maintainable object containing the objects the OtherMaterial is related to. The instance can provide an applicable DDIProfile either in-line or by reference and can contain overall translation information.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Citation" type="ddi:CitationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Citation for the Instance. Note that the citation is optional, because the DDI Instance may contain only reusable component pieces of metadata sets, which are not directly concerned with a single study or studies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Coverage" type="ddi:CoverageType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This element contains descriptions of temporal, geographic and topical coverage. At the instance level these descriptions should be inclusive of the coverage of all modules in the instance. The element is available within individual modules and can be used to refine the coverage to that of the individual module.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A publication of a Group of StudyUnits in-line.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Group" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ResourcePackageReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A publication of a set of maintainables (modules or schemes) intended for reuse between studies in-line.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ResourcePackage" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="LocalHoldingPackageReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A publication package containing a deposited publication as well as local value added or processing information in-line.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="LocalHoldingPackage" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="StudyUnitReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A publication of a study unit representing the purpose, background, development, data capture, and data products related to a study in-line.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StudyUnit" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DDIProfileReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A DDIProfile applicable to the instance.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DDIProfile" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TranslationInformation" type="ddi:TranslationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">TranslationInformation contains information about the translation of the content of the DDI Instance. This includes human-readable information about which language(s) are involved in the translation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DDIProfile">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the subset of valid DDI objects used by an agency for a specified purpose. This may be the required and supported objects for a specific system, a profile for deposit in an archive, requirements at different points of production, etc. In addition to the standard name, label, and description the DDI Profile describes the intended application of the profile, its purpose, the version of XPath used in describing the supported objects, the DDI namespace (major and minor version numbers), a mapping of schema to prefixes (if different from the standard DDI model), a set of instructions for use of the profile, and a listing of used and unsupported objects. These objects may be constrained (i.e., change from optional to required), provided a fixed value, or provided a local name.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DDIProfileName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the profile.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the profile.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the profile.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ApplicationOfProfile" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief description of the intended applications of the profile. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Purpose" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Purpose describes the purpose of creating the profile such as describing the coverage of a distribution software system.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="XPathVersion">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides the version of XPath used. Values are 1.0, 2.0 at this time.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:decimal" />
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DDINamespace">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides the version of DDI schemas used. Values are 2.5, 3.0, 3.1, etc. Note that only the Major.Minor portion of the version number is used.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:decimal" />
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="XMLPrefixMap" type="ddi:XMLPrefixMapType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If you are not using the standard DDI prefix or the full DDI name then provide mapping. For each XML namespace used in the profile's XPath expressions, the XML namespaces must have their prefix specified using this element.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Instructions" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Instructions for use of the profile.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Used" type="ddi:UsedType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates an element in the DDI which is used by the profile expressed as an XPath. Note that including a complex element will include all of its component parts.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="NotUsed" type="ddi:NotUsedType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates an element in the DDI which is not used by the profile expressed as an XPath. You cannot list anything which is required in the DDI schemas, as this would produce invalid XML instances.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DataCaptureDevelopment">
        <xs:annotation>
            <xs:documentation xml:lang="en">Data capture development covers the development planning, process, and outcome for a partial or full questionnaire. Development normally included the development of the question wording, possible response domains and their presentation, translation for language or cultural variance in the population, and question order. Extensive work is often done for individual questions that may be reused by different questionnaires with the organization or for topical areas or populations that are difficult to measure. In addition to the standard name, label, and description information DataCaptureDevelopment contains structures to capture the development plan, the development implementation, and the results or outcome of the development implementation. DataCaptureDevelopment is a Maintainable object and any Note or OtherMaterial related to one of its objects should be placed within the Note and OtherMaterial section of DataCaptureDevelopment.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataCaptureDevelopmentName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Data Capture Development.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Data Capture Development.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the Data Capture Development.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentPlanReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the set of development activities that should take place.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentPlan" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentImplementationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the implementation of a development plan for a specific set of development objects. May provide specific details using Control Construct to order Development Steps.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentImplementation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentResultsReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Separates the capture of development implementation results from the process plan and general activities. Allows for capture of the overall results, details of individual steps, or separate iterations of that step.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentResults" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DataCollection">
        <xs:annotation>
            <xs:documentation xml:lang="en">A maintainable module containing information on activities related to data collection/capture and the processing required for the creation a data product. This section covers the methodologies, events, data sources, collection instruments and processes which comprise the collection/capture and processing of data.  Metadata regarding the methodology of the data collection process including, determining repetition patterns, sampling, collection modes, etc. Collection Event specifies data sources, collection instruments, questions and question flow, and data processing activities. This module houses Processing Instructions (General Instructions and Generation Instructions) which may be referenced by variables or comparison maps.The module is described by a name, label, and description, provides spatial, temporal, and topical coverage information on the activities covered by the module, and references to external material related to objects in the module using OtherMaterial. The content of the module is organized within the following sections; Methodology, DataCaptureDevelopment, Collection Event, QuestionScheme (in-line or by reference), ControlConstructScheme (in-line or by references) containing the flow of a questionnaire or data capture process, InterviewerInstructionScheme (in-line or by reference), InstrumentScheme (in-line or by reference), ProcessingEventScheme (in-line or by reference), SamplingScheme (in-line or by reference) and DevelopmentActivityScheme.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataCollectionModuleName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the DataCollection module.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the DataCollection module.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the DataCollection module.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Coverage" type="ddi:CoverageType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Documents the spatial, temporal, and/or topical coverage of the data collection module.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="MethodologyReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Methodology covers approaches used for selecting samples, administering surveys or data collection approaches, timing repeated data collection activities, weighting, and quality control.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Methodology" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DataCaptureDevelopmentReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Data capture development covers the development planning, process, and outcome for a partial or full data capture object (question, measurement, instrument, or control construct). Development normally included the development of the question wording, possible response domains and their presentation, translation for language or cultural variance in the population, question/measurement order and mode of delivery (instrument). Extensive work is often done for individual questions/measures that may be reused by different data capture instruments with the organization or for topical areas or populations that are difficult to measure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DataCaptureDevelopment" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CollectionEvent" type="ddi:CollectionEventType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A specific event in the collection or capture process.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a set of questions used for data collection.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a set of measurements used for data collection.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="MeasurementScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a set of control constructs used to order and define processes such as data capture flow, instrument flow, sampling, data capture development activities, etc. Assumes the flow of the object along the prescribed routing (i.e. respondent through a questionnaire, data source through a measurement process, development object through a development process, or data set of a population through a sample sampling plan)Uses InParameters and OutParameters to describe the specific flow of datum captured by, used within, or processed by to create a stored datum in a variable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ControlConstructScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InterviewerInstructionSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a set of instructions used by the interviewer (respondent in the case of a self administered questionnaire) or instrument to support the accurate collection or capture of data.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InterviewerInstructionScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a set of instruments used to collect or capture data.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InstrumentScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes an instrument within this Data Collection.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Instrument" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingEventSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a set of processing events used to collect or capture data and process it during or post collection. May include the processes used to capture data in non-questionnaire data capture.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProcessingEventScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingInstructionSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a set of processing instructions used to collect or capture data and process it during or post collection. May include the processing instructions used to capture data in non-questionnaire data capture.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProcessingInstructionScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingInformationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A set of sampling information maintained by an agency including sampling plans, sample frames, and samples.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SamplingInformationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivitySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A set of development activities maintained by an agency, and used in the development, review, or creation of a question, measurement, data capture flow (control construct), or instrument.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentActivityScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DataRelationship">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the relationships among logical records in the dataset. Date Relationship is needed to create the appropriate link between the logical record and the physical storage description. Data Relationship is optional because a logical product can contain only a category scheme and/or code scheme. In addition to the standard name, label, and description, it contains structures to describe the LogicalRecord and RecordRelationship.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataRelationshipName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the DataRelationship.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the DataRelationship.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the DataRelationship.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="LogicalRecord" type="ddi:LogicalRecordType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A logical record is a description of all of the elements (variables or NCubes) related to a single case or analysis unit. Required to link a description of a physical record structure to its logical record.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="RecordRelationship" type="ddi:RecordRelationshipType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the relationship between records of different types or of the same type within a longitudinal study. Identifies the key and linking value relationships. All relationships are pairwise. Multiple pairwise relationships maybe needed to clarify all record relationships within a logical product or data set.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DataSet">
        <xs:annotation>
            <xs:documentation xml:lang="en">DataSet is a substitution for a BaseRecordLayout and allows for in-line inclusion of micro or unit level data in the metadata file. This is valuable for small datasets or cases where there is a need to combine the metadata and data within a single file. In addition to the PhysicalStructureReference the DataSet indicates the ArrayBase if applicable, a name for the DataSet, a reference to the default Variable Scheme used by the data set, a reference to an Identifying Variable (e.g. case number), and a choice of organization order for the data: Record Set, Item Set, or Variable Set. RecordSet describes records of data which contain the same variables in the same order, ItemSet describes individual items of a dataset in any order. VariableSet describes the values for a given variable in record order.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:BaseRecordLayout">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="ArrayBase" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Sets the array base for any arrays used in the definition (that is, whether the first value is in position 0 or 1, etc.).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataSetName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the data set.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IdentifyingVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the variable used to identify a specific record within the data set (unique identifier or key).</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultVariableSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the Variable Scheme containing all or a majority of the variables in the data set. May be overridden by an individual VariableReference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="VariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecordSet" type="ddi:RecordSetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Storage format arranged record by record. A RecordSet requires a list of variables to appear in a specified order.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ItemSet" type="ddi:ItemSetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Storage format for random order item variables. Each ItemValue references it's defining variable, it's record identifier, and the it's value.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="VariableSet" type="ddi:VariableSetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Storage format arranged variable by variable. Item values are listed in record order with the assumption that each record will occupy the position in each array.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Describable" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">A versionable object that has a Name, Label, and Description.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Name" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the item.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the item.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the item.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DevelopmentActivity" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">An abstract element serving as the head of a substitution group. May be substituted by an valid object of substitution type DevelopmentActivity. Provides a set of objects available to all members of the stubstitution group. These include a statement of the desired outcome of the development activity, a summary of the process to be followed, recommended staff requirements for each staffing class, a statement of any addition resources (monetary, or other) that are required to complete the activity, and information on the debriefing process.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivityName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Development Activity.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Development Activity.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the Development Activity.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DesiredOutcome" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describe the desired outcomes of the development activity. Address why the activity should take place, means of determining successful completion, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessSummary" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Summarize the process the activity should follow to meet desired outcomes.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="RecommendedStaffRequirements" type="ddi:RecommendedStaffRequirementsType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Specify requirements for type of staffing needed to complete activity. Repeat for each staff class</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="AdditionalRequiredResources" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describe additional resources required such as funding, staffing, or resource material.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DebriefingProcess" type="ddi:DebriefingProcessType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describe the debriefing process. This is especially important for assessing the quality of focus groups, cognitive interviews, etc. Specifies if debriefing is required.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DevelopmentActivityGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a group of Development Activities for administrative or conceptual purposes, which may be hierarchical. In addition to the standard name, label, and description contains references to included Development Activities, and other DevelopmentActivityGroups.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfDevelopmentActivityGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a Development Activities Group. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivityGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the DevelopmentActivityGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the DevelopmentActivityGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the DevelopmentActivityGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this DevelopmentActivityGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivityReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a constituent DevelopmentActivity for inclusion in the group. TypeOfObject should be ContentReviewActivity, TranslationActivity, or PretestActivity.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CognitiveExpertReviewActivity" />
                                            <xs:enumeration value="CognitiveInterviewActivity" />
                                            <xs:enumeration value="ContentReviewActivity" />
                                            <xs:enumeration value="FocusGroupActivity" />
                                            <xs:enumeration value="PretestActivity" />
                                            <xs:enumeration value="TranslationActivity" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivityGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent Development Activity group. This allows for nesting of processing instruction groups. TypeOfObject should be DevelopmentActivityGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentActivityGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DevelopmentActivityScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A set of Development Activities maintained by an agency, and used in defining the development of a data capture object. In addition to the standard name, label, and description allows for the inclusion of an existing DevelopmentActivityScheme by reference and descriptions of DevelopmentActivity and DevelopmentActivityGroup either in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivitySchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the DevelopmentActivityScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the DevelopmentActivityScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the DevelopmentActivityScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivitySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an existing DevelopmentActivityScheme for inclusion.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentActivityScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivityReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Extensible structure for development activity elements used in describing the development of a questionnaire.: ContentReviewActivity, TranslationActivity, and PretestActivity.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CognitiveExpertReviewActivity" />
                                            <xs:enumeration value="CognitiveInterviewActivity" />
                                            <xs:enumeration value="ContentReviewActivity" />
                                            <xs:enumeration value="FocusGroupActivity" />
                                            <xs:enumeration value="PretestActivity" />
                                            <xs:enumeration value="TranslationActivity" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivityGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of a group of DevelopmentActivity for administrative or conceptual purposes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentActivityGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DevelopmentImplementation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides a name, label and description for the Development Implementation and lists the individual development activities which should take place. Note that the structure allows for a simple summary of the implementation work or can provide details using the DevelopmentStep and other control constructs to describe the organization of the implementation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentImplementationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the DevelopmentImplementation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Development Implementation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the overall Development Implementation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentPlanReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References the Development Plan which the results refer to.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentPlan" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivityReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to one or more Development Activities used by the Development Implementation. DevelopmentActivity is a substitution base for a number of types of activities described with appropriate content. TypeOfObject should be ContentReviewActivity, TranslationActivity, or PretestActivity.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CognitiveExpertReviewActivity" />
                                            <xs:enumeration value="CognitiveInterviewActivity" />
                                            <xs:enumeration value="ContentReviewActivity" />
                                            <xs:enumeration value="FocusGroupActivity" />
                                            <xs:enumeration value="PretestActivity" />
                                            <xs:enumeration value="TranslationActivity" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DevelopmentObject" type="ddi:DevelopmentObjectType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the object of the development. May reference a specific object instrument, question, measurement, or control construct to.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A set of DevelopmentSteps (control construct sub-type) that detail the implementation. May be organized using other control constructs to define sequencing, flow logic, sub-testing, etc. TypeOfObject should be any sub-type of a control construct.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DevelopmentPlan">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides a name, label and description for the Development Plan and lists the individual development activities which should take place.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentPlanName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the DevelopmentPlan.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Development Plan.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the Development Plan.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentObjective" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the objectives of the development work. Supports the use of structured content in multiple languages.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ContactReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to an organization and/or individual to contact for further information on this questionnaire development activity.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CostStructure" type="ddi:CostStructureType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Budget and funding information related to the development work.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivityReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to one or more Development Activities used by the Development Plan. DevelopmentActivity is a substitution base for a number of types of activities described with appropriate content. TypeOfObject should be ContentReviewActivity, TranslationActivity, or PretestActivity.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CognitiveExpertReviewActivity" />
                                            <xs:enumeration value="CognitiveInterviewActivity" />
                                            <xs:enumeration value="ContentReviewActivity" />
                                            <xs:enumeration value="FocusGroupActivity" />
                                            <xs:enumeration value="PretestActivity" />
                                            <xs:enumeration value="TranslationActivity" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DevelopmentResults">
        <xs:annotation>
            <xs:documentation xml:lang="en">Separates the capture of development implementation results from the process plan and general activities. Allows for capture of the overall results, details of individual steps, or separate iterations of that step.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentResultsName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the DevelopmentResults.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Development Results.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the overall Development Results.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentImplementationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References the Development Implementation which the results refer to. TypeOfObject should be DevelopmentImplementation</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentImplementation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResultsDate" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The date or date range of obtaining results from the development work.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ResultDetail" type="ddi:ResultDetailType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Details of specific results of the development plan and process. May refer to specific development activities or DevelopmentSteps within a DevelopmentProcess.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DevelopmentStep">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the ControlConstruct substitution group. Describes a Development Step implementing a Development Activity directed at a specific development object. Defines prerequisites, condition for acceptance, and activity date and and agent performing the step. Use ExternalAid to identify external resources used by the DevelopmentStep</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DevelopmentObject" type="ddi:DevelopmentObjectType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the object of the development. May reference a specific object instrument, question, measurement, or control construct to.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivityReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to one or more Development Activities used by the Development Process Step. DevelopmentActivity is a substitution base for a number of types of activities described with appropriate content. TypeOfObject should be ContentReviewActivity, TranslationActivity, or PretestActivity.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CognitiveExpertReviewActivity" />
                                            <xs:enumeration value="CognitiveInterviewActivity" />
                                            <xs:enumeration value="ContentReviewActivity" />
                                            <xs:enumeration value="FocusGroupActivity" />
                                            <xs:enumeration value="PretestActivity" />
                                            <xs:enumeration value="TranslationActivity" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ResponsibleAgencyReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an Organization or Individual responsible for this step. TypeOfObject should be any sub-type of Agency.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Prerequisite" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the overall prerequisites for completing this Development Processing Step.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConditionForAcceptance" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The conditions under which the output of the Development Process Step is accepted.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ActivityDate" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The date or date range of activity in this step.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="FocusGroupActivity">
        <xs:annotation>
            <xs:documentation xml:lang="en">A substitution for DevelopmentActivity which requires no additional information other than the specification of the type of Focus Group taking place for development purposes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:DevelopmentActivity">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfFocusGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the specific type of Focus Group. Supports the use of a controlled vocabulary which is strongly recommended.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeneralInstruction">
        <xs:annotation>
            <xs:documentation xml:lang="en">Processing instructions that pertain to data collection or data processing overall such as handling of non-response to questions, imputation practices, suppression rules, etc. General instructions should be listed separately to allow for referencing of specific processes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ProcessingInstruction">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CommandCode" type="ddi:CommandCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Structured information used by a system to process the instruction.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="OverriddenCodeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Used when attribute of the containing GeneralInstruction isOverride equals true. This element provides the reference to the GeneralInstruction being overridden by the use of this instruction. For example a special confidentiality process used for a select set of variables rather than the normal process.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeneralInstruction" />
                                            <xs:enumeration value="GenerationInstruction" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOverride" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true", indicates that this coding instruction overrides a more generally used process.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GenerationInstruction">
        <xs:annotation>
            <xs:documentation xml:lang="en">Processing instructions for recodes, derivations from multiple question or variable sources, and derivations based on external sources. Instructions should be listed separately so they can be referenced individually.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ProcessingInstruction">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InputQuestionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a question used in the instruction. Allows the designation of an Alias used by the instruction. TypeOfObject should be set to QuestionItem or QuestionGrid.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionBlock" />
                                            <xs:enumeration value="QuestionGrid" />
                                            <xs:enumeration value="QuestionItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InputMeasurementReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Measurement used in the instruction. Allows the designation of an Alias used by the instruction. TypeOfObject should be set to MeasurementItem.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="MeasurementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InputVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a variable used in the coding process. Allows the designation of an Alias used by the instruction. TypeOfObject should be set to Variable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExternalInformation" type="ddi:ExternalInformationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an external source of information used in the coding process, for example a value from a chart, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CommandCode" type="ddi:CommandCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Structured information used by a system to process the instruction.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A control construct which is used to describe or process the instruction.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Aggregation" type="ddi:AggregationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the aggregation process, identifying both the independent and dependent variables within the process.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsDerived" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Default setting is "true", the instruction describes a derivation. If the instruction is a simple recode, set to "false".</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GenericMap">
        <xs:annotation>
            <xs:documentation xml:lang="en">Maps the content of two different schemes of objects of the same type providing detail for the comparable items within those two schemes. Note that comparisons can be made between multiple items in the same scheme or two versions of the same scheme. In addition to the standard name, label, and description of the map, identifies the source scheme and target scheme containing those objects, describes the correspondence between the source and target schemes, and provides detailed comparison of the items within those two schemes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfMappedItem" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The type of item being mapped. The use of a controlled vocabulary is strongly recommended. </xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MapName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Map.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Map.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the Map.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="SourceSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Mappings are unidirectional. The scheme referenced as the source is the scheme contents that would be transformed into the scheme contents identified as the target scheme contents.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Archive" />
                                            <xs:enumeration value="CategoryScheme" />
                                            <xs:enumeration value="ClassificationFamily" />
                                            <xs:enumeration value="CodeList" />
                                            <xs:enumeration value="CodeListScheme" />
                                            <xs:enumeration value="Comparison" />
                                            <xs:enumeration value="ConceptScheme" />
                                            <xs:enumeration value="ConceptualComponent" />
                                            <xs:enumeration value="ConceptualVariableScheme" />
                                            <xs:enumeration value="ControlConstructScheme" />
                                            <xs:enumeration value="DDIInstance" />
                                            <xs:enumeration value="DDIProfile" />
                                            <xs:enumeration value="DataCollection" />
                                            <xs:enumeration value="DevelopmentActivityScheme" />
                                            <xs:enumeration value="GeographicLocationScheme" />
                                            <xs:enumeration value="GeographicStructureScheme" />
                                            <xs:enumeration value="Group" />
                                            <xs:enumeration value="InstrumentScheme" />
                                            <xs:enumeration value="InterviewerInstructionScheme" />
                                            <xs:enumeration value="LocalHoldingPackage" />
                                            <xs:enumeration value="LogicalProduct" />
                                            <xs:enumeration value="ManagedRepresentationScheme" />
                                            <xs:enumeration value="MeasurementScheme" />
                                            <xs:enumeration value="NCubeScheme" />
                                            <xs:enumeration value="OrganizationScheme" />
                                            <xs:enumeration value="OtherMaterialScheme" />
                                            <xs:enumeration value="PhysicalDataProduct" />
                                            <xs:enumeration value="PhysicalInstance" />
                                            <xs:enumeration value="PhysicalInstanceGroup" />
                                            <xs:enumeration value="PhysicalStructureScheme" />
                                            <xs:enumeration value="PopulationScheme" />
                                            <xs:enumeration value="ProcessingEventScheme" />
                                            <xs:enumeration value="ProcessingInstructionScheme" />
                                            <xs:enumeration value="QualityScheme" />
                                            <xs:enumeration value="QuestionScheme" />
                                            <xs:enumeration value="RecordLayoutScheme" />
                                            <xs:enumeration value="RepresentedVariableScheme" />
                                            <xs:enumeration value="ResourcePackage" />
                                            <xs:enumeration value="SamplingInformationScheme" />
                                            <xs:enumeration value="StudyUnit" />
                                            <xs:enumeration value="UnitTypeScheme" />
                                            <xs:enumeration value="UniverseScheme" />
                                            <xs:enumeration value="VariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="TargetSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the scheme containing the target structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Archive" />
                                            <xs:enumeration value="CategoryScheme" />
                                            <xs:enumeration value="ClassificationFamily" />
                                            <xs:enumeration value="CodeList" />
                                            <xs:enumeration value="CodeListScheme" />
                                            <xs:enumeration value="Comparison" />
                                            <xs:enumeration value="ConceptScheme" />
                                            <xs:enumeration value="ConceptualComponent" />
                                            <xs:enumeration value="ConceptualVariableScheme" />
                                            <xs:enumeration value="ControlConstructScheme" />
                                            <xs:enumeration value="DDIInstance" />
                                            <xs:enumeration value="DDIProfile" />
                                            <xs:enumeration value="DataCollection" />
                                            <xs:enumeration value="DevelopmentActivityScheme" />
                                            <xs:enumeration value="GeographicLocationScheme" />
                                            <xs:enumeration value="GeographicStructureScheme" />
                                            <xs:enumeration value="Group" />
                                            <xs:enumeration value="InstrumentScheme" />
                                            <xs:enumeration value="InterviewerInstructionScheme" />
                                            <xs:enumeration value="LocalHoldingPackage" />
                                            <xs:enumeration value="LogicalProduct" />
                                            <xs:enumeration value="ManagedRepresentationScheme" />
                                            <xs:enumeration value="MeasurementScheme" />
                                            <xs:enumeration value="NCubeScheme" />
                                            <xs:enumeration value="OrganizationScheme" />
                                            <xs:enumeration value="OtherMaterialScheme" />
                                            <xs:enumeration value="PhysicalDataProduct" />
                                            <xs:enumeration value="PhysicalInstance" />
                                            <xs:enumeration value="PhysicalInstanceGroup" />
                                            <xs:enumeration value="PhysicalStructureScheme" />
                                            <xs:enumeration value="PopulationScheme" />
                                            <xs:enumeration value="ProcessingEventScheme" />
                                            <xs:enumeration value="ProcessingInstructionScheme" />
                                            <xs:enumeration value="QualityScheme" />
                                            <xs:enumeration value="QuestionScheme" />
                                            <xs:enumeration value="RecordLayoutScheme" />
                                            <xs:enumeration value="RepresentedVariableScheme" />
                                            <xs:enumeration value="ResourcePackage" />
                                            <xs:enumeration value="SamplingInformationScheme" />
                                            <xs:enumeration value="StudyUnit" />
                                            <xs:enumeration value="UnitTypeScheme" />
                                            <xs:enumeration value="UniverseScheme" />
                                            <xs:enumeration value="VariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Correspondence" type="ddi:CorrespondenceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describe the level of similarity and difference between the Source and the Target schemes.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ItemMap" type="ddi:ItemMapType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains the mappings for individual items within the Source and Target schemes.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicLocation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes specific instances of GeographicLocations associated with a specified GeographicLevel in a GeographicStructure. In addition to the standard name, level, and description, specifies the Geographic Level either by reference to an existing description in a GeographicStructure or by a textual description, identifies the authorization source for naming and coding identification a set of individual LocationValues.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLocationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the GeographicLocation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the GeographicLocation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the GeographicLocation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GeographicLevelReference" type="ddi:GeographicLevelType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an existing GeographicLevel describing structural level to which these locations belong.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLevelDescription" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the GeographicLevel.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AuthorizedSource" type="ddi:AuthorizedSourceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An identifiable authorization source repeated for each identifying code type. This allows the codes to be used as representations for response domains and value representations by designating a specific set of locations and the code of an authorization source. An authorization source should differentiate between codes derived for different purposes within the same agency.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="LocationValue" type="ddi:LocationValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A location of the specified geographic level providing information on its name, identification codes, temporal and spatial coverage.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicLocationGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of GeographicLocations, which may describe an ordered or hierarchical relationship structure. Specifies the purpose of the group, a name, label, and description of the group, its relationship to a specific universe, population, or concept, and lists the members of the group.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfGeographicLocationGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a GeographicLocationGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLocationGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the GeographicLocationGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the GeographicLocationGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the GeographicLocationGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this GeographicLocationGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLocationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent GeographicLocation (from the substitution group). TypeOfObject should be set to GeographicLocation.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicLocation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLocationGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent GeographicLocationGroup. This allows for nesting of GeographicLocationGroups. TypeOfObject should be set to GeographicLocationGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicLocationGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicLocationScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Scheme containing a set of geographic locations, each for a single Geography type, e.g., States, OR Counties, OR Countries, etc. The geographic location element has to be repeated for each geography. In addition to the standard name, label, and description, allows for the inclusion of an existing GeographicLocationScheme by reference and GeographicLocation descriptions either in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLocationSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the GeographicLocationScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the GeographicLocationScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the GeographicLocationScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLocationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Inclusion of an existing GeographicLocationScheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicLocationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLocationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of a GeographicLocation.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicLocation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLocationGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a group of GeographicLocation.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicLocationGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicStructure">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains information on the hierarchy of the geographic structure. In addition to the standard name, label, and description identifies one or more AuthorizedSources for the level codes/descriptions provided and a set of GeographicLevels in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicStructureName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the GeographicStructure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the GeographicStructure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the GeographicStructure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AuthorizedSource" type="ddi:AuthorizedSourceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An identifiable authorization source repeated for each identifying code type. This allows the codes to be used as representations for response domains and value representations by designating a specific set of locations and the code of an authorization source. An authorization source should differentiate between codes derived for different purposes within the same agency.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GeographicLevel" type="ddi:GeographicLevelType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Used to describe any level of geography, including overall coverage and each of the lower levels.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GeographicLevelReference" type="ddi:GeographicLevelType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Inclusion of an existing GeographicLevel description by reference.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicStructureGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of GeographicStructures, which may describe an ordered or hierarchical relationship structure. Specifies the purpose of the group, a name, label, and description of the group, its relationship to a specific universe, population, or concept, and lists the members of the group.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfGeographicStructureGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a GeographicStructureGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicStructureGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the GeographicStructureGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the GeographicStructureGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the GeographicStructureGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this GeographicStructureGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicStructureReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent GeographicStructure (from the substitution group). TypeOfObject should be set to GeographicStructure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicStructure" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicStructureGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent GeographicStructureGroup. This allows for nesting of GeographicStructureGroups. TypeOfObject should be set to GeographicStructureGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicStructureGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicStructureScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains information on the hierarchy of the geographic structure. In addition to the standard name, label, and description identifies one or more AuthorizedSources for the level codes/descriptions provided and a set of GeographicLevels in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicStructureSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the GeographicStructureScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the GeographicStructureScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the GeographicStructureScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicStructureSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The inclusion of an existing GeographicStructureScheme in the parent scheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicStructureScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicStructureReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Used to describe any level of geography, including overall coverage and each of the lower levels.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicStructure" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicStructureGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a group of GeographicStructure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicStructureGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Group">
        <xs:annotation>
            <xs:documentation xml:lang="en">A primary packaging and publication module within DDI containing a Group of StudyUnits. The Group structure allows metadata regarding multiple study units to be published as a structured entity. Studies may be grouped "by design" such as a repeated study with intended areas of commonality between each study, or "ad hoc" where studies are grouped for applied or administrative reasons. When grouping is done "by design", such as within a longitudinal study, common metadata such as shared methodology, common category schemes, etc. may be moved up from the individual studies into the Group and inherited by all the members of the group. Inherited metadata may be over-ridden at the lower levels. Inheritance may be turned "off" for groups of study units done on an ad-hoc basis, such as a set of studies used for a particular activity such as instruction. The purpose of groups is described using the attributes which summarize relationships along the dimensions of time, panel, geography, instrument and language. These attributes allow the purpose to be machine-actionable, while the group also includes an element for describing the purpose in human-readable format. As a publication package Group contains a Citation, Abstract, information on authorization, the universe and population of the group, series statement, quality statements, ex-post evaluation material, funding and budget, purpose, coverage, analysis units covered, kind of data, other materials, a list of required resource packages and embargo information. It then allows all maintainable structures within the StudyUnit to be expressed at the Group level along with individual StudyUnits. StudyUnits may also be grouped into subordinate Groups allowing for infinite nesting of StudyUnits.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual identification of the StudyUnit. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Citation" type="ddi:CitationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The citation for the group. DDI strongly recommends that at minimum a Title be provided.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An abstract of the group unit describing the nature and scope of the data collection, special characteristics of its content. Note that detailed information on the purpose of the group and structured coverage information are to be entered in Purpose and Coverage.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AuthorizationSource" type="ddi:AuthorizationSourceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the authorizing agency for the group and allows for the full text of the authorization (law, regulation, or other form of authorization). May be used to list authorizations from oversight committees and other regulatory agencies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ApprovalReviewReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides information about the Approval Review undertaken in relation to the activity. Identifies the organization processing the review, the role of the approval review organization, case number, description, and related dates. Allows the inclusion of a reference to an external source detailing the approval review.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ApprovalReview" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefiningConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A concept that defines or aids in understanding the content of the group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Universe describing the persons or other units to which the studies in this Group and any analytic results refer. A Universe is defined by a Unit Type and shared characteristics, independently of geographic area and time period. Examples include persons of a specified gender, businesses with at least 50 employees, or businesses in the manufacturing industry. The description should make it possible to determine whether a given unit belongs to the Universe. A Universe may be described using inclusion or exclusion criteria. Use Population to specify geographic and temporal scope. This Group level reference is normally to the top level of the UniverseScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other elements to which the studies in this Group and their analytic results refer.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SeriesStatement" type="ddi:SeriesStatementType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A group, particularly one in a series, may be the result of two series merging into a single group. The new group belongs to both series. For example, Niger now fields the UNICEF Multiple Indicators Cluster Survey (MICS) and the Demographic and Health Survey as a single merged instrument.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InformationClassificationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Used to describe the rules and guidelines on how the data is allowed to be handled, transferred, stored and disposed. These confidentiality policies are often dictated by national laws and/or data owners on handling of personal, proprietary, and other sensitive information.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InformationClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a Quality Statement pertaining to the quality of the group overall, metadata, or data to which it is associated. Quality statements may be related to external quality standards.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStatement" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualitySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A scheme containing statements of quality related to the quality of methodologies, metadata, or data. Quality statements and standards may be related to external quality standards.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExPostEvaluation" type="ddi:ExPostEvaluationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An evaluation of the group process, often taking place after the completion of the group. These may include issues such as timing of the group, sequencing issues, cost/budget issues, relevance, institutional or legal arrangements etc. of the group. If the group is part of a series or group (i.e., a single wave in a longitudinal group) this may include evaluation of earlier waves which resulted in changes to the current wave.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="FundingInformation" type="ddi:FundingInformationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains details of the group unit's funding, including information about grants, agencies, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ProjectBudget" type="ddi:BudgetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This describes the overall budget of the group. It can be repeated for distinct budget activities. It contains a structured description and one or more budget documents described by an OtherMaterial type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Purpose" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The purpose of the group, why the group took place. This should include detailed information on the investigator's primary group questions or hypotheses as well as information on any legal basis for the data collection, such as laws requiring the collection of census data for apportionment purposes. Legal or other authorization should be provided in detail within AuthorizationSource.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Coverage" type="ddi:CoverageType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the coverage of the group unit. Detailed information on Topical, Temporal, and Spatial Coverage is contained here. Note that Coverage at this level should be inclusive all lower level modules or section. Lower level descriptions serve to constrain coverage within the scope described here.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AnalysisUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the use of a controlled vocabulary to list all of the units of analysis used in the group. Should be repeated to describe multiple units of analysis. The DDI Alliance has provided a controlled vocabulary (AnalysisUnit) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="AnalysisUnitsCovered" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A narrative of the units of analysis in the group unit.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="KindOfData" type="ddi:KindOfDataType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Briefly describes the kind of data documented in the logical product(s) of a group unit. Examples include survey data, census/enumeration data, administrative data, measurement data, assessment data, demographic data, voting data, etc. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GeneralDataFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Briefly describes the data formats documented in the logical product(s) of a group unit. Examples include Numeric, Text, Audio, Visual, Geospatial, StillImage, Software, 3D, etc. Supports the use of an external controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (GeneralDataFormat) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RequiredResourcePackages" type="ddi:RequiredResourcePackagesType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Specifies by reference the ResourcePackages required to resolve the group. This list is informational and assists in creating full transmissions of metadata or creating archival packages. Primarily used after the instance is relatively stable and published.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Embargo" type="ddi:EmbargoType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Embargo information about the group unit. References to embargo information in this section can be made from individual variables.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherMaterialSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This scheme contains a set of other materials referenced by the metadata.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OtherMaterialScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualComponentReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">ConceptualComponent applying to the group as a whole.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptualComponent" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataCollectionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">DataCollection applying to the group as a whole.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DataCollection" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="LogicalProductReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">LogicalProduct applying to the group as a whole.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="LogicalProduct" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalDataProductReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">PhysicalDataProduct applying to the group as a whole.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalDataProduct" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalInstanceReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">PhysicalInstance applying to the group as a whole.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalInstance" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalInstanceGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows physical instance modules to be grouped with or without hierarchical structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalInstanceGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ArchiveReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Archive applying to the group as a whole.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Archive" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ClassificationFamilyReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for in-line entry of a Classification Family.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ClassificationFamily" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DDIProfileReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">DDIProfile applying to the group as a whole.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DDIProfile" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ComparisonReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line Comparison of differences between related objects in different study units or due to versioning.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Comparison" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="StudyUnitReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A StudyUnit within the Group provided in-line.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StudyUnit" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of study units comprising a subordinate Group within the main Group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Group" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Time">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates how all members of the group are related along the dimension of time (for example single occurrence, multiple occurrence, etc.).</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="T0" />
                                <xs:enumeration value="T1" />
                                <xs:enumeration value="T2" />
                                <xs:enumeration value="T3" />
                                <xs:enumeration value="T4" />
                                <xs:enumeration value="T5" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="CaptureInstrument">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates how all members of the group are related in terms of the instruments used to collect data (single, multiple, etc.).</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="I0" />
                                <xs:enumeration value="I1" />
                                <xs:enumeration value="I2" />
                                <xs:enumeration value="I3" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Panel">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates how all members of the group are related in terms of type of panel (single, rolling, etc.).</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="P0" />
                                <xs:enumeration value="P1" />
                                <xs:enumeration value="P2" />
                                <xs:enumeration value="P3" />
                                <xs:enumeration value="P4" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Geography">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates how all members of the group are related along the dimension of geography.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="G0" />
                                <xs:enumeration value="G1" />
                                <xs:enumeration value="G2" />
                                <xs:enumeration value="G3" />
                                <xs:enumeration value="G4" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DataProduct">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates how all members of the group are related in terms of physical data products in relation to data collection efforts.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="D0" />
                                <xs:enumeration value="D1" />
                                <xs:enumeration value="D2" />
                                <xs:enumeration value="D3" />
                                <xs:enumeration value="D4" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="LanguageRelationship">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates how all members of the group are related in terms of language relationships such as parallel content in multiple languages, translations (full or partial), etc.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="L0" />
                                <xs:enumeration value="L1" />
                                <xs:enumeration value="L2" />
                                <xs:enumeration value="L3" />
                                <xs:enumeration value="L4" />
                                <xs:enumeration value="L5" />
                                <xs:enumeration value="L6" />
                                <xs:enumeration value="L7" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UserDefinedGroupProperty" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a user-defined grouping property, different from those supplied in other attributes.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UserDefinedGroupPropertyValue" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a value for the user-defined group property supplied in userDefinedGroupProperty.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsInheritable" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Default is true, and allows for inheritance of all properties and modules, and the use of lower-level over-rides. If set to false, inheritance is switched off for specific groups.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="IfThenElse">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the ControlConstruct substitution group. Describes an if-then-else decision type of control construct. IF the stated condition is met, the THEN clause is triggered, otherwise the ELSE clause is triggered. Contains an IfCondition (the condition that must be met to trigger the Then clause), a ThenConstructReference (indicating the construct to invoke if the condition is met), an ElseConstructReference (indicating the construct to invoke if the condition is not met), and an ElseIf structure allowing the expression of multiple conditions to invoke multiple branching.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfIfThenElse" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual identification of the IfThenElse. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IfCondition" type="ddi:CommandCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The condition which must be met to trigger the Then clause, expressed as a CommandCode. The condition is an expression in the programming language used in the instrument.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ThenConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the control construct which should be triggered if the associated condition is met.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Sequence" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ElseIf" type="ddi:ElseIfType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Use for multiple branching from a single point in the flow logic represented by the flow logic If, Then, ElseIf, Then, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ElseConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the control construct which is triggered if the associated condition is not met.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Sequence" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="InLineNCubeRecordLayout">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the BaseRecordLayout substitution group intended for use when the data items of an NCube Instances are captured in-line within the metadata instance. In addition to the link to the PhysicalStructure provided by BaseRecordLayout, the record layout is this namespace (m2) identifies the array base for the in-line data, a full description of each data item contained within an NCube Instance including a link to its description (matrix address) and contained values.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:BaseRecordLayout">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="ArrayBase" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Sets the array base for any arrays used in the definition (that is, whether the first value is in position 0 or 1, etc.). This may be the data array in a delimited data file or the measure array for measures that are bundled and stored in a single location. Array base is generally set to either 0 or 1. There is no override provided as systems processing a record would use a consistent array base.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeInstanceIReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A container for defining an instance of an NCube, indicating the matrix address of each cell and capturing the data for each measure within a cell of the NCube is stored. Allows specifying the values of the attributes attached to a NCube.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCubeInstanceI" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Individual">
        <xs:annotation>
            <xs:documentation xml:lang="en">Details of an individual including name, contact information, a definition, keywords to support searching, their regional affiliation, language ability and any additional information. The individual and specific pieces of information regarding the individual may be tagged for information privacy.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Agent">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IndividualIdentification" type="ddi:IndividualIdentificationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifying information about the individual.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the individual.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Keywords used to classify an individual or their activities. May be used to support searching.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="RegionalCoverage" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The regional coverage of the individual. The geographic regions within which the individual is active.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="AdditionalInformation" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Any information not captured by the other descriptive objects. The privacy code may be set to indicate access restriction to this information.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="LanguageAbility" type="ddi:IndividualLanguageType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Use to specify the languages known by the individual in terms of their ability to  speak, read, and write the language. May be repeated to cover multiple languages.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ContactInformation" type="ddi:ContactInformationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contact information for the individual including location specification, address, URL, phone numbers, and other means of communication access. Address, location, telephone, and other means of communication can be repeated to express multiple means of a single type or change over time. Each major piece of contact information (with exception of URL contains the element EffectiveDates in order to date stamp the period for which the information is valid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Privacy">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A basic set of privacy codes for the parent element. These may be stricter than the general access restrictions for the overall metadata. If available codes are insufficient this may also contain any string.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="public" />
                                <xs:enumeration value="restricted" />
                                <xs:enumeration value="private" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="InformationClassification">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used to describe the rules and guidelines on how the data is allowed to be handled, transferred, stored and disposed. These confidentiality policies are often dictated by national laws and/or data owners on handling of personal, proprietary, and other sensitive information.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Describable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfInformationClassification" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Classification of the type of Information Classification. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="LevelOfInformationClassification" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Data classification level as determined by an assessment of the need of confidentiality of the data. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="AgencyOrganizationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to an organization or individual responsible for the information classification.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataHandlingPersonnelRules" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of the rules applied to any individual with access to the data, e.g. security clearance, confidentiality agreements, or authentication.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataEncryptionRules" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of the rules regarding what encryption level is needed on the data.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataStorageRules" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of the rules regarding how data is allowed to be stored.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DisposalRules" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of the rules regarding when and how data should be disposed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataTransferRules" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of the rules regarding how data is allowed to be transferred.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AuthorizedPolicySource" type="ddi:AuthorizedPolicySourceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description and link to the Information Classification policy using the DDI Other Material structure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Instruction">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides the content and description of a single instruction. In addition to the standard name, label, and description, an InParameter can be designated to specify information needed to process the dynamic content of the instruction, an image can be associated with the instruction, and the instruction text provided using DynamicText. Note that when using Dynamic Text, the full InstructionText must be repeated for multi-language versions of the content. Different languages may handle the dynamic portions in different locations and/or with different content. Therefore languages cannot be mixed within a dynamic text except when the full text itself has multiple language sections, for example, a foreign language term in a text. The InstructionText may also be repeated to provide a dynamic and plain text version of the instruction. This allows for accurate rendering of the instruction in a non-dynamic environment like print.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstructionName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Instruction.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Instruction.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the Instruction.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InParameter" type="ddi:InParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A parameter that may accept content from outside the Instruction. In addition to standard parameter content may provide the instructions for limiting the allowable array index.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AssociatedImage" type="ddi:ImageType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An image associated with the Instruction, located at the provided URN or URL.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InstructionText" type="ddi:DynamicTextType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The content of the Instruction text provided using DynamicText. Note that when using Dynamic Text, the full InstructionText must be repeated for multi-language versions of the content. The InstructionText may also be repeated to provide a dynamic and plain text version of the instruction. This allows for accurate rendering of the instruction in a non-dynamic environment like print.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="InstructionGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of Instructions, which may describe an ordered or hierarchical relationship structure. Specifies the purpose of the group, a name, label, and description of the group, its relationship to a specific universe, population, or concept, and lists the members of the group.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfInstructionGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a InstructionGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstructionGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the group.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the InstructionGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the InstructionGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this InstructionGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstructionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent Instruction (from the substitution group). TypeOfObject should be set to Instruction.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Instruction" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstructionGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent InstructionGroup. This allows for nesting of InstructionGroups. TypeOfObject should be set to InstructionGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InstructionGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Instrument">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines the type of instrument used for data collection or capture. In addition to the standard name, label, and description contains a classification of the type of instrument, a reference to an external instance of the instrument (such as an image of a questionnaire or programming script) and a reference to the Sequence control construct that contains the flow for data collection or capture.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Instrument.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Instrument.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the Instrument.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfInstrument" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the type of the instrument, according to the documenters type classification. Supports the use of an external controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (TypeOfInstrument) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ExternalInstrumentLocation" type="ddi:anyURI">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to an external representation of the data collection instrument, such as an image of a questionnaire or programming script.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ControlConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the Sequence control construct that initiates the flow of the instrument content.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="FieldedLanguages" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Language in which the Instrument is fielded. Include all options as separate items. Language can be specified by region, for example en-AU. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentResultsReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the development implementation results which gave rise to this version of the object. TypeOfObject should be DevelopmentResults.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentResults" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="InstrumentGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a group of instruments for administrative or conceptual purposes, which may be hierarchical. In addition to the standard name, label, and description, contains references to the contained Instruments and InstrumentGroups.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfInstrumentGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a instrument group. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the InstrumentGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the InstrumentGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the InstrumentGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this InstrumentGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent instrument.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Instrument" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent instrument group. This allows for nesting of instrument groups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InstrumentGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="InstrumentScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a set of instruments maintained by an agency. In addition to the standard name, label, and description, allows for the inclusion of an existing InstrumentScheme by reference and contains Instruments and InstrumentGroups inline an by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the InstrumentScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the InstrumentScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the InstrumentScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for inclusion by reference of another Instrument Scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InstrumentScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes an instrument within this instrument scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Instrument" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a group of instruments as in instrument group within an instrument scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InstrumentGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="InterviewerInstructionScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A set of interviewer instructions to be displayed within the instrument, such as definitions, and explanations of terminology and questions. Content may also be used to provide the contents of an instruction manual for questions or instruments. In addition to the standard name, label, and description, allows for the inclusion of another InterviewerInstructionScheme by reference an a set of in-line instructions.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InterviewerInstructionSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the InterviewerInstructionScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the InterviewerInstructionScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the InterviewerInstructionScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InterviewerInstructionSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the inclusion of an existing InterviewerInstructionScheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InterviewerInstructionScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstructionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Content of an individual instruction.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Instruction" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstructionGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a group of Instructions.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InstructionGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="LocalHoldingPackage">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows a depository to hold the contents of a DDI StudyUnit, Group, or ResourcePackage as received while providing locally created value added material and processing information without having to alter the maintenance agency or version of the original material. Contains the depository object by reference plus local added content including the objects added and a link to the location of the addition or change in the deposited object.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DepositoryStudyUnitReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the StudyUnit as deposited.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StudyUnit" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DepositoryGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the Group as deposited.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Group" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DepositoryResourcePackageReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a ResourcePackage as deposited.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ResourcePackage" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefiningConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A concept that defines or aids in understanding the content of the local holding package.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="LocalAddedContent" type="ddi:LocalAddedContentType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the ResourcePackage as deposited.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="LogicalProduct">
        <xs:annotation>
            <xs:documentation xml:lang="en">A module describing the logical (intellectual) contents of the quantitative data. It is a member of the substitution group BaseLogicalProduct and contains all of the common features of the BaseLogicalProduct as well as content specific to quantitative data. This is a member of the BaseLogicalProduct substitution group and in addition to the content inherited from the BaseLogicalProduct, contains CategorySchemes, CodeListSchemes, ManagedRepresentationSchemes, RepresentedVariableSchemes, VariableSchemes an NCubeSchemes both in-line an by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:BaseLogicalProduct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CategorySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains descriptions of particular categories used as question responses and in the logical product. Their relationships and code values are described in the code scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CategoryScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CodeListSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Lists the code values used to represent categories for a variable or question. Also describes hierarchical relationships between categories used in the code scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CodeListScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedRepresentationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A scheme containing representations that are being managed as reusable sources for response domains and value representations.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedRepresentationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A set of RepresentedVariables managed by an agency. RepresentedVariables are the core reusable parts of a Variable. RepresentedVariable maps to the GSIM Represented Variable. In addition to the standard name, label, and description, allows for the inclusion of an existing RepresentedVariableScheme by reference and RepresentedVariables either in-line or by reference. RepresentedVariables may be grouped for management purposes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RepresentedVariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a collection of variables and variable groups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="VariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a collection of NCubes and NCube groups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCubeScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Loop">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the control construct substitution group. Describing an action which loops until a limiting condition is met. The ControlConstruct contained in the Loop operates on the LoopVariable until the LoopWhile condition is met, and then control is handed back to the containing control construct.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="LoopVariableReference" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the variable (as used in the associated CommandCode) which is incremented or otherwise manipulated to meet the conditions stated in the LoopWhile condition.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="InitialValue" type="ddi:CommandCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Information on the command used to set the initial value for the process. Could be a simple value.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="LoopWhile" type="ddi:CommandCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Information on the command used to determine whether the "LoopWhile" condition is met.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StepValue" type="ddi:CommandCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Information on the command used to set the incremental or step value for the process. Could be a simple value.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ControlConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the ControlConstruct to implement until the LoopWhile condition is met. This could be a single ControlConstruct or a set of ControlConstructs within a Sequence.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Maintainable" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">Adds the attribute identifying this as a maintainable object. All content of Maintainable is considered to be administrative metadata. Note that changes to the administrative metadata does not drive a change in the version of the parent objects. All content of Maintainable with the exception of 'Note' is considered to be administrative metadata. Note that changes to the administrative metadata does not drive a change in the version of the parent objects. See DDI 3.2 Technical Documentation: Part I for further details.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Note" type="ddi:NoteType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Note allows for the attachment of a piece of additional information to any object with an ID. Note facilitates capturing temporary processing notes such as "Review and approval required". A single note can be attached to multiple objects by reference to the objects. Note may also contain content for a needed object that has been reported for addition in a later version of the schema. Ideally this should be handled by a local extension, but Note can accommodate run-time extensions when required. The Note should be housed within the Maintainable object that contains the referenced objects. In this way the user is ensured of receiving all known Note attachments when the maintainable content is delivered. This means that if a Note references objects within multiple Maintainable objects, the Note should be repeated in each Maintainable and reference only those objects with that Maintainable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Software" type="ddi:SoftwareType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicate the software used to create and/or manage the metadata. This is repeatable to allow for multiple softwares or multiple functions. If this information is important it is advisable to provide it in each maintainable so that it does not become separated from the internal content if the metadata is re-factored.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="MetadataQuality" type="ddi:MetadataQualityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An assessment of the quality of the metadata within the Maintainable object, e.g. the quality of the transcription, completeness, editing status, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ExternalReferenceDefaultURI" type="ddi:anyURI">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Use to provide a default value for the URI of external references. Use of a URI in a reference within this maintainable overrides the value entered here. Nested maintainables should redeclare the contents of this attribute for clarity.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Lang" type="ddi:language">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This is used to designate the language of the metadata content of the maintainable. If a lower level xml:lang attribute conflicts with the content at the maintainable level, the object level value takes precedence.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedCategoryRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a representation based on categorization. The CategorySchemeReference allows for the exclusion of selected items from the use of the CategoryScheme as a representation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="CategorySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a CategoryScheme containing the required categories using the SchemeReference structure. Use Exclude in the SchemeReference to designate any categories NOT to include in this representation.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CategoryScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedCodeRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the use of all or part of a CodeList as a representation used by a question response domain or variable value representation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="CodeListReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the CodeList included in this representation using the Reference structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CodeList" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="StatisticalClassificationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the StatisticalClassification included in this representation using the Reference structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StatisticalClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CodeSubsetInformation" type="ddi:CodeSubsetInformationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows further specification of the codes to use from the CodeList by defining the level or only the most discrete codes of a hierarchical CodeList, the range of codes to use, or an itemized sub-set.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedDateTimeRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Means of describing DateTime so that they can be reused by multiple variables or questions/question constructs. Regardless of the format of the data the content may be treated as a date and or time and converted to ISO standard structure if sufficient information is supplied. In addition to the name, label, and description of the representation, the structure provides the DateField Format, a DateTypeCode and a regular expression for further defining allowed content. The DDI Alliance has provided a controlled vocabulary (DateType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedDateTimeRepresentationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedDateTimeRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedDateTimeRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedDateTimeRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DateFieldFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the format of the date field, in formats such as YYYY/MM or MM-DD-YY, etc. If this element is omitted, then the format is assumed to be the XML Schema format corresponding to the type attribute value.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DateTypeCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This is a standard XML date type code and supports the use of an external controlled vocabulary. Examples are date, dateTime, gYearMonth, gYear, and durationThe DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Range" type="ddi:RangeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the high and low values (endpoints) of a non-numeric scale. This can be expressed as a value that matches the DateTime format. Repeatable in order to express as set of non-continuous values.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="RegExp" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The regular expression allows for further description of the allowable content of the data.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedDistributionRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Means of describing Distributions as a representation so that they can be used as a response domain questions. Primarily used as a response domain in a QuestionGrid. In addition to the base of objects of a representation the structure provides the total value to be distributed between the objects and the number of decimal positions allowed within a response.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedDistributionRepresentationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedDistributionRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DistributionValue">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the total value to be distributed among the designated objects.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:decimal" />
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DecimalPositions" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the number of decimal points allowed for the expression of a response.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedExternalCategoryRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Structures a response domain based on categorization that is described in an external non-DDI structure. Includes a UsageDescription that should provide information on how the external source is to be used.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ExternalCategoryReference" type="ddi:anyURI">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References an external, non DDI category. This is the element to use if the Code Scheme being used is not in DDI and cannot be used directly. It provides for both the reference and an explanation of how to use the information accurately within a DDI context.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UsageDescription" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the use of the external category file.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedGeographicLocationCodeRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows for the use of all or part of a GeographicLocation description to be used as a response domain or value representation by a question or variable. In addition to the basic objects of a representation it describes the Geographic Location values available for use by the question or variable.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedGeographicLocationCodeRepresentationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedGeographicLocationCodeRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IncludedGeographicLocationCodes" type="ddi:IncludedGeographicLocationCodesType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the Geographic Location codes included by the Authorized source of the code, the geographic location being used and the locations to exclude.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="LimitedCodeSegmentCaptured" type="ddi:LimitedCodeSegmentCapturedType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">When the code is a concatenation this structure allows you to limit the portion of the concatenated code that this object captures.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedGeographicRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Structures the representation for a geographic point to ensure collection of relevant information using a single response domain structure. The point may be associated with a polygon (such as the centroid of the polygon) or a line (end or shape points of a line). The structure provides a description of the default values for the datum type, coordinate system used, the coordinate zone, error correction method, standard offset, the geographic object being positioned, the type of address match if used, the point format, and spatial primitive type. It provides response options for the coordinate pairs being captured, and alternate values for the offset, geo-referenced object and coordinate system if a different one is used to capture a specific response.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedGeographicRepresentationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedGeographicRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Datum" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The standard datum format used. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CoordinateSystem" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The standard coordinate system used. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CoordinateZone" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The standard coordinate zone being used. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CoordinateSource" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The standard coordinate source being used. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ErrorCorrection" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The standard method of error correction being used. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Offset" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A definition of the standard offset used when taking a coordinate reading on the geo-referenced object.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GeoreferencedObject" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The standard object for which the geographic coordinates are being captured. This could be a household, village centroid, etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AddressMatchType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Use for coordinates obtained through address matching only. Identify the address matching method. Example: street segment match, ZIP code centroid, etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CoordinatePairs" type="ddi:CoordinatePairsType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Field to capture coordinate pairs as individual pairs or as an array of pairs.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AlternateOffset" type="ddi:TextDomainType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If unable to use the standard offset, allows entry of a non-standard offset figure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AlternateObject" type="ddi:TextDomainType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If the default geo-referenced object is unavailable or cannot be measured, allows identification of an alternate object.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AlternateCoordinateSystem" type="ddi:TextDomainType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Specifies the coordinate system used for a response if different from that stated in the response structure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="1" maxOccurs="1" name="PointFormat">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The type attribute is used by the documenter to describe the numeric response domain.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="DecimalDegree" />
                                <xs:enumeration value="DegreesMinutesSeconds" />
                                <xs:enumeration value="DecimalMinutes" />
                                <xs:enumeration value="Meters" />
                                <xs:enumeration value="Feet" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="1" maxOccurs="1" name="SpatialPrimitive">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the spatial primitive object which the point references.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="Point" />
                                <xs:enumeration value="Polygon" />
                                <xs:enumeration value="Line" />
                                <xs:enumeration value="LinearRing" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedGeographicStructureCodeRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows for the use of all or part of a GeographicStructure description to be used as a response domain or value representation by a question or variable. In addition to the basic objects of a representation it describes the Geographic Structure values available for use by the question or variable.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedGeographicStructureCodeRepresentationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedGeographicStructureCodeRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IncludedGeographicStructureCodes" type="ddi:IncludedGeographicStructureCodesType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the Geographic Structure codes included by the Authorized source of the code, the Geographic Structure being used and the Structures to exclude.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedLocationRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Means of describing the Location of an action and the action itself within a repesentation so that they can be used by questions as a response domain. In addition to the basic objects of the representation, the structure briefly describes the object type upon which the action is to take place and the action to take (where an how to mark the object).</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedLocationRepresentationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedLocationRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Object" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The type of object on which the action takes place such as an image, audio tape, etc. Allows for the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Action" type="ddi:ActionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the region of an image, recording, or text where an action where a specified action is performed and the type of action taken (i.e., Mark an "X" where the actor should be standing on the picture of the stage.).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedMissingValuesRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Means of describing the Missing Values within a managed representation so that they can be reused by multiple variables and questions. Variable has a separate Missing Values location for this representation. Questions must use a StructuredMixedResponseDomain to include both standard response and Missing Value responses in a single question. In addition to the name, label, and description of the representation, the structure defines the type of the missing values, a optional generation instruction for deriving the value to be recorded, and the ability to define a blank as a missing value.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedMissingValuesRepresentationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedMissingValuesRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedMissingValuesRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedMissingValuesRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="MissingCodeRepresentation" type="ddi:CodeRepresentationBaseType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a CodeRepresentationBase created for the purpose of capturing missing values with associated labels.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="MissingNumericRepresentation" type="ddi:NumericRepresentationBaseType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a NumericRepresentationBase created for the purpose of capturing missing values as a set of numbers or a range.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="MissingTextRepresentation" type="ddi:TextRepresentationBaseType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a TextRepresentationBase created for the purpose of capturing missing values as text content.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ProcessingInstructionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An optional reference to a GenerationInstruction describing how to generate the value for this representation when used as a response domain or missing value representation. TypeOfObject should be set to GeneralInstruction or GenerationInstruction.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeneralInstruction" />
                                            <xs:enumeration value="GenerationInstruction" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsBlankMissingValue" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Designates no response (white space, null) to be treated as a missing value.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedNominalRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">A means of capturing the features of a nominal (marked/unmarked) response domain. Note that this is not the same as a code or category list with a yes/no set of responses. This representation is generally used in QuestionGrids when defining the response domain of a grid cell. In addition to the basic objects of a representation, the structure defines the allowed content of the mark using a regular expression.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedNominalRepresentationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedNominalRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="RegExp" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The regular expression allows for further description of the allowable content of the data.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedNumericRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">A means of capturing a managed representation of a numbers (item that are analyzed as numbers) which can be referenced by a variable or question and used as a value representation or response domain. In addition to the name, label, and description of the managed numeric representation, the structure defines the number range of valid values, plus information on the format, scale, number of decimals, and intervals between valid responses within the range.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedNumericRepresentationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedNumericRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedNumericRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedNumericRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="NumberRange" type="ddi:NumberRangeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Defines the valid number range or number values for the representation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="NumericTypeCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identification of the numeric type such as integer, decimal, etc. supports the use of an external controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (NumericType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Format" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A format for number expressed as a string.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Scale" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The scale of the number expressed as an integer (for example a number expressed in 100's, 5 = 500 would have a scale of 100).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DecimalPositions" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The number of decimal positions expressed as an integer (precision of the number).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Interval_IntervalType" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The interval between valid responses expressed as an integer.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Accuracy">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The level to which a number is considered to be accurate. Expressed as a decimal. </xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:decimal" />
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedRankingRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">A means of capturing the representation of Ranking to be used as a response domain used by a question. In addition to the basic objects of the representation, the structure defines the range used for ranking including the number of times an individual value may be repeated.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedRankingRepresentationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedRankingRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RankingRange" type="ddi:RankingRangeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The allowed values expressed using Range (allows for non-numeric values). In addition, defines the number of times a value may be used in expressing a ranking.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedRepresentation" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">Substitution group head for referencing Managed Representations.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence />
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedRepresentationGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of managed representation and other managed objects used for representation, that are grouped for conceptual, administrative, or other purposes. Contents of the group may be ordered or hierarchical. In addition to the name, label, and description of the group, the structure allows for the identification of the type of group, a related universe, population, or concept, and a listing of the included ManagedRepresentations, managed objects used for representation, and ManagedRepresentationGroups by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfManagedRepresentationGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a ManagedRepresentationGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedRepresentationGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedRepresentationGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedRepresentationGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedRepresentationGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this managed representation group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this managed representation group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the managed representations in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedRepresentationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This is an abstract substitution base for a reference to a specific type of Managed Representation.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedCategoryRepresentation" />
                                            <xs:enumeration value="ManagedCodeRepresentation" />
                                            <xs:enumeration value="ManagedDateTimeRepresentation" />
                                            <xs:enumeration value="ManagedDistributionRepresentation" />
                                            <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                            <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                            <xs:enumeration value="ManagedGeographicRepresentation" />
                                            <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                            <xs:enumeration value="ManagedLocationRepresentation" />
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                            <xs:enumeration value="ManagedNominalRepresentation" />
                                            <xs:enumeration value="ManagedNumericRepresentation" />
                                            <xs:enumeration value="ManagedRankingRepresentation" />
                                            <xs:enumeration value="ManagedScaleRepresentation" />
                                            <xs:enumeration value="ManagedTextRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedRepresentationGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent ManagedRepresentationGroup. This allows for nesting of ManagedRepresentationGroups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedRepresentationGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedRepresentationScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">This scheme contains sets of values described by ManagedRepresentation. These are used by reference to define Variable Representation and Question Response Domain. Text representations cover all non-code and non-category representations/response domains that should be treated or analyzed as characters regardless of whether the character is a number or a letter. In addition to the name, label and description of the scheme, the structure allows for the inclusion on an external scheme by reference, definitions of ManagedRepresentations in-line or by reference, and ManagedRepresentationGroups in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedRepresentationSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedRepresentationScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedRepresentationScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedRepresentationScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedRepresentationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to another ManagedRepresentationScheme to include in this scheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedRepresentationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedRepresentationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of a text based representation to be used by a question response domain or variable value representation.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedCategoryRepresentation" />
                                            <xs:enumeration value="ManagedCodeRepresentation" />
                                            <xs:enumeration value="ManagedDateTimeRepresentation" />
                                            <xs:enumeration value="ManagedDistributionRepresentation" />
                                            <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                            <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                            <xs:enumeration value="ManagedGeographicRepresentation" />
                                            <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                            <xs:enumeration value="ManagedLocationRepresentation" />
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                            <xs:enumeration value="ManagedNominalRepresentation" />
                                            <xs:enumeration value="ManagedNumericRepresentation" />
                                            <xs:enumeration value="ManagedRankingRepresentation" />
                                            <xs:enumeration value="ManagedScaleRepresentation" />
                                            <xs:enumeration value="ManagedTextRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedRepresentationGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A grouping of ManagedRepresentations for conceptual, administrative or other reasons.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedRepresentationGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedScaleRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">A means of capturing a managed representation of a Scale for use by a Response Domain Reference or Value Representation Reference. In addition to the name, label, and description of the representation, the structure defines the dimensions of the scale, an intersect for a multi-dimensional scale, and display layout.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedScaleRepresentationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedScaleRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedScaleRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedScaleRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ScaleDimension" type="ddi:ScaleDimensionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of a dimension of the scale. Note that most scales will have only one dimension.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DimensionIntersect" type="ddi:DimensionIntersectType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the point at which the scales of a multidimensional scale intersect.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DisplayLayout" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Defines they layout such as containing a drawn scale line, a list of values only, an outline (the boundaries of the area defined by 2 or more intersecting scales such as a diamond of opposites), or some other layout design. Allows for the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ManagedTextRepresentation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Means of describing text based content used by reference to define Variable Representation and Question Response Domain. Text Representations cover all non-code and non-category representations/response domains that should be treated or analyzed as characters regardless of whether the character is a number or a letter. In addition to the name, label, and description, the scheme defines the maximum and minimum length of the allowed text and allows for the use of a regular expression to further define the valid content.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ManagedRepresentation">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedTextRepresentationName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the ManagedTextRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="MaxLength" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The maximum number of characters allowed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="MinLength" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The minimum number of characters allowed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="RegExp" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A regular expression limiting the allowed characters or character order of the content.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="MeasurementConstruct">
        <xs:annotation>
            <xs:documentation xml:lang="en">A construct which ties measurement content to the programmatic logic of the control constructs. Contains a reference to a MeasurementItem, identifies the response unit, analysis unit, and universe. May provide an estimate of the number of minutes needed to respond.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="MeasurementItemReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Measurement.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="MeasurementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the intended Response unit (respondent). Supports the use of an external controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (ResponseUnit) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AnalysisUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The analysis unit, expressed as a term which may come from a controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (AnalysisUnit) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement containing a description of the persons or other elements that this measurement refers to.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other elements that this measurement refers to.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="EstimatedSecondsResponseTime">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The estimated amount of time required to perform the data capture expressed in seconds. Decimal values should be used to define fractions of seconds. At the measurement construct level it refers to the estimated time within the context of is use in a data capture process.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:decimal" />
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="MeasurementGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of MeasurementItem, which may be ordered or hierarchical. In addition to the name, label, and description of the group, the structure allows for defining the type of group using an optional controlled vocabulary, a reference to a defining universe, population, or concept for the group, a subject classification for the group, and a listing of MeasurementItems and MeasurementGroups in any order.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfMeasurementGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual identification of the group type. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the group.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the question group.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the MeasurementItemGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this MeasurementItem group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this MeasurementItem group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the MeasurementItem in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementItemReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent MeasurementItem.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="MeasurementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent MeasurementGroup. This allows for nesting of MeasurementGroups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="MeasurementGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="MeasurementItem">
        <xs:annotation>
            <xs:documentation xml:lang="en">Structure a single Measurement which may contain one or more response domains (i.e., a list of valid category responses where if "Other" is indicated a text response can be used to specify the intent of "Other"). The structure provides detail on the intent of the measurement, they type of capture, the valid response options and the number of allowed responses, references to external aids and instructions, and an estimation of the time needed to respond to the measurement. Note that the MeasurementItem is a reusable format for use in any number of applied uses. Additional materials and information can be added within the MeasurementConstruct which is the applied use of a measurement.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementItemName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the MeasurementItem.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the MeasurementItem.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the MeasurementItem.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InParameter" type="ddi:InParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides an identity for input objects required for the MeasurementItem.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides an identify for the output objects of the MeasurementItem.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Binding" type="ddi:BindingType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A structure used to bind the content of a parameter declared as the source to a parameter declared as the target.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TypeOfMeasurementItem" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief term defining the type of MeasurementItem. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementItemIntent" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The purpose of the MeasurementItem in terms of what it is designed to measure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ResponseDomain" type="ddi:RepresentationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a response domain for the measurement item. Typically used to describe simple response domains (textual, numeric, etc.).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ResponseDomainReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The inclusion of a response domain by reference (must be supported by a managed representation). An abstract element. May be substituted by any valid object of substitution type ResponseDomainReference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedCategoryRepresentation" />
                                            <xs:enumeration value="ManagedCodeRepresentation" />
                                            <xs:enumeration value="ManagedDateTimeRepresentation" />
                                            <xs:enumeration value="ManagedDistributionRepresentation" />
                                            <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                            <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                            <xs:enumeration value="ManagedGeographicRepresentation" />
                                            <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                            <xs:enumeration value="ManagedLocationRepresentation" />
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                            <xs:enumeration value="ManagedNominalRepresentation" />
                                            <xs:enumeration value="ManagedNumericRepresentation" />
                                            <xs:enumeration value="ManagedRankingRepresentation" />
                                            <xs:enumeration value="ManagedScaleRepresentation" />
                                            <xs:enumeration value="ManagedTextRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StructuredMixedResponseDomain" type="ddi:StructuredMixedResponseDomainType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Use in cases where the measurement requires the option for multiple response domains.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this measurement. Note that each response domain has its own response cardinality.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the concept associated with the response to the measurement.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExternalAid" type="ddi:ExternalAidType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A pointer to an external aid presented by the instrument such as a text card, image, audio, or audiovisual aid. Typically a URN. Use type attribute to describe the type of external aid provided. Example of terms to use would include: imageOnly audioOnly audioVisual multiMedia.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExternalInterviewerInstruction" type="ddi:ExternalInterviewerInstructionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">External reference to an interviewer instruction not expressed as DDI XML using OtherMaterial.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InterviewerInstructionAttachment" type="ddi:AttachedInstructionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">an interviewer instruction expressed as DDI XML.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the RepresentedVariable that describes the data to be collected by this measurement. The RepresentedVariable contains the broad reusable specification of the Variable, i.e., concept, universe, and value representation. When more than one ResponseDomain exists, one RepresentedVariable should be created for each ResponseDomain in the same order as the corresponding ResponseDomain. TypeOfObject should be set to RepresentedVariable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RepresentedVariable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentResultsReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the development implementation results which gave rise to this version of the object. TypeOfObject should be DevelopmentResults.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentResults" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="EstimatedSecondsResponseTime">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The estimated amount of time required to perform the measurement expressed in seconds. Decimal values should be used to define fractions of seconds.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:decimal" />
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="MeasurementScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a set of MeasurementItems and MeasurementGroups. In addition to the standard name, label, and description of the MeasurementScheme, may contain another MeasurementScheme by reference, a listing of MeasurementItems (in-line or by reference), and a listing of MeasurementGroups (in-line or by reference).</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the MeasurementScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the scheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the MeasurementItemScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the inclusion of another MeasurementItemScheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="MeasurementScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementItemReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a MeasurementItem in-line.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="MeasurementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a group of MeasurementItems, which may be ordered or hierarchical.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="MeasurementGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Methodology">
        <xs:annotation>
            <xs:documentation xml:lang="en">Metadata regarding the methodologies used concerning data collection, determining the timing and repetition patterns for data collection, and sampling procedures. Identifies areas where there were deviations from the planned sampling approach, the software used for data collection, and references to any quality standards or statements regarding the processes surrounding the planning and implementation of data collection.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MethodologyName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Methodology.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Methodology.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the Methodology.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DataCollectionMethodology" type="ddi:DataCollectionMethodologyType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Methodologies pertaining to the overall data collection such as primary or secondary data collection, qualitative or quantitative methods, mixed method approaches, GPS capturing methods, methods for collecting data from hard to reach communities, etc. Repeat this element if multiple methodologies are used. Repeat this element if multiple methodologies are used.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TimeMethod" type="ddi:TimeMethodType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes how time fits into the data collection methodology.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="WeightingMethodologyReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A basic structure for describing the methodology used for weighting. In addition to a descriptive narrative, the methodology may be classified by a short term or external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="WeightingMethodology" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SamplingProcedure" type="ddi:SamplingProcedureType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a sampling procedure. If multiple sampling procedures were used repeat this element for each.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DeviationFromSampleDesign" type="ddi:DeviationFromSampleDesignType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes any deviations from the planned sample design.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DataCollectionSoftware" type="ddi:SoftwareType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Specification of a software package used to instantiate a data collection method.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a Quality Statement pertaining to the quality of the study methodology, metadata, or data to which it is associated. Quality statements may be related to external quality standards.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStatement" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="NCube">
        <xs:annotation>
            <xs:documentation xml:lang="en">An NCube is a 1..n dimension structure which relates a set of individual values to each other by defining them within a matrix. The NCube may be the result of aggregations, cross-tabulation, time-series, etc. The NCube is described by its dimensions which are represented by categorical variables (variables with a set number of values of specific definition that can be used to identify a specific cell as part of a matrix address). The resulting cells can contain one or more measures, also defined by variables. In addition to the standard name, label, and description of the NCube, it contains a reference to a universe, defines both the normal source of the data in the cells and unit of analysis, the purpose of creating the structured data, the dimensions and measures, as well as the ability to attached any other attribute (i.e., footnote, cell or region specific note) to a specified area of the NCube. Three attribute serve as informational check values; dimensionCount, cellCount, and isClean.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the NCube.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the NCube.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and structure of the NCube.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement containing a description of the persons or other elements that this NCube refers to, and to which any analytic results refer. If more than one universe is referenced the universe of the variable is the intersect of the referenced universes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other elements that this NCube and its analytic results refer to. If more than one population is referenced, the population of the NCube is the intersection of the referenced populations.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ImputationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an imputation process described as a GeneralInstruction or GenerationInstruction held in a ProcessingInstructionScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeneralInstruction" />
                                            <xs:enumeration value="GenerationInstruction" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SourceUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The normal source of the information contained in the NCube. In the case of a survey this may be a respondent, proxy, interviewer, or other source. In the case of administrative data the position of a field on a form e.g., "top of page", "item 3", "generated by data processor", etc. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AnalysisUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The entity to which the data refer, for example, individuals, families or households, groups, institutions/organizations, administrative units, etc. Supports the use of an external controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (AnalysisUnit) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Purpose" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Purpose for which the NCube was created. For example, designed to support a set of age pyramids generated yearly.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Dimension" type="ddi:DimensionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">NCubes are defined by their dimensions. A dimension is provided a rank and a reference to a variable that describes it. Cell locations are "addressed" by the value of their intersect on each dimension provided in rank order.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CoordinateRegion" type="ddi:CoordinateRegionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Defines the area of attachment for an attribute. It may be defined as the NCube as a whole or as certain dimensions or values of dimensions.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="MeasureDefinition" type="ddi:MeasureDefinitionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Defines the structure and type of measure captured within the cells. This may be repeated to describe multiple measure for the cells (i.e., count, percent of universe, dimensional percent, index, text, suppression flag, etc.).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Attribute" type="ddi:AttributeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An attribute may be any object which should be attached to all or part of the NCube. It may be defined as a Variable or contain textual content (such as a footnote).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DimensionCount" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The number of dimensions found in the NCube. Caution in using optional checksums is recommended. Conflict between checksums and the items being counted can cause problems with warning flags during processing. If using checksum to capture information for internal processing purposes, the use of automatically generated check sums is strongly urged.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="CellCount" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The number of cells (measures) found in the NCube. Note that this is the number of cells produced by dimension structure not the number of cells containing data in a sparse NCube. Caution in using optional checksums is recommended. Conflict between checksums and the items being counted can cause problems with warning flags during processing. If using checksum to capture information for internal processing purposes, the use of automatically generated check sums is strongly urged.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsClean" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A value of "true" indicates that all cells have the potential for content values. If set to "false" Attribute and CoordinateRegion should be used to define the sparse areas of the NCube, those that have no content by definition. For example a cross-tabulation between Household Type (Family, Non-Family) and Number of persons in Household (1,2,3,4,5,6,7+) would need an attribute for Family/1 Person as this will always be empty due to the definition of Family as two or more related persons.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="NCubeGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of NCubes, which may be ordered or hierarchical. In addition to the name, label, and description of the group, the structure allows for defining the type of group using an optional controlled vocabulary, a reference to a defining universe, population, or concept for the group, and a listing of NCubes and NCubeGroups in any order.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfNCubeGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual identification of the group type. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the NCubeGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the NCubeGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the NCubeGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this NCube group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this NCube group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the NCubes in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent NCube.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCube" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent NCubeGroup. This allows for nesting of NCubeGroups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCubeGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="NCubeInstance">
        <xs:annotation>
            <xs:documentation xml:lang="en">A container for defining an instance of an NCube, indicating the matrix address of each cell and where the data for each measure within a cell of the NCube is stored. Allows specifying the values of the attributes attached to a NCube.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="NCubeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the logical NCube description.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCube" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasureDimension" type="ddi:MeasureDimensionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This element defines the structure of a measure dimension for the NCube Instance. A value along the MeasureDimension is defined by a stack of references to one or more MeasureDefinitions found in the logical description of the NCube with each containing an attribute of orderValue which provides its value for use in the cell address (similar to the use of a CodeRepresentation of a Variable used as a conceptual dimension. This allows measures (whether one or several) to be handled in the same way as the conceptual dimension of the NCube in declaring a cell address. It is assumed that the value of the MeasureDimension is the last value in the address array. For example, for an NCube with 3 conceptual dimensions of rank 1 = Sex, rank 2 = Age, and rank 3 = Educational Attainment, plus a MeasureDimension. The cell address of 1,4,2,2 would indicate Code value of 1 for Sex, 4 for Age, 2 for Educational Attainment, and 2 for MeasureDimension. For systems translating to SDMX or an OLap structure DDI assumes that the MeasureDefinitionReference with the orderValue="1" is the equivalent of the PrimaryMeasure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AttachedAttribute" type="ddi:AttachedAttributeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This is an attribute attached to the NCube as a whole or a region of the NCube as defined in the logical description as a CoordinateRegion. The content of the attribute can be provided as a single value or reference a location in the data store where the attribute value will be found. This may be in addition to attribute information described in the logical structure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DataItemN" type="ddi:DataItemNType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a single data item or cell within an NCube Instance. It defines its location within the NCube by its coordinate (matrix) address which is its intersect point on each dimension. Allows for the specification of data item specific attributes, and identifies the physical location of each measure for the data item. May optionally indicate the language of the data contents.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DefaultDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An explicit definition of the data type that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. This field is necessary in the case of some numeric data formats where the format definition would allow real values, but the values are integer values. Allowed values are: integer (default), real, string.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DefaultDelimiter" type="ddi:DelimiterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Delimiter definition for delimited (free field) data that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Allowed values are: Empty (default), Tab, Blank, AnyString. If a delimiter is used, free field (delimited data) is assumed; binary formats are not allowed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDecimalPositions" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Number of decimal places for data with an implied decimal separator that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Another expression is the decimal scaling factor (SAS). Default: 0.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDecimalSeparator">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The character used to separate the integer and the fraction part of a number (if an explicit separator is used in the data) that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Allowed values are: None (default), Dot, Comma, Other. On the basis of the data definition in DDI documents, data processing tools could compute the necessary precision width on the basis of the format width and the existence of separators. Appropriate data types could be used, i.e. float or double, short or long. The decimal separator definition only makes sense with some XML Schema primitives. This is a default which may be overridden in specific cases.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:maxLength value="1" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDigitGroupSeparator">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The character used to separate groups of digits (if an explicit separator is used in the data) that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Allowed values are: None (default), Dot, Comma, Other. The decimal separator definition makes only sense with some XML Schema primitives. This is a default which may be overridden in specific cases.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:maxLength value="1" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="NumberOfCases" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Total number of cases represented by the contents of the NCube. This is normally the sum of the cell contents when the NCube contains counts and sub-totals are not included.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="NCubeInstanceI">
        <xs:annotation>
            <xs:documentation xml:lang="en">A container for defining an instance of an NCube, indicating the matrix address of each cell and capturing the data for each measure within a cell of the NCube is stored. Allows specifying the values of the attributes attached to a NCube.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="NCubeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the logical NCube description.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCube" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasureDimension" type="ddi:MeasureDimensionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This element defines the structure of a measure dimension for the NCube Instance. A value along the MeasureDimension is defined by a stack of references to one or more MeasureDefinitions found in the logical description of the NCube with each containing an attribute of orderValue which provides its value for use in the cell address (similar to the use of a CodeRepresentation of a Variable used as a conceptual dimension. This allows measures (whether one or several) to be handled in the same way as the conceptual dimension of the NCube in declaring a cell address. It is assumed that the value of the MeasureDimension is the last value in the address array. For example, for an NCube with 3 conceptual dimensions of rank 1 = Sex, rank 2 = Age, and rank 3 = Educational Attainment, plus a MeasureDimension. The cell address of 1,4,2,2 would indicate Code value of 1 for Sex, 4 for Age, 2 for Educational Attainment, and 2 for MeasureDimension. For systems translating to SDMX or an OLap structure DDI assumes that the MeasureDefinitionReference with the orderValue="1" is the equivalent of the PrimaryMeasure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AttachedAttributeI" type="ddi:AttachedAttributeIType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This is an attribute attached to the NCube as a whole or a region of the NCube as defined in the logical description as a CoordinateRegion. The content of the attribute can be provided as a single value or reference a location in the data store where the attribute value will be found. This may be in addition to attribute information described in the logical structure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DataItemI" type="ddi:DataItemIType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a single data item or cell within an NCube Instance. It defines its location within the NCube by its coordinate (matrix) address which is its intersect point on each dimension. Allows for the specification of data item specific attributes, and identifies the value of each measure for the data item. May optionally indicate the language of the data contents.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DefaultDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An explicit definition of the data type that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. This field is necessary in the case of some numeric data formats where the format definition would allow real values, but the values are integer values. Allowed values are: integer (default), real, string.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DefaultDelimiter" type="ddi:DelimiterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Delimiter definition for delimited (free field) data that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Allowed values are: Empty (default), Tab, Blank, AnyString. If a delimiter is used, free field (delimited data) is assumed; binary formats are not allowed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDecimalPositions" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Number of decimal places for data with an implied decimal separator that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Another expression is the decimal scaling factor (SAS). Default: 0.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDecimalSeparator">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The character used to separate the integer and the fraction part of a number (if an explicit separator is used in the data) that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Allowed values are: None (default), Dot, Comma, Other. On the basis of the data definition in DDI documents, data processing tools could compute the necessary precision width on the basis of the format width and the existence of separators. Appropriate data types could be used, i.e. float or double, short or long. The decimal separator definition only makes sense with some XML Schema primitives. This is a default which may be overridden in specific cases.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:maxLength value="1" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDigitGroupSeparator">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The character used to separate groups of digits (if an explicit separator is used in the data) that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Allowed values are: None (default), Dot, Comma, Other. The decimal separator definition makes only sense with some XML Schema primitives. This is a default which may be overridden in specific cases.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:maxLength value="1" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="NumberOfCases" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Total number of cases represented by the contents of the NCube. This is normally the sum of the cell contents when the NCube contains counts and sub-totals are not included.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="NCubeInstanceT">
        <xs:annotation>
            <xs:documentation xml:lang="en">A container for defining an instance of an NCube, indicating the matrix address of each cell and where the data for each measure within a cell of the NCube is stored. Allows specifying the values of the attributes attached to a NCube.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="NCubeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the logical NCube description.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCube" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasureDimension" type="ddi:MeasureDimensionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This element defines the structure of a measure dimension for the NCube Instance. A value along the MeasureDimension is defined by a stack of references to one or more MeasureDefinitions found in the logical description of the NCube with each containing an attribute of orderValue which provides its value for use in the cell address (similar to the use of a CodeRepresentation of a Variable used as a conceptual dimension. This allows measures (whether one or several) to be handled in the same way as the conceptual dimension of the NCube in declaring a cell address. It is assumed that the value of the MeasureDimension is the last value in the address array. For example, for an NCube with 3 conceptual dimensions of rank 1 = Sex, rank 2 = Age, and rank 3 = Educational Attainment, plus a MeasureDimension. The cell address of 1,4,2,2 would indicate Code value of 1 for Sex, 4 for Age, 2 for Educational Attainment, and 2 for MeasureDimension. For systems translating to SDMX or an OLap structure DDI assumes that the MeasureDefinitionReference with the orderValue="1" is the equivalent of the PrimaryMeasure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AttachedAttributeT" type="ddi:AttachedAttributeTType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This is an attribute attached to the NCube as a whole or a region of the NCube as defined in the logical description as a CoordinateRegion. The content of the attribute can be provided as a single value or reference a location in the data store where the attribute value will be found. This may be in addition to attribute information described in the logical structure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DataItemT" type="ddi:DataItemTType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a single data item or cell within an NCube Instance. It defines its location within the NCube by its coordinate (matrix) address which is its intersect point on each dimension. Allows for the specification of data item specific attributes, and identifies the physical location of each measure for the data item. May optionally indicate the language of the data contents.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DefaultDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An explicit definition of the data type that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. This field is necessary in the case of some numeric data formats where the format definition would allow real values, but the values are integer values. Allowed values are: integer (default), real, string.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DefaultDelimiter" type="ddi:DelimiterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Delimiter definition for delimited (free field) data that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Allowed values are: Empty (default), Tab, Blank, AnyString. If a delimiter is used, free field (delimited data) is assumed; binary formats are not allowed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDecimalPositions" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Number of decimal places for data with an implied decimal separator that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Another expression is the decimal scaling factor (SAS). Default: 0.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDecimalSeparator">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The character used to separate the integer and the fraction part of a number (if an explicit separator is used in the data) that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Allowed values are: None (default), Dot, Comma, Other. On the basis of the data definition in DDI documents, data processing tools could compute the necessary precision width on the basis of the format width and the existence of separators. Appropriate data types could be used, i.e. float or double, short or long. The decimal separator definition only makes sense with some XML Schema primitives. This is a default which may be overridden in specific cases.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:maxLength value="1" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDigitGroupSeparator">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The character used to separate groups of digits (if an explicit separator is used in the data) that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Allowed values are: None (default), Dot, Comma, Other. The decimal separator definition makes only sense with some XML Schema primitives. This is a default which may be overridden in specific cases.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:maxLength value="1" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="NumberOfCases" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Total number of cases represented by the contents of the NCube. This is normally the sum of the cell contents when the NCube contains counts and sub-totals are not included.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="NCubeScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A set of NCubes maintained by an agency and used to structure data items into relational structures. In addition to the standard name, label, and description of the scheme, contains descriptions of individual NCubes and NCubeGroups as well as allowing the inclusion of another NCubeScheme by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the NCubeScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the NCubeScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the NCubeScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the logical structure of an NCube which is a 1..n dimension structure which relates a set of individual value to each other by defining them within a matrix.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCube" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a group of NCubes for conceptual, organizational and management purposes, which may be ordered or hierarchical.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCubeGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for inclusion of other NCube schemes by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCubeScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Organization">
        <xs:annotation>
            <xs:documentation xml:lang="en">Details of an organization including name, contact information, a description, keywords to support searching, their regional affiliation, and any additional information. In addition the organization may capture how they manage version distinction. All agencies should be defined as an Organization and referenced by the Archive module. The organization and specific pieces of information regarding the individual may be tagged for information privacy.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Agent">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OrganizationIdentification" type="ddi:OrganizationIdentificationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identification information on the Organization. The structure contains a OrganizationName which can be repeated to provide any number of OrganizationNames that have a) a specific contextual usage, or b) are of specific types (e.g. PreviousFormalName). The DDI Maintenance Agency ID and and organization images, such as a building picture or logo are found in OrganizationIdentification. Images and names can be individually date stamped.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the organization.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Keyword used to classify the organization or its activities. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="RegionalCoverage" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The geographic region within which this organization operates.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="AdditionalInformation" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Any additional information you which to note about the organization. This is a structured string so it can be formatted and a privacy tag can be applied.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="VersionDistinction" type="ddi:VersionDistinctionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the data versioning scheme(s) used by an organization. If more than one, Name should differentiate between a standard versioning structure used by the organization and special structures used by specific projects or studies. Information on what drives and major and minor change and how they are structured.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ContactInformation" type="ddi:ContactInformationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contact information for the organization including location specification, address, URL, phone numbers, and other means of communication access. Address, location, telephone, and other means of communication can be repeated to express multiple means of a single type or change over time. Each major piece of contact information (with exception of URL contains the element EffectiveDates in order to date stamp the period for which the information is valid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Privacy">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A basic set of privacy codes for the parent element. These may be stricter than the general access restrictions for the overall metadata. If available codes are insufficient this may also contain any string.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="public" />
                                <xs:enumeration value="restricted" />
                                <xs:enumeration value="private" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="OrganizationGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of Organizations, Individuals, and/or Relations, which may describe an ordered or hierarchical relationship structure. Specifies the purpose of the group, a name, label, and description of the group, its relationship to a specific universe, population, or concept, and lists the members of the group.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfOrganizationGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a OrganizationGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OrganizationGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the OrganizationGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the OrganizationGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the OrganizationGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this OrganizationGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OrganizationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent Organization. TypeOfObject should be set to Organization.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="IndividualReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent Individual. TypeOfObject should be set to Individual.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RelationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a constituent Relation. TypeOfObject should be set to Relation.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Relation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OrganizationGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent OrganizationGroup. This allows for nesting of OrganizationGroups. TypeOfObject should be set to OrganizationGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OrganizationGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="OrganizationScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A scheme containing information on Organizations, Individuals, and the relationships between them. In addition to the name, label, and description of the scheme, the structure supports the inclusion of another OrganizationScheme by reference, a set of Organization, Individual, and Relation descriptions.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OrganizationSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the OrganizationScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the OrganizationScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the OrganizationScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OrganizationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an existing OrganizationScheme for inclusion by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OrganizationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OrganizationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of an Organization. These may be referenced by many elements in DDI and provide fuller detail regarding the Organization.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="IndividualReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of an Individual. These may be referenced by many elements in DDI and provide fuller detail regarding the Individual.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RelationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a Relationship between two organizations or individual or between an individual and an organization. Relation is generally and on-going association not associated with a specific role in relationship to a study.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Relation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OrganizationGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a group of Organizations, Individuals, and/or Relations.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OrganizationGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="OtherMaterial">
        <xs:annotation>
            <xs:documentation xml:lang="en">OtherMaterialType describes the structure of the OtherMaterial element, used to reference external resources. It includes citations to materials related to the content of the DDI Instance. This includes citations to such material, an external reference to a URL (or other URI), and a statement about the relationship between the cited OtherMaterial the contents of the DDI instance.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfMaterial" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Designation of the type of material being described. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the referenced material. This field can map to a Dublin Core abstract. Note that Dublin Core does not support structure within the abstract element.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Citation" type="ddi:CitationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Bibliographic citation for the external resource.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ExternalURLReference" type="ddi:anyURI">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a URL which indicates the location of the cited external resource.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ExternalURNReference" type="ddi:anyURI">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a URN which identifies the cited external resource.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Relationship" type="ddi:RelationshipType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the item within the DDI Instance to which the external resource is related.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MIMEType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a standard Internet MIME type for use by processing applications.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Segment" type="ddi:SegmentType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Can describe a segment within a larger object such as a text or video segment.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="SizeInBytes" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Specifies the size of the file in bytes.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Lang" type="ddi:language">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Language of the metadata describing the other material.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="OtherMaterialGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of OtherMaterials, which may describe an ordered or hierarchical relationship structure. Specifies the purpose of the group, a name, label, and description of the group, its relationship to a specific universe, population, or concept, and lists the members of the group.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfOtherMaterialGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a OtherMaterialGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherMaterialGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the OtherMaterialGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the OtherMaterialGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the OtherMaterialGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this OtherMaterialGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherMaterialReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent OtherMaterial. TypeOfObject should be set to OtherMaterial.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OtherMaterial" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherMaterialGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent OtherMaterialGroup. This allows for nesting of OtherMaterialGroups.  TypeOfObject should be set to OtherMaterialGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OtherMaterialGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="OtherMaterialScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">This scheme contains a set of other materials referenced by the metadata. In addition to the name, label, and description of the scheme, the structure supports the inclusion of another OtherMaterialScheme by reference and a set of OtherMaterial descriptions either in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherMaterialSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the OtherMaterialScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the OtherMaterialScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the OtherMaterialScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherMaterialSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Inclusion of an existing OtherMaterialScheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OtherMaterialScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherMaterialReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a OtherMaterial. These are used by reference at various points in the lifecycle.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OtherMaterial" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherMaterialGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a group of OtherMaterials.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OtherMaterialGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PhysicalDataProduct">
        <xs:annotation>
            <xs:documentation xml:lang="en">A module describing the physical storage structures of data files and the relationship of their internal objects to the logical (intellectual) description of the objects found in LogicalProduct. This describes the physical aspects of data files which may be common between one or more data files as described by physical structure of the file and the structure of data items within a record. The PhysicalDataProduct contains the critical links between the physical data store identified by a PhysicalInstance and the logical (intellectual) description of the data as found in the LogicalProduct. In addition to the standard name, label, and description, the module allows for OtherMaterial, and descriptions of PhysicalStructureSchemes and RecordLayoutSchemes in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalDataProductName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the PhysicalDataProduct module.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the PhysicalDataProduct module.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the PhysicalDataProduct module.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalStructureSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A scheme containing a set of PhysicalStructures containing descriptions of overall structure of a physical data storage format. These descriptions provide the primary link to the LogicalRecord found in the data file, general structural information such as use of proprietary storage structures, division of logical records into physical segment, and default values for decimal separators, etc. Each description can apply to one or more data files containing the same logical records in the same overall structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalStructureScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RecordLayoutSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A scheme containing a set of RecordLayouts describing the location of individual data items within the physical record and how to address them (locate and retrieve). RecordLayouts provide a link to the PhysicalStructure description and to individual variables or NCubes describing the data items.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RecordLayoutScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PhysicalInstance">
        <xs:annotation>
            <xs:documentation xml:lang="en">Includes information about the physical instance of a data product (an actual data file). It completes the documentation contained in the Physical Data Product module that is specific to the individual file and serves as a descriptive record of the external data file. Physical Instance provides a citation for the data file, a link to the RecordLayout(s) used by the files records, a description of it coverage (as a constraint if different from the study), check figures for quality control (e.g. digital fingerprint, record count, etc.), and a statistical summary of the data in the file at both the variable and category level.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Citation" type="ddi:CitationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A citation for the physical instance of a data set. Note that a DOI or similar unique identifier for the data file should be placed in InternationalIdentifier. It is strongly recommended that use of a Citation in this location includes the use of the optional sub-element Title.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DataFingerprint" type="ddi:DataFingerprintType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for assigning a hash value (digital fingerprint) to the data or data file. Set the attribute flag to "data" when the hash value provides a digital fingerprint to the data contained in the file regardless of the storage format (ASCII, SAS, binary, etc.). One approach to compute a data fingerprint is the Universal Numerical Fingerprint (UNF). Set the attribute flag to "dataFile" if the digital fingerprint is only for the data file in its current storage format.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Coverage" type="ddi:CoverageType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Includes information about the topical, spatial, and temporal coverage of the physical instance. May be expressed as a restriction of the parent study coverage.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataRelationshipReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the DataRelationship containing the LogicalRecord to which the RecordLayout refers. Repeat for cases where LogicalRecords are described in multiple DataRelationship structures. Note that this does not imply that all of the LogicalRecords described in the DataRelationship are contained, wholly or in part in the PhysicalInstance. This reference allows for a direct path between the PhysicalInstance and the related content found in a LogicalProduct.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DataRelationship" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a grouping of variables that are included in the PhysicalInstance. Variable Groups may represent hierarchical relationships of variables, topical groupings, or administrative groupings.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="VariableGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="TabularNCubeRecordLayoutReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References the record layout of the data documented in the physical instance.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="TabularNCubeRecordLayout" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProprietaryRecordLayoutReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References the record layout of the data documented in the physical instance.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProprietaryRecordLayout" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RecordLayoutReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References the record layout of the data documented in the physical instance.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RecordLayout" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultMissingValuesReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References the content of the default missing values used in the file. The content of this file overrides default missing value information provided in the LogicalRecord. Allows for the specification that is a Systems Missing Value.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DataFileIdentification" type="ddi:DataFileIdentificationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the data file documented in the physical instance and provides information about its location.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DataFileVersion" type="ddi:DataFileVersionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides the version information for the data file related to this physical instance. Note that while Physical Instance allows for multiple copies of the same data file (such as backup copies) the assumption is that they are identical in terms of content, layout, format and version.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InformationClassificationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Used to describe the rules and guidelines on how the data is allowed to be handled, transferred, stored and disposed. These confidentiality policies are often dictated by national laws and/or data owners on handling of personal, proprietary, and other sensitive information.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InformationClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a Quality Statement pertaining to the quality of the study methodology, metadata, or data to which it is associated. Quality statements may be related to external quality standards.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStatement" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GrossFileStructure" type="ddi:GrossFileStructureType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Includes information about the file structure, as well as other characteristics that are specific to the physical instance.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ProprietaryInfo" type="ddi:ProprietaryInfoType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains information proprietary to the software package which produced the data file. This is expressed as a set of name-value pairs. The value may be taken from a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StatisticalSummary" type="ddi:StatisticalSummaryType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Includes variable and category statistics data documented in the physical instance, or a reference to a physical instance where the statistics are described or located in line.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ByteOrder" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a term from a controlled vocabulary indicating the byte ordering.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PhysicalInstanceGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of PhysicalInstance descriptions, which may be ordered or hierarchical. In addition to the name, label, and description of the group, the structure allows for defining the group by reference to a DefiningConcept.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfPhysicalInstanceGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual identification of the group type. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalInstanceGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the group.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the PhysicalInstanceGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the PhysicalInstanceGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this PhysicalInstanceGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalInstanceReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A PhysicalInstance defined as a member of this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalInstance" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalInstanceGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A PhysicalInstanceGroup that is a member of this group (nesting structure).</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalInstanceGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PhysicalStructure">
        <xs:annotation>
            <xs:documentation xml:lang="en">Description of a PhysicalStructure providing the primary link to the LogicalRecord and general structural information. Each description can apply to one or more data files containing the same logical records in the same overall structure.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalStructureName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the PhysicalStructure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the PhysicalStructure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the PhysicalStructure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="FileFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual description or classification of the format of the file (e.g., SAS save file, Delimited file, Fixed format file, DDI DataSet). Supports the use of an external controlled vocabulary. DDI recommends the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DefaultDataType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Defines the data type to use unless otherwise specified. Supports the use of an external controlled vocabulary. Similar content to RecommendedDataType.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DefaultDelimiter" type="ddi:DelimiterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Delimiter definition for delimited (free field) data that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Allowed values are: Empty (default), Tab, Blank, AnyString. If a delimiter is used, free field (delimited data) is assumed; binary formats are not allowed..</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDecimalPositions" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Number of decimal places (expressed as an integer) for data with an implied decimal separator that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Another expression is the decimal scaling factor (SAS). Default: 0.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDecimalSeparator">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The character used to separate the integer and the fraction part of a number (if an explicit separator is used in the data) that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Allowed values are: None (default), Dot, Comma, Other. On the basis of the data definition in DDI documents, data processing tools could compute the necessary precision width on the basis of the format width and the existence of separators. Appropriate data types could be used, i.e. float or double, short or long. The decimal separator definition only makes sense with some XML Schema primitives. This is a default which may be overridden in specific cases.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:maxLength value="1" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDigitGroupSeparator">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The character used to separate groups of digits (if an explicit separator is used in the data) that is applied to the majority of the data items reducing the amount of repetitive markup required. It can be overridden at the data item level. Allowed values are: None (default), Dot, Comma, Other. The decimal separator definition makes only sense with some XML Schema primitives. This is a default which may be overridden in specific cases.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:maxLength value="1" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GrossRecordStructure" type="ddi:GrossRecordStructureType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The gross or macro level structures of the record structure including the link to the LogicalRecord and information on the number and ordering of each Physical Segment of the LogicalRecord as stored in the data file.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PhysicalStructureGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">A group of PhysicalStructure descriptions for administrative or conceptual purposes. May be hierarchical. In addition to the standard name, label, and description, allows for a brief classification of the group type, reference to an applicable Universe, Population, and Concept, inclusion of PhysicalStructures and PhysicalStructureGroups by reference and an indicator which can be set to "true" if the group is ordered.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfPhysicalStructureGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a PhysicalStructureGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalStructureGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the PhysicalStructureGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the PhysicalStructureGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the PhysicalStructureGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this PhysicalStructureGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalStructureReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent PhysicalStructure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalStructure" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalStructureGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent PhysicalStructureGroup. This allows for nesting of PhysicalStructureGroups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalStructureGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PhysicalStructureScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A scheme containing a set of PhysicalStructures containing descriptions of overall structure of a physical data storage format. These descriptions provide the primary link to the LogicalRecord found in the data file, general structural information such as use of proprietary storage structures, division of logical records into physical segment, and default values for decimal separators, etc. Each description can apply to one or more data files containing the same logical records in the same overall structure. In addition to the standard name, label, and description, it allows for inclusion of an existing PhysicalStructureScheme by reference, and PhysicalStructure or PhysicalStructureGroup descriptions in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalStructureSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the PhysicalStructureScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the PhysicalStructureScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the PhysicalStructureScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalStructureSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an existing PhysicalStructureScheme for inclusion.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalStructureScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalStructureReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A PhysicalStructure description providing the primary link to the LogicalRecord and general structural information. Each description can apply to one or more data files containing the same logical records in the same overall structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalStructure" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalStructureGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A group of PhysicalStructure descriptions for administrative or conceptual purposes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalStructureGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Population">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Population refines a Universe by specifying the geographic area and time period to which its units belong. Units may be people, households, organizations, events, or other objects of interest.

This follows the Unit Cascade in [DDI Common Core, version 1](https://doi.org/10.5281/zenodo.17297309) (p. 5): Unit Type identifies a general kind of unit, Universe restricts it by shared characteristics, and Population adds geographic and temporal scope. For example, "persons" is a Unit Type, "women aged 18 or older" is a Universe, and "women aged 18 or older residing in the United States during 2025" is a Population.

Use `UniverseReference` to identify the defining Universe, `GeographyOfPopulation` to describe its geographic scope, and `TimePeriodOfPopulation` to describe its temporal scope. Multiple time periods can describe non-contiguous intervals. These properties are optional in the current model; a description aligned with Common Core should nevertheless establish both the geographic and temporal scope.
</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Describable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefiningConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A concept that defines or aids in understanding the content of the population. For example the Population "Males" may link to the concept of "Male".</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the Universe that defines the Unit Type and shared characteristics of this Population, such as businesses in the manufacturing industry. The Universe is independent of geographic area and time period; the Population supplies that scope. TypeOfObject should be set to Universe.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UnitTypeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a unit type being associated with this Population. TypeOfObject should be set to UnitType.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitType" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The entity type associated with this Population. For example, individuals, families or households, groups, institutions/organizations, administrative units, etc. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GeographyOfPopulation" type="ddi:GeographicCoverageType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of the geographic coverage of the population.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TimePeriodOfPopulation" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to specific time period for the Population. Repeat for non-continuous time periods.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsInclusive" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The default value is true. The description statement of a Population is generally stated in inclusive terms such as All persons residing in Europe. Occasionally a Population is defined by what it excludes, i.e., All persons residing in Europe except for those residing on U.S. Military bases. In this case the value would be changed to false.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PopulationGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of Populations, which may describe an ordered or hierarchical relationship structure. Specifies the purpose of the group, a name, label, and description, its relationship to a specific universe, population, or concept, and its member Populations and nested PopulationGroups. Used primarily for organizational and management purposes.
</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfPopulationGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a PopulationGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the PopulationGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the PopulationGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the PopulationGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GroupingUniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain. This is not a universe contained by the group but one that helps define the purpose and application of the group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GroupingPopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this PopulationGroup apply. This reference defines the context and application of the group; it does not identify a constituent member.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="GroupingConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group. This helps define the context within which this PopulationGroup is relevant.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a constituent Population. TypeOfObject should be set to Population.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent PopulationGroup. This allows for nesting of PopulationGroups. TypeOfObject should be set to PopulationGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PopulationGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PopulationScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a set of Population descriptions, including their time and geography. Populations may be organized into PopulationGroups for organizational and management purposes. Other PopulationSchemes may be included by reference.
</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the PopulationScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the PopulationScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the PopulationScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the inclusion of a PopulationScheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PopulationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a population, including its time and geography.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a group of populations for organizational and management purposes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PopulationGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PretestActivity">
        <xs:annotation>
            <xs:documentation xml:lang="en">A substitution for DevelopmentActivity which specifies the details for performing a pretest of a set of questions or questionnaire. Includes reference to the Sample Frame and Sample Method for the pretest, and the data collection process in terms of method of administration, mode of collection, delivery method, and identification of any additional data collected.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:DevelopmentActivity">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="SampleFrameReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the Sample Frame used in selecting the the sample from the parent population.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SampleFrame" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="SamplingPlanReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the sampling plan used with the sample frame.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SamplingPlan" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="PretestAdministration" type="ddi:PretestAdministrationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of the method and mode of data collection in administering the pretest. Notes any additional data collected in the administration of the pretest.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ProcessingEvent">
        <xs:annotation>
            <xs:documentation xml:lang="en">ProcessingEvent can contain a number of operations of different types to express a range of events that occur together. For example a ProcessingEvent of a CleaningOperation may also include a reference to a ProcessingInstruction used in the cleaning process. Event activities include ControlOperation, CleaningOperation, Weighting, and DataAppraisalInformation. References to related processing instructions and quality statement may be included.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingEventName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ProcessingEvent.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ProcessingEvent.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the ProcessingEvent.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ControlOperation" type="ddi:OperationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of a Control Operation used to facilitate data control.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CleaningOperation" type="ddi:OperationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of a Cleaning Operation such as consistency checking, invalid or out of range values, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="WeightingReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of the weighting processes and any resultant standard weights.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Weighting" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DataAppraisalInformation" type="ddi:DataAppraisalInformationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of the data appraisal processing including the resultant sampling error and response rate.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingInstructionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a processing instruction (GeneralInstruction or GenerationInstruction) used during the processing event. The basic Reference structure is extended to allow for the use of ParameterLinkage to link specific source parameters to the InParameter of the instruction to reflect its use within this specific Processing Event. TypeOfObject should be set to GeneralInstruction or GenerationInstruction.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeneralInstruction" />
                                            <xs:enumeration value="GenerationInstruction" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a quality statement relating to the processing event.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStatement" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ProcessingEventGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a group of processing events for administrative or conceptual purposes, which may be hierarchical. In addition to the standard name, label, and description contains references to included Processing Events, and other ProcessingEventGroups.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfProcessingEventGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a processing events group. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingEventGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ProcessingEventGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ProcessingEventGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the ProcessingEventGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this ProcessingEventGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingEventReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent ProcessingEvent.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProcessingEvent" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingEventGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent processing event group. This allows for nesting of processing instruction groups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProcessingEventGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ProcessingEventScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A set of processing events maintained by an agency, and used in the processing data during development, cleaning, converting to variables, aggregating, and comparing. In addition to the standard name, label, and description allows for the inclusion of an existing ProcessingEventScheme by reference and descriptions of ProcessingEvent and ProcessingEventGroup either in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingEventSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ProcessingEventScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ProcessingEventScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the ProcessingEventScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingEventSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an existing ProcessingEventScheme for inclusion.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProcessingEventScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingEventReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A ProcessingEvent described in the ProcessingEventScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProcessingEvent" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingEventGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of a group of ProcessingEvent for administrative or conceptual purposes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProcessingEventGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ProcessingInstruction" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">Substitution group head for types of processing instruction.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Describable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Binding" type="ddi:BindingType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Defines the link between the output of an external object to an InParameter described above.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ProcessingInstructionGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a group of processing instructions for administrative or conceptual purposes, which may be hierarchical. In addition to the standard name, label, and description contains references to included Generation or General Instructions, and other ProcessingInstructionGroups.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfProcessingInstructionGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a processing instruction group. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingInstructionGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ProcessingInstructionGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ProcessingInstructionGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the ProcessingInstructionGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this ProcessingInstructionGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeneralInstructionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent General Instruction.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeneralInstruction" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GenerationInstructionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent Generation Instruction.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GenerationInstruction" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingInstructionGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent processing instruction group. This allows for nesting of processing instruction groups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProcessingInstructionGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ProcessingInstructionScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A set of Processing Instructions (General and Generation Instructions) maintained by an agency. In addition to the standard name, label, and description allows for the inclusion of an existing ProcessingInstructionScheme by reference, and GeneralInstruction, GenerationInstruction, and ProcessingInstructionGroup descriptions either in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingInstructionSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the ProcessingInstructionScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the ProcessingInstructionScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the ProcessingInstructionScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingInstructionSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an existing ProcessingInstructionScheme for inclusion.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProcessingInstructionScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeneralInstructionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A General Instruction described in the Processing Instruction Scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeneralInstruction" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GenerationInstructionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A Generation Instruction described in the Processing Instruction Scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GenerationInstruction" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingInstructionGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of a group of ProcessingInstructions for administrative or conceptual purposes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProcessingInstructionGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ProprietaryRecordLayout">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the BaseRecordLayout substitution group intended for use when the data items are stored in an external proprietary format. In addition to the link to the PhysicalStructure provided by BaseRecordLayout, the record layout is this namespace (m4) identifies the character set and array base for the external data, identifies the software of the proprietary system, provides a description of how the data item is addressed within the system, provides default values for numeric data types, text data types, dateTime data types, whether coded data should be treated as numeric or text, a default variable scheme, proprietary information, and a full description of each data item including its link to the variable description and system address.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:BaseRecordLayout">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CharacterSet" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Character set used in the data file (e.g., US ASCII, EBCDIC, UTF-8). This is a required field. The DDI Alliance has provided a controlled vocabulary (CharacterSet) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ArrayBase" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Sets the array base for any arrays used in the definition (that is, whether the first value is in position 0 or 1, etc.). This may be the data array in a delimited data file or the measure array for measures that are bundled and stored in a single location. Array base is generally set to either 0 or 1. There is no override provided as systems processing a record would use a consistent array base.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SystemSoftware" type="ddi:SoftwareType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Specification of a software package used to instantiate a data collection method.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DataItemAddress" type="ddi:DataItemAddressType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides minimum information on data item address system, such as variable ID or Name, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultNumericDataTypeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Declares the most common data type used for numeric data.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedNumericRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultTextDataTypeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Declares the most common data type used for textual data.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedTextRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultDateTimeDataTypeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Declares the most common data type used for date-time data.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedDateTimeRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="CodedDataAsNumeric">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates that coded data should be treated as numeric, and defines the numeric type.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedNumericRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="CodedDataAsText">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates that coded data should be treated as text, and defines the text type.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedTextRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultVariableSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References a variable scheme for the RecordLayout. This can be overridden by individual data items if they are from a different variable scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="VariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ProprietaryInfo" type="ddi:ProprietaryInfoType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains information proprietary to the software package which produced the data file. This is expressed as a set of key(name)/ value pairs.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DataItemP" type="ddi:DataItemPType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a single data item within the file including its variable reference, information on the data type, and any item specific proprietary information.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="QualityScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">This scheme contains a set of quality statements and quality standards referenced by the metadata at different points in the lifecycle. In addition to the name, label, and description of the scheme, the structure supports the inclusion of another QualityScheme by reference and a set of QualityStatement descriptions either in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualitySchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the QualityScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the QualityScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the QualityScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualitySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Inclusion of an existing QualityScheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a QualityStatement. These are used by reference at various points in the lifecycle.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStatement" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStandardReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a QualityStandard. These are used by reference at various points in the lifecycle.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStandard" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a group of QualityStatements.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStatementGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStandardGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a group of QualityStandards.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStandardGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="QualityStandard">
        <xs:annotation>
            <xs:documentation xml:lang="en">A formal description of a quality standard, and the quality concepts which it requires.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStandardName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Name of the QualityStandard using the DDI Name structure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the QualityStandard.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the QualityStandard.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StandardUsed" type="ddi:StandardUsedType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provide the citation and location of the source published standard using the OtherMaterialType.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ComplianceDefinition" type="ddi:ComplianceDefinitionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a list of quality concepts in the quality standard.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="QualityStandardGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of QualityStatements, which may describe an ordered or hierarchical relationship structure. Specifies the purpose of the group, a name, label, and description of the group, its relationship to a specific universe, population, or concept, and lists the members of the group.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfQualityStandardGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a QualityStatementGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStandardGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the QualityStandardGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the QualityStatementGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the QualityStatementGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this QualityStandardGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStandardReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent QualityStandard. TypeOfObject should be set to QualityStandard.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStandard" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStandardGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent QualityStandardGroup. This allows for nesting of QualityStandardGroups.  TypeOfObject should be set to QualityStandardGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStandardGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="QualityStatement">
        <xs:annotation>
            <xs:documentation xml:lang="en">A statement of quality which may be related to an external standard or contain a simple statement of internal quality goals or expectations. When relating to an external standard information on compliance may be added providing a reference to a ComplianceConcept, an ExternalComplianceCode, as well as a description. Optionally, a general statement of quality may be provided using OtherQualityStatement.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Name of the QualityStatement using the DDI Name structure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the QualityStatement.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the QualityStatement.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="QualityStandardReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A formal description of a quality standard, and the quality concepts which it requires.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStandard" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherStatementOfQuality" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the steps taken to ensure quality that are not related to a specific standard. Repeat the OtherQualityStatement for differing content if needed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ComplianceStatement" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A descriptive statement regarding the application of the selected standard or other means of quality control.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Compliance" type="ddi:ComplianceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for a quality statement based on frameworks to be described using itemized properties. A reference to a concept, a coded value, or both can be used to specify the property from the standard framework identified in StandardUsed. ComplianceDescription can provide further details or a general description of compliance with a standard.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="QualityStatementGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of QualityStatements, which may describe an ordered or hierarchical relationship structure. Specifies the purpose of the group, a name, label, and description of the group, its relationship to a specific universe, population, or concept, and lists the members of the group.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfQualityStatementGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a QualityStatementGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the QualityStatementGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the QualityStatementGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the QualityStatementGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this QualityStatementGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent QualityStatement. TypeOfObject should be set to QualityStatement.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStatement" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent QualityStatementGroup. This allows for nesting of QualityStatementGroups.  TypeOfObject should be set to QualityStatementGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStatementGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Question" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">Serves as a common extension base for different forms of Questions</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentResultsReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the development implementation results which gave rise to this version of the object. TypeOfObject should be DevelopmentResults.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentResults" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="QuestionBlock">
        <xs:annotation>
            <xs:documentation xml:lang="en">A QuestionBlock is a specific structure used in educational and other types of testing where an object (Stimulus Material) is provided and a set of questions are asked regarding the object. The QuestionBlock generally has related QuestionBlocks that measure similar skills or aptitudes and is used randomly within a set of questionnaires to create multiple versions of a single questionnaire that can be used with large groups for testing purposes. Assembly of the QuestionBlocks into a questionnaire may the result of selection based on an experimental design model. It contains information on what the QuestionBlock is intended to measure, input and output parameters for the QuestionBlock, a description of the stimulus material and the questions related to it, instructions on sequencing and number of allowed responses, references to external aids and instructions, and an estimate of the time needed to complete the question. Note that the QuestionBlock is a reusable format for use in any number of applied uses. External aids, instructions, response sequencing etc. should contain information consistent with the general use of the QuestionBlock (QuestionItems and QuestionGrids will contain information specific to the individual question). Additional materials and information can be added within the QuestionConstruct which is the applied use of a question.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Question">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionBlockName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the QuestionBlock.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the QuestionBlock.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the QuestionBlock.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InParameter" type="ddi:InParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides an identity for input objects required for the QuestionBlock.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides an identify for the output objects of the QuestionBlock.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Binding" type="ddi:BindingType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A structure used to bind the content of a parameter declared as the source to a parameter declared as the target. For example, binding the OutParameter of one Question to the InParameter of another Question in order to personalize a question text. Care should be taken to bind only reusable information at this level. Binding is also available at the QuestionConstruct to reflect bindings particular to the use of the question in a specific question flow or instrument.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionBlockIntent" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The purpose of the QuestionBlock in terms of what it is designed to test. May contain information on specific aspects of the Block and its construction.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="StimulusMaterial" type="ddi:StimulusMaterialType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Material that is visual, verbal and/or auditory used to communicate ideas or information which can be researched or provide a source for a response. For example, a picture about which a number of questions are asked, or a sound for which a measurable response is taken (as in a hearing test).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionItemReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a QuestionItem containing a question regarding the stimulus material.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionGridReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a QuestionGrid containing a question regarding the stimulus material.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionGrid" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="QuestionSequence" type="ddi:QuestionSequenceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for recommending that the sequence of questions should vary according to a specified pattern, i.e., random, rotation, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the minimum and maximum number of responses to expect from the QuestionBlock.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the concept the QuestionBlock is intended to gather data on.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExternalAid" type="ddi:ExternalAidType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A pointer to an external aid presented by the instrument such as a text card, image, audio, or audiovisual aid. Typically a URN. Use type attribute to describe the type of external aid provided. Example of terms to use would include: imageOnly audioOnly audioVisual multiMedia.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExternalInterviewerInstruction" type="ddi:ExternalInterviewerInstructionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">External reference to an interviewer instruction not expressed as DDI XML using OtherMaterial.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InterviewerInstructionAttachment" type="ddi:AttachedInstructionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">an interviewer instruction expressed as DDI XML.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="EstimatedSecondsResponseTime">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The estimated amount of time required to answer a question expressed in seconds. Decimal values should be used to define fractions of seconds.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:decimal" />
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="QuestionConstruct">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the ControlConstruct substitution group. A construct which ties question content to the programmatic logic of the control constructs. Contains a reference to a QuestionItem, QuestionGrid or QuestionBlock, can set response or dimension sequence for use in a specific application, identifies the response unit, analysis unit, and universe. May provide an estimate of the number of minutes needed to respond.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="QuestionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a QuestionItem, QuestionGrid, or QuestionBlock.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionBlock" />
                                            <xs:enumeration value="QuestionGrid" />
                                            <xs:enumeration value="QuestionItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseSequence" type="ddi:SpecificSequenceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the sequencing of the response options to the question for this application.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DimensionSequence" type="ddi:SpecificSequenceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the sequencing of the dimension within a QuestionGrid for this application.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the intended Response unit (respondent). Supports the use of an external controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (ResponseUnit) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AnalysisUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The analysis unit, expressed as a term which may come from a controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (AnalysisUnit) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement containing a description of the persons or other elements that this variable refers to, and to which any analytic results refer. If more than one universe is referenced the universe of the variable is the intersect of the referenced universes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other elements that this question construct applies to. If more than one population is referenced, the population of the question construct is the intersection of the referenced populations.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="EstimatedSecondsResponseTime">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The estimated amount of time required to answer a question expressed in seconds. Decimal values should be used to define fractions of seconds. At the question construct level it refers to the estimated time within the context of is use in a questionnaire.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:decimal" />
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="QuestionGrid">
        <xs:annotation>
            <xs:documentation xml:lang="en">Structures the QuestionGrid as an NCube-like structure providing dimension information, labeling options, and response domains attached to one or more cells within the grid. Provides the intent of the QuestionGrid, input and output parameters for the grid, the question text for the grid, details on the dimensions, allowed responses, and additional cell contents of the grid, references to external aids and instructions, and an estimate of the time required to complete the grid. Note that the QuestionGrid is a reusable format for use in any number of applied uses. External aids, instructions, response sequencing etc. should contain information consistent with the general use of the QuestionGrid. Additional materials and information can be added within the QuestionConstruct which is the applied use of a question.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Question">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionGridName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the QuestionGrid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the QuestionGrid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the QuestionGrid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InParameter" type="ddi:InParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides an identity for input objects required for the QuestionGrid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides an identify for the output objects of the QuestionGrid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Binding" type="ddi:BindingType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A structure used to bind the content of a parameter declared as the source to a parameter declared as the target. For example, binding the OutParameter of one Question to the InParameter of another Question in order to personalize a question text. Care should be taken to bind only reusable information at this level. Binding is also available at the QuestionConstruct to reflect bindings particular to the use of the question in a specific question flow or instrument.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="QuestionText" type="ddi:DynamicTextType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The text of a question. Supports the use of DynamicText. Note that when using QuestionText, the full QuestionText must be repeated for multi-language versions of the content. Different languages may handle the dynamic portions in different locations and/or with different content. Therefore languages cannot be mixed within a dynamic text except when the full text itself has multiple language sections, for example, a foreign language term in a text. The DisplayText may also be repeated to provide a dynamic and plain text version of the display. This allows for accurate rendering of the QuestionText in a non-dynamic environment like print.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionIntent" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The purpose of the QuestionGrid in terms of what it is designed to test. May contain information on specific aspects of the Grid and its construction.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GridDimension" type="ddi:GridDimensionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes each dimension of the grid including dimension rank (for the purpose of identifying a cell address), a text for the dimension, and optional labels and codes used as column and row stubs. May also describe a roster (a set of unlabeled rows or columns depending upon display situation).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ResponseDomain" type="ddi:RepresentationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a response domain for the question grid. All cells in the grid have the same response domain. Any cell may also contain an internal label.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ResponseDomainReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The inclusion of a response domain by reference (must be supported by a managed representation). An abstract element. May be substituted by any valid object of substitution type DomainReference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedCategoryRepresentation" />
                                            <xs:enumeration value="ManagedCodeRepresentation" />
                                            <xs:enumeration value="ManagedDateTimeRepresentation" />
                                            <xs:enumeration value="ManagedDistributionRepresentation" />
                                            <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                            <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                            <xs:enumeration value="ManagedGeographicRepresentation" />
                                            <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                            <xs:enumeration value="ManagedLocationRepresentation" />
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                            <xs:enumeration value="ManagedNominalRepresentation" />
                                            <xs:enumeration value="ManagedNumericRepresentation" />
                                            <xs:enumeration value="ManagedRankingRepresentation" />
                                            <xs:enumeration value="ManagedScaleRepresentation" />
                                            <xs:enumeration value="ManagedTextRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StructuredMixedGridResponseDomain" type="ddi:StructuredMixedGridResponseDomainType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a mixture of response domains for the grid cells. Each response domain can be attached to a specific region of the grid, for example a single column or row.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CellLabel" type="ddi:CellLabelType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides for the addition of a label within a cell or cells of the grid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="FixedCellValue" type="ddi:FixedCellValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides for the ability to fix a value within a cell or cells of the grid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the concept the QuestionGrid is intended to gather data on.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExternalAid" type="ddi:ExternalAidType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A pointer to an external aid presented by the instrument such as a text card, image, audio, or audiovisual aid. Typically a URN. Use type attribute to describe the type of external aid provided. Example of terms to use would include: imageOnly audioOnly audioVisual multiMedia.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExternalInterviewerInstruction" type="ddi:ExternalInterviewerInstructionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">External reference to an interviewer instruction not expressed as DDI XML using OtherMaterial.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InterviewerInstructionAttachment" type="ddi:AttachedInstructionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">an interviewer instruction expressed as DDI XML.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the RepresentedVariable that describes the data to be collected by this question grid. The RepresentedVariable contains the broad reusable specification of the Variable, i.e., concept, universe, and value representation. When more than one ResponseDomain exists, one RepresentedVariable should be created for each ResponseDomain in the same order as the corresponding ResponseDomain. TypeOfObject should be set to RepresentedVariable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RepresentedVariable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="EstimatedSecondsResponseTime">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The estimated amount of time required to answer a question expressed in seconds. Decimal values should be used to define fractions of seconds.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:decimal" />
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="QuestionGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of Questions, which may be ordered or hierarchical. In addition to the name, label, and description of the group, the structure allows for defining the type of group using an optional controlled vocabulary, a reference to a defining universe, population, or concept for the group, a subject classification for the group, and a listing of Questions and QuestionGroups in any order.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfQuestionGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual identification of the group type. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the QuestionGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the QuestionGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the QuestionGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this question group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this question group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the Questions in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionItemReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent QuestionItem.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionGridReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent QuestionGrid.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionGrid" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionBlockReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent QuestionBlock.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionBlock" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent QuestionGroup. This allows for nesting of QuestionGroups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="QuestionItem">
        <xs:annotation>
            <xs:documentation xml:lang="en">Structure a single Question which may contain one or more response domains (i.e., a list of valid category responses where if "Other" is indicated a text response can be used to specify the intent of "Other"). The structure provides detail on the intent of the question, the text of the question, the valid response options and the number of allowed responses, references to external aids and instructions, and an estimation of the time needed to respond to the question. Note that the QuestionItem is a reusable format for use in any number of applied uses. External aids, instructions, response sequencing etc. should contain information consistent with the general use of the QuestionItem. Additional materials and information can be added within the QuestionConstruct which is the applied use of a question.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Question">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionItemName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the QuestionItem.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the QuestionItem.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the QuestionItem.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InParameter" type="ddi:InParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides an identity for input objects required for the QuestionItem.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides an identify for the output objects of the QuestionItem.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Binding" type="ddi:BindingType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A structure used to bind the content of a parameter declared as the source to a parameter declared as the target. For example, binding the OutParameter of one Question to the InParameter of another Question in order to personalize a question text. Care should be taken to bind only reusable information at this level. Binding is also available at the QuestionConstruct to reflect bindings particular to the use of the question in a specific question flow or instrument.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="QuestionText" type="ddi:DynamicTextType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The text of a question. Supports the use of DynamicText. Note that when using QuestionText, the full QuestionText must be repeated for multi-language versions of the content. Different languages may handle the dynamic portions in different locations and/or with different content. Therefore languages cannot be mixed within a dynamic text except when the full text itself has multiple language sections, for example, a foreign language term in a text. The DisplayText may also be repeated to provide a dynamic and plain text version of the display. This allows for accurate rendering of the QuestionText in a non-dynamic environment like print.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionIntent" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The purpose of the QuestionItem in terms of what it is designed to measure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ResponseDomain" type="ddi:RepresentationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a response domain for the question item. Typically used to describe simple response domains (textual, numeric, etc.).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ResponseDomainReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The inclusion of a response domain by reference (must be supported by a managed representation). An abstract element. May be substituted by any valid object of substitution type ResponseDomainReference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedCategoryRepresentation" />
                                            <xs:enumeration value="ManagedCodeRepresentation" />
                                            <xs:enumeration value="ManagedDateTimeRepresentation" />
                                            <xs:enumeration value="ManagedDistributionRepresentation" />
                                            <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                            <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                            <xs:enumeration value="ManagedGeographicRepresentation" />
                                            <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                            <xs:enumeration value="ManagedLocationRepresentation" />
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                            <xs:enumeration value="ManagedNominalRepresentation" />
                                            <xs:enumeration value="ManagedNumericRepresentation" />
                                            <xs:enumeration value="ManagedRankingRepresentation" />
                                            <xs:enumeration value="ManagedScaleRepresentation" />
                                            <xs:enumeration value="ManagedTextRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StructuredMixedResponseDomain" type="ddi:StructuredMixedResponseDomainType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Use in cases where the question requires the option for multiple response domains, such as a category response and a text response to specify a value for "Other", or when text needs to be inserted before, after, or between response options for the question.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this question. Note that each response domain has its own response cardinality.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the concept associated with the response to the question.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExternalAid" type="ddi:ExternalAidType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A pointer to an external aid presented by the instrument such as a text card, image, audio, or audiovisual aid. Typically a URN. Use type attribute to describe the type of external aid provided. Example of terms to use would include: imageOnly audioOnly audioVisual multiMedia.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExternalInterviewerInstruction" type="ddi:ExternalInterviewerInstructionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">External reference to an interviewer instruction not expressed as DDI XML using OtherMaterial.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InterviewerInstructionAttachment" type="ddi:AttachedInstructionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">an interviewer instruction expressed as DDI XML.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the RepresentedVariable that describes the data to be collected by this question. The RepresentedVariable contains the broad reusable specification of the Variable, i.e., concept, universe, and value representation. When more than one ResponseDomain exists, one RepresentedVariable should be created for each ResponseDomain in the same order as the corresponding ResponseDomain. TypeOfObject should be set to RepresentedVariable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RepresentedVariable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="EstimatedSecondsResponseTime">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The estimated amount of time required to answer a question expressed in seconds. Decimal values should be used to define fractions of seconds.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:decimal" />
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="QuestionScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a set of QuestionItems, QuestionGrids, QuestionBlocks, and QuestionGroups. In addition to the standard name, label, and description of the Question Scheme, may contain another QuestionScheme by reference, a listing of Questions by type (in-line or by reference), and a listing of QuestionGroups (in-line or by reference).</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the QuestionScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the QuestionScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the QuestionScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the inclusion of another QuestionScheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionItemReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a QuestionItem in-line.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionGridReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a QuestionGrid in-line.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionGrid" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionBlockReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a QuestionBlock in-line.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionBlock" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a group of Questions, which may be ordered or hierarchical.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RecordLayout">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the BaseRecordLayout substitution group intended for use with archival formats of microdata held in an external file with fixed or delimited locations for data items. In addition to the link to the PhysicalStructure provided by BaseRecordLayout, the record layout is this namespace (p) identifies the character set and array base for the stored data, an optional reference to the default VariableScheme for the data items, a flag indicating that the variable names are provided on the first row of the data file, and a full description of each data item including a link to its description and its physical location in the record.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:BaseRecordLayout">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CharacterSet" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Character set used in the data file (e.g., US ASCII, EBCDIC, UTF-8). This is a required field. The DDI Alliance has provided a controlled vocabulary (CharacterSet) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ArrayBase" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Sets the array base for any arrays used in the definition (that is, whether the first value is in position 0 or 1, etc.). This may be the data array in a delimited data file or the measure array for measures that are bundled and stored in a single location. Array base is generally set to either 0 or 1. There is no override provided as systems processing a record would use a consistent array base.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefaultVariableSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References a variable scheme for the RecordLayout. This can be overridden by individual data items if they are from a different variable scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="VariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DataItem" type="ddi:DataItemType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Includes a reference to a variable, and information about its data item location and its data type/format.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeInstanceReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A container for defining an instance of an NCube, indicating the matrix address of each cell and where the data for each measure within a cell of the NCube is stored. Allows specifying the values of the attributes attached to a NCube.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCubeInstance" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="NamesOnFirstRow" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Set this item to "true" if the first row of the file contains the names of the variables (data items).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RecordLayoutGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of RecordLayout descriptions for administrative or conceptual purposes, which may be hierarchical. In addition to the standard name, label, and description, allows for a classification of the type of group, references to a Universe, Population, and Concept, and inclusion of RecordLayouts and RecordLayoutGroups by reference, plus a flag indicating if the group is ordered.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfRecordLayoutGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a RecordLayoutGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RecordLayoutGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the RecordLayoutGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the RecordLayoutGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the RecordLayoutGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other elements that the data refer to, and to which any analytic results refer.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other elements that the data refer to, and to which any analytic results refer.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept represented by the record layout in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RecordLayoutReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent RecordLayout.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RecordLayout" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InLineNCubeRecordLayoutReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent RecordLayout.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InLineNCubeRecordLayout" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProprietaryRecordLayoutReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent RecordLayout.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProprietaryRecordLayout" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="TabularNCubeRecordLayoutReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent RecordLayout.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="TabularNCubeRecordLayout" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RecordLayoutGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent RecordLayoutGroup. This allows for nesting of variable RecordLayoutGroups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RecordLayoutGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RecordLayoutScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A scheme containing a set of RecordLayouts describing the location of individual data items within the physical record and how to address them (locate and retrieve). RecordLayouts provide a link to the PhysicalStructure description and to individual variables or NCubes describing the data items.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RecordLayoutSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the RecordLayoutScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the RecordLayoutScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the RecordLayoutScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RecordLayoutSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an existing RecordLayoutScheme for inclusion.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RecordLayoutScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="RecordLayoutReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the inclusion of a RecordLayout by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RecordLayout" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="InLineNCubeRecordLayoutReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the inclusion of a RecordLayout by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InLineNCubeRecordLayout" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="TabularNCubeRecordLayoutReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the inclusion of a RecordLayout by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="TabularNCubeRecordLayout" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ProprietaryRecordLayoutReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the inclusion of a RecordLayout by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProprietaryRecordLayout" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RecordLayoutGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a group of RecordLayout descriptions for administrative or conceptual purposes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RecordLayoutGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Relation">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the relationship between any two organizations or individual, or an individual and an organization. This is a pairwise relationship and relationships may be unidirectional. Identifies the Source organization or individual and the Target organization or individual, describes the relationship, provides a keyword to classify the relationship, provides and effective period for the relationship, allows for addition information to be provided, and can contain a privacy specification.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SourceObject" type="ddi:SourceObjectType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the Source organization or individual in the relationship. Source to Target provides a directional perception when defining the relationship.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TargetObject" type="ddi:TargetObjectType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the Target organization or individual in the relationship. The Target object describes its role in relationship to the Source object.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the relationship.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual identification of the relation type. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="EffectivePeriod" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Time period during which this relationship is valid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="AdditionalInformation" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Any information not captured by the other descriptive objects. The privacy code may be set to indicate access restriction to this information.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Privacy">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A basic set of privacy codes for the parent element. These may be stricter than the general access restrictions for the overall metadata. If available codes are insufficient this may also contain any string.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="public" />
                                <xs:enumeration value="restricted" />
                                <xs:enumeration value="private" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RepeatUntil">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the ControlConstruct substitution group. Specifies a ControlConstruct to be repeated until a specified condition is met. Before each iteration the condition is tested. When the condition is met, control passes back to the containing control construct.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="UntilCondition" type="ddi:CommandCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Information on the command used to determine whether the "Until" condition is met.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UntilConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the ControlConstruct to implement until the UntilCondition is met. This could be a single ControlConstruct or a set of ControlConstructs within a Sequence.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Sequence" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RepeatWhile">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the ControlConstruct substitution group. Specifies a ControlConstruct to be repeated while a specified condition is met. Before each iteration the condition is tested. When the condition is not met, control passes back to the containing control construct.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="WhileCondition" type="ddi:CommandCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Information on the command used to determine whether the "While" condition is met.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="WhileConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the ControlConstruct to implement until the WhileCondition is met. This could be a single ControlConstruct or a set of ControlConstructs within a Sequence.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Sequence" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RepresentationMap">
        <xs:annotation>
            <xs:documentation xml:lang="en">Maps between any two managed representations. In addition to representation types held in a ManagagedRepresentationScheme, managed representations include CategoryScheme and coded representations which include CodeList, GeographicStructureCode or GeographicLocationCode. Note that the source can be any managed representation including a CodeList, GeographicStructure or GeographicLocation. Note that comparisons between two category schemes is best handled by CategoryMap. In addition to the standard name, label, and description of the RepresentationMap, identifies the source representation and target representation (which should be a CodeList, GeographicStructure, or GeographicLocation), describes the correspondence between the source and target, allows for the use of a GenerationInstruction to describe the recoding process, and indicates if this a general mapping or a mapping for a specific purpose.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentationMapName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the RepresentationMap.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the RepresentationMap.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the RepresentationMap.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SourceRepresentation" type="ddi:SourceRepresentationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a reference to the managed content of a representation which acts as the source object in the Source/Target comparison pair. May be a ManagedRepresentation or a specific CategoryScheme, CodeList, GeographicRepresentation, or GeographicLocation. Allows for the optional reference to a Concept when context is important. For example, a ManagedNumericRepresentation within the context of Age.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TargetRepresentation" type="ddi:TargetRepresentationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a reference to the managed content of a representation which acts as the target object in the Source/Target comparison pair. May be a ManagedRepresentation or a specific CategoryScheme, CodeList, GeographicRepresentation, or GeographicLocation. Supports the ability to limit code coverage as appropriate for the coding structure referenced.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Correspondence" type="ddi:CorrespondenceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describe the level of similarity and difference between the Source and the Target contents.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ProcessingInstructionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for use of programmatic logic to construct a detailed comparison map between individual codes in the source and target structures by reference. TypeOfObject should be set to GenerationInstruction or GeneralInstruction. This reference allows for specifying ParameterLinkages at point of use.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeneralInstruction" />
                                            <xs:enumeration value="GenerationInstruction" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ContextSpecificComparison" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Set to "true" when a Concept has been identified in the SourceRepresentation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RepresentedVariable">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a RepresentedVariable contained in the RepresentedVariableScheme. In addition to the standard name, label, and description a RepresentedVariable contains a reference to the Concept and Universe (or ConceptualVariable) as well as the representation of the RepresentedVariable. Representation may be provided in-line or by reference to a managed representation. RepresentedVariables are the core reusable parts of a Variable. RepresentedVariable maps to the GSIM Represented Variable. In addition to the standard name, label, and description</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the RepresentedVariable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the RepresentedVariable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the RepresentedVariable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptualVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a ConceptualVariable which provides the linkage to the Universe and Concept used by this RepresentedVariable. TypeOfObject should be set to ConceptualVariable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptualVariable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UnitTypeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the unit type containing a description of the unit type that this RepresentedVariable refers to, and to which any analytic results refer. TypeOfObject should be set to UnitType.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitType" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept measured by this RepresentedVariable. TypeOfObject should be set to Concept.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="CategorySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">DEPRECATED. DDI strongly recommends use of the CategorySchemeReference provided by the ConceptualVariable. Reference to a category scheme that contains the representation domain of the RepresentedVariable. Use this element when only the category specifications are provided. If both a code and the related category must be specified use CodeRepresentation (member of the substitution group ValueRepresentation). TypeOfObject should be set to CategoryScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CategoryScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ValueRepresentation" type="ddi:RepresentationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the actual representation of the RepresentedVariables' values. ValueRepresentation is the head of a substitution group which supports a number of representation types, i.e. CodeRepresentation, NumericRepresentation, TextRepresentation, DateTimeRepresentation, ScaleRepresentation, GeographicStructureCodeRepresentation, and GeographicLocationCodeRepresentation. Although the structure allows for specification of missing values these features should be used with caution. Like the definition of the universe and concept, the specification of the representation can be constrained by the Variable (the GSIM ImplementedVariable), for example a NumericRepresentation could be constrained with a lower top coding specification. Missing Values can be assigned separately by the Variable without impact on the ValueRepresentation of the specified valid values provided here.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ValueRepresentationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the use of managed value representations by reference. ValueRepresentationReference is the head of a substitution group which supports a number of representation types not managed within existing schemes, i.e. ManagedNumericRepresentation, ManagedTextRepresentation, ManagedDateTimeRepresentation, and ManagedScaleRepresentation. TypeOfObject should be set to ManagedNumericRepresentation, ManagedTextRepresentation, ManagedDateTimeRepresentation, or ManagedScaleRepresentation.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedCategoryRepresentation" />
                                            <xs:enumeration value="ManagedCodeRepresentation" />
                                            <xs:enumeration value="ManagedDateTimeRepresentation" />
                                            <xs:enumeration value="ManagedDistributionRepresentation" />
                                            <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                            <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                            <xs:enumeration value="ManagedGeographicRepresentation" />
                                            <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                            <xs:enumeration value="ManagedLocationRepresentation" />
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                            <xs:enumeration value="ManagedNominalRepresentation" />
                                            <xs:enumeration value="ManagedNumericRepresentation" />
                                            <xs:enumeration value="ManagedRankingRepresentation" />
                                            <xs:enumeration value="ManagedScaleRepresentation" />
                                            <xs:enumeration value="ManagedTextRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="MissingValuesReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an existing MissingValuesRepresentation using the Reference structure. If this content conflicts with content provided in the ValueRepresentation regarding Missing Values the content of the MissingValuesRepresentation overrides. TypeOfObject will be MissingValuesRepresentation</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RepresentedVariableGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of RepresentedVariables, which may describe an ordered or hierarchical relationship structure. RepresentedVariables may be grouped for a wide range of reasons including conceptual, universe, or population grouping, usage, subject or keyword relationships, or other grouping reason that will assist in the management of a group of RepresentedVariables. Specifies the purpose of the group, a name, label, and description of the group, its relationship to a specific universe, population, or concept, and lists the members of the group.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfRepresentedVariableGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a RepresentedVariableGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the RepresentedVariableGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the RepresentedVariableGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the RepresentedVariableGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain. TypeOfObject should be set to Universe.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this RepresentedVariableGroup pertain. TypeOfObject should be set to Population.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group. TypeOfObject should be set to Concept.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent RepresentedVariable (from the substitution group). TypeOfObject should be set to RepresentedVariable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RepresentedVariable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent RepresentedVariableGroup. This allows for nesting of RepresentedVariableGroups. TypeOfObject should be set to RepresentedVariableGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RepresentedVariableGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RepresentedVariableScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A set of RepresentedVariables managed by an agency. RepresentedVariables are the core reusable parts of a Variable. RepresentedVariable maps to the GSIM Represented Variable. In addition to the standard name, label, and description, allows for the inclusion of an existing RepresentedVariableScheme by reference and RepresentedVariables either in-line or by reference. RepresentedVariables may be grouped for management purposes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the RepresentedVariableScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the RepresentedVariableScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the RepresentedVariableScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Inclusion of an existing RepresentedVariableScheme by reference. TypeOfObject should be set to RepresentedVariableScheme</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RepresentedVariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a RepresentedVariable contained in the RepresentedVariableScheme. A RepresentedVariable contains a reference to the Concept and Universe (or ConceptualVariable) as well as the representation of the RepresentedVariable. Representation may be provided in-line or by reference to a managed representation. RepresentedVariables are the core reusable parts of a Variable. RepresentedVariable maps to the GSIM Represented Variable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RepresentedVariable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a group of RepresentedVariables. RepresentedVariables may be grouped for a wide range of reasons including conceptual or universe grouping, usage, subject or keyword relationships, or other grouping reason that will assist in the management of a group of RepresentedVariables.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RepresentedVariableGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ResourcePackage">
        <xs:annotation>
            <xs:documentation xml:lang="en">The Resource Package is a specialized structure which is intended to hold reusable metadata outside of the structures of a single StudyUnit or Group. For example this may be common methodological approaches bound in a DataCollection module, DataRelationship information bound in a LogicalProduct, or any maintainable scheme. The ResourcePackage is often used to manage and publish metadata that is used by StudyUnits or Groups by reference. Any maintainable object with the exception of a Group, StudyUnit or LocalHoldingPackage may be published in a Resource Package. Each maintainable object may be entered as either an in-line representation or by reference. Within each maintainable type the ordering of in-line or referenced content may be mixed. In addition the ResourcePackage contains self identifying information including: a citation, abstract, authorization source, a universe reference, series statement, references to applicable quality statements, funding and budget information, purpose, coverage, other material, embargo, and the resource package archive (as opposed to an Archive module intended as the part of the published reusable content).</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Citation" type="ddi:CitationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The citation for the ResourcePackage. DDI strongly recommends that at minimum a Title be provided.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfResourcePackage" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief description of the resource package type. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An abstract of the ResourcePackage unit describing the nature and scope of the data collection, special characteristics of its content. Note that detailed information on the purpose of the ResourcePackage and structured coverage information are to be entered in Purpose and Coverage.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AuthorizationSource" type="ddi:AuthorizationSourceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the authorizing agency for the ResourcePackage and allows for the full text of the authorization (law, regulation, or other form of authorization). May be used to list authorizations from oversight committees and other regulatory agencies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ApprovalReviewReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides information about the Approval Review undertaken in relation to the activity. Identifies the organization processing the review, the role of the approval review organization, case number, description, and related dates. Allows the inclusion of a reference to an external source detailing the approval review.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ApprovalReview" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefiningConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A concept that defines or aids in understanding the content of the resource package.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Universe describing the persons or other units to which the contents of this ResourcePackage and any analytic results refer. A Universe is defined by a Unit Type and shared characteristics, independently of geographic area and time period. Examples include persons of a specified gender, businesses with at least 50 employees, or businesses in the manufacturing industry. The description should make it possible to determine whether a given unit belongs to the Universe. A Universe may be described using inclusion or exclusion criteria. Use Population to specify geographic and temporal scope. This ResourcePackage level reference is normally to the top level of the UniverseScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population describing the persons or other elements to which the contents of this ResourcePackage and any analytic results refer.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SeriesStatement" type="ddi:SeriesStatementType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A ResourcePackage, particularly one in a series, may be the result of two series merging into a single ResourcePackage. The new ResourcePackage belongs to both series. For example, Niger now fields the UNICEF Multiple Indicators Cluster Survey (MICS) and the Demographic and Health Survey as a single merged instrument.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InformationClassificationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Used to describe the rules and guidelines on how the data is allowed to be handled, transferred, stored and disposed. These confidentiality policies are often dictated by national laws and/or data owners on handling of personal, proprietary, and other sensitive information.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InformationClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a QualityScheme containing statements of quality related to the quality of the ResourcePackage methodology, metadata, or data. Quality statements may be related to external quality standards.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStatement" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="FundingInformation" type="ddi:FundingInformationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains details of the ResourcePackage unit's funding, including information about grants, agencies, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ProjectBudget" type="ddi:BudgetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This describes the overall budget of the ResourcePackage. It can be repeated for distinct budget activities. It contains a structured description and one or more budget documents described by an OtherMaterial type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Purpose" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The purpose of the ResourcePackage, why the ResourcePackage took place. This should include detailed information on the investigator's primary ResourcePackage questions or hypotheses as well as information on any legal basis for the data collection, such as laws requiring the collection of census data for apportionment purposes. Legal or other authorization should be provided in detail within AuthorizationSource.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Coverage" type="ddi:CoverageType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the coverage of the ResourcePackage unit. Detailed information on Topical, Temporal, and Spatial Coverage is contained here. Note that Coverage at this level should be inclusive all lower level modules or section. Lower level descriptions serve to constrain coverage within the scope described here.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Embargo" type="ddi:EmbargoType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Embargo information about the ResourcePackage unit. References to embargo information in this section can be made from individual variables.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherMaterialSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This scheme contains a set of other materials referenced by the metadata.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OtherMaterialScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ResourcePackageArchive" type="ddi:ResourcePackageArchiveType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This is archive information specific to the creation, maintenance, and archiving of the ResourcePackage provided either in-line or by reference. This packaging element differentiates this "Archive" from one being published as a product within a ResourcePackage.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualComponentReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for in-line entry of an ConceptualComponent.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptualComponent" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataCollectionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for in-line entry of an DataCollection.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DataCollection" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="LogicalProductReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for in-line entry of any LogicalProduct. l:BaseLogicalProduct is a substitution group base.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="LogicalProduct" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalDataProductReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for in-line entry of an PhysicalDataProduct.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalDataProduct" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalInstanceReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for in-line entry of an PhysicalInstance.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalInstance" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalInstanceGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows physical instance modules to be grouped with or without hierarchical structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalInstanceGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ArchiveReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for in-line entry of an Archive.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Archive" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DDIProfileReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for in-line entry of an DDIProfile.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DDIProfile" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ComparisonReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for in-line entry of an Comparison.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Comparison" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ClassificationFamilyReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for in-line entry of a Classification Family.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ClassificationFamily" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ClassificationCorrespondenceTableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for in-line entry of a Classification Correspondence Table.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ClassificationCorrespondenceTable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OrganizationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a OrganizationScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OrganizationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a ConceptScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a UniverseScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UniverseScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a PopulationScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PopulationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualVariableSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a ConceptualVariableScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptualVariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentedVariableSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a RepresentedVariableScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RepresentedVariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicStructureSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a GeographicStructureScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicStructureScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLocationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a GeographicLocationScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicLocationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InterviewerInstructionSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a InterviewerInstructionScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InterviewerInstructionScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a ControlConstructScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ControlConstructScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a QuestionScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a MeasurementScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="MeasurementScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CategorySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a CategoryScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CategoryScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CodeListSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a CodeListScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CodeListScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a NCubeScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCubeScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a VariableScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="VariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalStructureSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a PhysicalStructureScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalStructureScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RecordLayoutSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a RecordLayoutScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RecordLayoutScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualitySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a QualityScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a InstrumentScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InstrumentScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingEventSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a ProcessingEventScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProcessingEventScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingInstructionSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a ProcessingInstructionScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ProcessingInstructionScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ManagedRepresentationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a ManagedRepresentationScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedRepresentationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UnitTypeSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line inclusion of a UnitTypeScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitTypeScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingInformationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A set of sample frames maintained by an agency, and used in the instrument.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SamplingInformationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DevelopmentActivitySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A set of development activities maintained by an agency, and used in the development, review, or creation of a question, measurement, data capture flow (control construct), or instrument.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DevelopmentActivityScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Sample">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a sample created by the implementation of a sample plan.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfSample" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic means of classifying a SamplingProcedure. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SampleName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the sample.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the sample.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Full description of the sample. Supports structured content and multiple language content.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="PopulationOfConcern" type="ddi:PopulationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describe the population being sampled through a combination of textual description and reference to a structured Universe.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="OverallTargetSampleSize" type="ddi:PopulationSizeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The target value of the sample size for the primary and any secondary or sub-population.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OverallSampleSize" type="ddi:SizeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The size of the overall sample actually used.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ApplicationDetails" type="ddi:ApplicationDetailsType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides sample stage level details where needed. Repeat for individual stages or sub-stages.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DateOfSample" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Date the sample was taken. May be expressed as a single date or range. If the sample was created using multiple extractions at different dates, repeat for each date.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SampleLocationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of general limitations of the frame, including  over/under-coverage and update schedules and procedures.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OtherMaterial" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingPlanImplementedReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the SamplingPlan implemented to creating the sample. Target object should be SamplingPlan</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SamplingPlan" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SampleFrameUsedReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the SampleFrame used for creating the sample. Target object should be SampleFrame</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SampleFrame" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ComponentSampleReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a previously created sample that was used as a component of the current sample. Target object should be Sample.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Sample" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SampleFrame">
        <xs:annotation>
            <xs:documentation xml:lang="en">An inline description of a sample frame (the source material from which a sample is drawn), i.e. phone book, data base, etc. A sample frame is intended to be versioned over time and can be reused by multiple studies.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SampleFrameName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for a sample frame which may be repeated to express differing names for different systems.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A full display label for the sample frame.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Full description of the sample frame.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ValidPeriod" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Period for which the current version is valid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="CustodianReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Organization or individual holding the rights to the frame</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SampleFrameAccess" type="ddi:AccessType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides full description of access, forms for access, contact, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the Universe of this sample frame</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the Population of this sample frame.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="UnitsOfFrame" type="ddi:PopulationSizeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A sample frame may identify multiple units. One unit should be identified as the primary unit. Additional units are listed as secondary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="FrameLimitations" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of general limitations of the frame, including  over/under-coverage and update schedules and procedures.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="AuxiliaryInformation" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Description of information within the frame that could support stratification, including listing of available fields.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ReferencePeriod" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The date/period of reference for this frame</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UpdateProcedure" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes how this frame gets updated.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SourceFrameReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a frame that this frame was derived from.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SampleFrame" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SampleStep">
        <xs:annotation>
            <xs:documentation xml:lang="en">A ControlConstruct that provides a specialized act for generating a sample.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConditionForAcceptance" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A distinct "strata" within a population used to define a group to be sampled within that population, for example an Income Level or Postal Code.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CommandCode" type="ddi:CommandCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The Code which contains the value of the variable in programming terms.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Stratification" type="ddi:StratificationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A distinct "strata" within a population used to define a group to be sampled within that population, for example an Income Level or Postal Code.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SamplingInformationGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">A grouping of Sampling Information objects for organizational and management purposes. Contains a group of sampling information objects and/or sampling information groups, which may be hierarchical.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfSamplingInformationGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a sampling information group. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingInformationGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the sampling information group.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the sampling information group.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Additional textual description of the sampling information group.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other elements that the sampling information objects refer to, and to which any analytic results refer.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other elements that the sampling information objects refer to, and to which any analytic results refer.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept measured by the sampling information objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SampleFrameReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A sample frame item included in the scheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SampleFrame" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingPlanReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A sampling plan item included in the scheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SamplingPlan" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SampleReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A sample included in the scheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Sample" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingInformationGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Inclusion of a SamplingInformationGroup by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SamplingInformationGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SamplingInformationScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">A set of sampling information maintained by an agency including sampling plans, sample frames, and samples.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingInformationSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the sampling information scheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the sampling information scheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the use of the sampling information scheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingInformationSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides for inclusion by reference of external sampling information schemes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SamplingInformationScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SampleFrameReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An item (that is, a sample frame) belonging to the sampling information Scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SampleFrame" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingPlanReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An item (that is, a sampling plan) belonging to the sampling information Scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SamplingPlan" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SampleReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An item (that is, a sample) belonging to the sampling information Scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Sample" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingInformationGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An item (that is, a sampling information group) belonging to the sampling information Scheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SamplingInformationGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SamplingPlan">
        <xs:annotation>
            <xs:documentation xml:lang="en">An inline description of a sampling plan (how the sample is drawn). A sampling plan is intended to be versioned over time and can be reused by multiple studies.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfSamplingPlan" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A controlled vocabulary covering probability and non-probability sampling methods and modeling approaches. If this is a multi-stage sample the plan at this level should indicate the broadest description of the sampling approaches used in each stage.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingPlanName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for a sampling plan which may be repeated to express differing names for different systems.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A full display label for the sampling plan.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Full description of the sampling plan.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IntendedTargetPopulation" type="ddi:PopulationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the population that the survey is intended to question (i.e. "Likely voters").</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IntendedSurveyPopulation" type="ddi:PopulationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The survey population is the set of elements identified by the frame.  For instance, pre-election polls have "likely voters" as a target population, but the survey is conducted using RDD (usually).  The survey population is households with active land-line telephones, because that's who we can initially identify.  Survey questions help narrow the respondents into the desired set, but then eliminating sampled units increases variance.  It is reusable in the sense that the same survey population will be used each time the named frame is used.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SplitRationale" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Rationale for dividing the frame at this stage into subsets and using a different sampling technique (e.g., Simple Random Sampling or Probability Proportional to Size) on each subset.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ControlConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Generally reference to a single SamplingStage or to a Sequence which orders multiple SamplingStages. TypeOfObject should be any valid member of the group of Control Constructs.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StratificationRationale" type="ddi:StratificationRationaleType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describe the purpose for stratifying the sampling process.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SamplingStage">
        <xs:annotation>
            <xs:documentation xml:lang="en">A ControlConstruct that provides a sequence order within Sampling Stages expressed as control constructs.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TypeOfSequence" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides the ability to "type" a sequence for classification or processing purposes. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References control constructs in the order that they should appear within the instrument.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ConstructSequence" type="ddi:SpecificSequenceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes alternate ordering for different cases using the SpecificSequence structure. If you set the sequence to anything other than order of appearance the only allowable children are QuestionConstruct or Sequence. Contents must be randomizable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="FrameRequirements" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the minimum requirements of the frame needed to use this sample stage. For example, if a stratification by age is specified in the stage the sample frame would need to support this stratification.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RecommendedSampleFrameReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies a specific sample frame or frames appropriate for this plan.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SampleFrame" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Stratification" type="ddi:StratificationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A distinct "strata" within a population used to define a group to be sampled within that population, for example an Income Level or Postal Code.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="SamplingUnitReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Sampling unit for this stage</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitType" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SelectionProbability" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If known and available, provide the selection probability for each sampling unit.  This is one number for equal probability sampling, such as SRS.  For PPS, a description of the size criterion is needed.  For other unequal designs, a description of of how the probabilities are assigned is needed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Sequence">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the ControlConstruct substitution group. Provides a sequence order for operations expressed as control constructs. The sequence can be typed to support local processing or classification flags and alternate sequencing instructions (such as randomize for each respondent).</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TypeOfSequence" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides the ability to "type" a sequence for classification or processing purposes. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References control constructs in the order that they should appear within the instrument.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ConstructSequence" type="ddi:SpecificSequenceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes alternate ordering for different cases using the SpecificSequence structure. If you set the sequence to anything other than order of appearance the only allowable children are QuestionConstruct or Sequence. Contents must be randomizable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Split">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the ControlConstruct substitution group. The components of a Split consists of a number of process steps to be executed concurrently with partial synchronization. Split completes as soon as all of its component process steps have been scheduled for execution.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TypeOfSequence" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides the ability to "type" a spit for classification or processing purposes. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References control constructs that can be executed concurrently.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SplitJoin">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the ControlConstruct substitution group. The components of a SplitJoin consists of a number of process steps to be executed concurrently with partial synchronization. SplitJoin consists of process steps that are executed concurrently (execution with barrier synchronization). That is, SplitJoin completes when all of its components processes have completed. Supports parallel processing that requires completion of all included process steps to exit.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TypeOfSequence" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides the ability to "type" a split for classification or processing purposes. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References control constructs that can be executed concurrently.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="StatementItem">
        <xs:annotation>
            <xs:documentation xml:lang="en">A textual statement used in the Instrument. A substitution for ControlConstruct. In addition to the objects found in ControlConstruct StatementItem adds the text for display at the specified point within the instrument.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ControlConstruct">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DisplayText" type="ddi:DynamicTextType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Text to be displayed by the instrument. Supports the use of DynamicText. Note that when using Dynamic Text, the full DisplayText must be repeated for multi-language versions of the content. Different languages may handle the dynamic portions in different locations and/or with different content. Therefore languages cannot be mixed within a dynamic text except when the full text itself has multiple language sections, for example, a foreign language term in a text. The DisplayText may also be repeated to provide a dynamic and plain text version of the display. This allows for accurate rendering of the display in a non-dynamic environment like print.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="StatisticalClassification">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Statistical Classification is a set of categories which may be assigned to one or more variables registered in statistical surveys or administrative files, and used in the production and dissemination of statistics. The categories at each level of the classification structure must be mutually exclusive and jointly exhaustive of all objects/units in the population of interest. The categories are defined with reference to one or more characteristics of a particular population of units of observation. A Statistical Classification may have a flat, linear structure or may be hierarchically structured, such that all categories at lower Levels are sub-categories of categories at the next Level up. Categories in Statistical Classifications are represented in the information model as Classification Items. </xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Describable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="ReleaseDate" type="ddi:cogsDate">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Date on which the Statistical Classification was released.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="TerminationDate" type="ddi:cogsDate">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Date on which the Statistical Classification was superseded by a successor version or otherwise ceased to be valid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsCurrent" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates whether or not the Statistical Classification is currently valid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MaintenanceUnitReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The unit or group of persons within the organization  who are responsible for the Statistical Classification (i.e, for maintaining, updating and changing it). TypeOfObject should be set to Organization or Individual.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ContactPersonReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Person(s) who may be contacted for additional information about the Statistical Classification. TypeOfObject should be set to Organization or Individual.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="LegalBase" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates that the Statistical Classification is covered by a legal act or by some other formal agreement.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Publication" type="ddi:PublicationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A list of the publications, including print, PDF, HTML and other electronic formats, in which the Statistical Classification has been published.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Copyright" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Statistical Classifications may have restricted copyrights. Such Statistical Classifications might be excluded from downloading. Notes the copyright statement that should be displayed in official publications to indicate the copyright owner.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsDisseminationAllowed" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates whether or not the Statistical Classification may be published or otherwise disseminated (e.g. electronic dissemination).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="LevelContext" type="ddi:LevelContextType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Level Context provides the depth of a Level within a Statistical Classification together with its membership. Both depth and membership can be specified per Statistical Classification.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ClassificationIndexReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A Statistical Classification can be associated with one or a number of Classification Indexes in which Classification Index Entries are linked to the appropriate Classification Item. Include here links to any relevant Classification Indexes. Allows for in-line entry of a Classification Indexes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ClassificationIndex" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsVersion" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates if the Statistical Classification is a version.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsUpdate" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates if the Statistical Classification is an update.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsFloating" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates if the Statistical Classification is a floating classification. In a floating statistical classification, a validity period should be defined for all Classification Items which will allow the display of the item structure and content at different points of time.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="PredecessorReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">For those Statistical Classifications that are versions or updates, notes the preceding Statistical Classification of which the actual Statistical Classification is the successor. TypeOfObject should be set to StatisticalClassification.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StatisticalClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="SuccessorReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Notes the Statistical Classification that superseded the actual Statistical Classification. TypeOfObject should be set to StatisticalClassification.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StatisticalClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DerivedFromReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A Statistical Classification can be derived from one of the classification versions of another Classification Series. The derived Statistical Classification can either inherit the structure of the classification version from which it is derived, usually adding more detail, or use a large part of its Classification Items, rearranging them in a different structure. Indicates the classification version from which the actual Statistical Classification is derived. TypeOfObject should be set to StatisticalClassification.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StatisticalClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ChangesFromPreceding" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A summary description of the nature and content of changes from the preceding version or update. Specific changes are recorded in the Classification Item object under the -Changes from previous version and updates- attribute.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UpdatesAllowed" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates whether or not updates are allowed within the classification version i.e. without leading to a new version.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PermissibleUpdates" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If Updates are Allowed, Indicate here what structural changes, if any, are permissible within a version. Note whether Classification Items can be added to the structure and whether they can be revalidated or invalidated. Such changes are more likely to be permissible in floating classifications. Also indicate whether changes to such things as Classification Item names and explanatory notes that do not involve structural changes are permissible within a version.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Updates" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Summary description of changes which have occurred since the most recent classification version or classification update came into force.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="VariantOfReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">For those Statistical Classifications that are variants, notes the Statistical Classification on which it is based and any subsequent versions of that Statistical Classification to which it is also applicable. TypeOfObject should be set to StatisticalClassification.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StatisticalClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariantChangesFromBase" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the relationship between the variant and its base Statistical Classification, including regrouping, aggregations added and extensions.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariantPurpose" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If the Statistical Classification is a variant, notes the specific purpose for which it was developed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="StudyUnit">
        <xs:annotation>
            <xs:documentation xml:lang="en">A primary packaging and publication module within DDI representing the purpose, background, development, data capture, and data products related to a study. In DDI a study is defined as a single coordinated set of data collection/capture activities, such as a one-time survey or a single iteration of a multi-year repeated study (such as one year of a longitudinal survey). The StudyUnit brings together all of the components of the study including the description of its purpose, funding, quality statements, data collection and capture methods and activities, processing activities, and a description of the resulting data (description of its intellectual or logical content plus a description of its physical store). A study unit may have only a single data collection or capture process resulting in one or more data products (i.e., Census). A complex study unit may contain multiple means of data capture that are integrated into one or more data products (i.e., a medical study collecting bio-markers, patient background, health care service information, etc.). A longitudinal study with multiple waves or iterations of data collection is considered to be a group of studies, each wave or iteration captured as a single study unit. As a primary packaging module, the Study Unit contains a full citation, abstract, authorization information, a universe reference, series statement, quality statement, information on post study evaluation, funding information, budget, purpose, coverage, type of analysis units covered, kind of data, other materials, a list of required resource packages, embargoes,  the conceptual components (universe, concept, data element, geographic structure and locations), data collection, logical products, physical data products, physical instance, archive, and DDI profile. The maintainable elements within a Study Unit may be included in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfStudyUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual identification of the StudyUnit. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Citation" type="ddi:CitationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The citation for the study. DDI strongly recommends that at minimum a Title be provided.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Abstract" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An abstract of the study unit describing the nature and scope of the data collection, special characteristics of its content. Note that detailed information on the purpose of the study and structured coverage information are to be entered in Purpose and Coverage. Abstract</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AuthorizationSource" type="ddi:AuthorizationSourceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the authorizing agency for the study and allows for the full text of the authorization (law, regulation, or other form of authorization). May be used to list authorizations from oversight committees and other regulatory agencies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ApprovalReviewReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides information about the Approval Review undertaken in relation to the activity. Identifies the organization processing the review, the role of the approval review organization, case number, description, and related dates. Allows the inclusion of a reference to an external source detailing the approval review.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ApprovalReview" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefiningConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A concept that defines or aids in understanding the content of the study unit.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Universe describing the persons or other units to which this study and any analytic results refer. A Universe is defined by a Unit Type and shared characteristics, independently of geographic area and time period. Examples include persons of a specified gender, businesses with at least 50 employees, or businesses in the manufacturing industry. The description should make it possible to determine whether a given unit belongs to the Universe. A Universe may be described using inclusion or exclusion criteria. Use Population to specify geographic and temporal scope. This StudyUnit level reference is normally to the top level of the UniverseScheme.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population describing the persons or other elements that are the object of this study and to which any analytic results refer.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SeriesStatement" type="ddi:SeriesStatementType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A study, particularly one in a series, may be the result of two series merging into a single study. The new study belongs to both series. For example, Niger now fields the UNICEF Multiple Indicators Cluster Survey (MICS) and the Demographic and Health Survey as a single merged instrument.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InformationClassificationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Used to describe the rules and guidelines on how the data is allowed to be handled, transferred, stored and disposed. These confidentiality policies are often dictated by national laws and/or data owners on handling of personal, proprietary, and other sensitive information.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="InformationClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a Quality Statement pertaining to the quality of the study overall, metadata, or data to which it is associated. Quality statements may be related to external quality standards.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStatement" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualitySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A scheme containing statements of quality related to the quality of methodologies, metadata, or data. Quality statements and standards may be related to external quality standards.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExPostEvaluation" type="ddi:ExPostEvaluationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An evaluation of the study process, often taking place after the completion of the study. These may include issues such as timing of the study, sequencing issues, cost/budget issues, relevance, institutional or legal arrangements etc. of the study. If the study is part of a series or group (i.e., a single wave in a longitudinal study) this may include evaluation of earlier waves which resulted in changes to the current wave.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="FundingInformation" type="ddi:FundingInformationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains details of the study unit's funding, including information about grants, agencies, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="StudyBudget" type="ddi:BudgetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This describes the overall budget of the study. It can be repeated for distinct budget activities. It contains a structured description and one or more budget documents described by an OtherMaterial type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Purpose" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The purpose of the study, why the study took place. This should include detailed information on the investigator's primary study questions or hypotheses as well as information on any legal basis for the data collection, such as laws requiring the collection of census data for apportionment purposes. Legal or other authorization should be provided in detail within AuthorizationSource.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Coverage" type="ddi:CoverageType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the coverage of the study unit. Detailed information on Topical, Temporal, and Spatial Coverage is contained here. Note that Coverage at this level should be inclusive all lower level modules or section. Lower level descriptions serve to constrain coverage within the scope described here.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AnalysisUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the use of a controlled vocabulary to list all of the units of analysis used in the study. Should be repeated to describe multiple units of analysis. The DDI Alliance has provided a controlled vocabulary (AnalysisUnit) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="AnalysisUnitsCovered" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A narrative of the units of analysis in the study unit.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="KindOfData" type="ddi:KindOfDataType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Briefly describes the kind of data documented in a study unit. Examples include survey data, census/enumeration data, administrative data, measurement data, assessment data, demographic data, voting data, etc. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GeneralDataFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Briefly describes the data formats documented in the logical product(s) of a study unit. Examples include Numeric, Text, Audio, Visual, Geospatial, StillImage, Software, 3D, etc. Supports the use of an external controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (GeneralDataFormat) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RequiredResourcePackages" type="ddi:RequiredResourcePackagesType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Specifies by reference the ResourcePackages required to resolve the Study. This list is informational and assists in creating full transmissions of metadata or creating archival packages. Primarily used after the instance is relatively stable and published.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Embargo" type="ddi:EmbargoType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Embargo information about the study unit. References to embargo information in this section can be made from individual variables.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherMaterialSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This scheme contains a set of other materials referenced by the metadata.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OtherMaterialScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptualComponentReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Documents the content and relational structure of the concepts, universes, data elements, geographic structures and geographic locations used by the study unit.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptualComponent" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataCollectionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Documents the content of the Data Collection activities used in this study; development of data collection processes, questions, question flows (control constructs), data collection instrument, instructions, processing events and instructions, methodology, etc.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DataCollection" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="LogicalProductReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Documents the logical (intellectual) content of the data produced by the study unit. Note that l:BaseLogicalProduct is the head of a substitution group and is replaced by the appropriate member of that substitution group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="LogicalProduct" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalDataProductReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Documents the physical structure of the data produced by the study unit.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalDataProduct" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalInstanceReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Documents the link to a specific external data file produced by the study unit. May contain summary and category level statistics on the variables contained in the data file.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalInstance" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PhysicalInstanceGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows physical instance modules to be grouped with or without hierarchical structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="PhysicalInstanceGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ArchiveReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Archive serves as a packet containing both persistent and transient information. Describes archive-specific material including item record information as well as lifecycle information. The metadata in the package is divided into elements that are persistent (should remain with the Study Unit through its life-cycle), and transient (pertinent only to the Study Unit as held by that archive).</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Archive" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ClassificationFamilyReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for in-line entry of a Classification Family.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ClassificationFamily" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DDIProfileReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a DDI Profile which is used by the study unit.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="DDIProfile" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SubUniverseClass">
        <xs:annotation>
            <xs:documentation xml:lang="en">A SubUniverseClass groups Universes using a defining characteristic. For example, a SubUniverseClass defined by number of employees for the parent Universe "Manufacturing businesses" may contain the Universes "Businesses with fewer than 50 employees" and "Businesses with at least 50 employees". Each member is interpreted within the parent Universe, independently of geographic area or time period. In addition to the standard name, label, and description, the SubUniverseClass references a concept which defines it, and references to the universes and or other sub-universe groups it contains. The contents of the SubUniverseClass may be designated as ordered.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SubUniverseClassName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the SubUniverseClass.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the SubUniverseClass.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the SubUniverseClass.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefiningConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A concept that provides a grouping factor for the Universes contained by the SubUniverseClass. For example, if the parent Universe is "Manufacturing businesses" and the member Universes are "Businesses with fewer than 50 employees" and "Businesses with at least 50 employees", the defining concept is "Number of employees".</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a Universe contained in this SubUniverseClass. Different parent Universes may reuse the same SubUniverseClass and its member Universes. For example, the Universes "Manufacturing businesses" and "Retail businesses" may both reference a SubUniverseClass defined by number of employees, with member Universes "Businesses with fewer than 50 employees" and "Businesses with at least 50 employees". The SubUniverseClass always restricts its parent Universe, so the latter member means "Manufacturing businesses with at least 50 employees" in one case and "Retail businesses with at least 50 employees" in the other. A question or variable should reference each relevant Universe to identify the intended intersection. Geographic areas and reference periods are specified in Population descriptions.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SubUniverseClassReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a SubUniverseClass contained in this SubUniverseClass (a means of nesting hierarchies).</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SubUniverseClass" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TabularNCubeRecordLayout">
        <xs:annotation>
            <xs:documentation xml:lang="en">A member of the BaseRecordLayout substitution group intended for use with tabular formats of NCube Instances held in an external file with location for data items arranged as two-dimensional rows (identified by row and column). In addition to the link to the PhysicalStructure provided by BaseRecordLayout, the record layout is this namespace (m3) identifies the character set and array base for the stored data, a full description of each data item contained within an NCube Instance including a link to its description (matrix address) and its physical location in the file.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:BaseRecordLayout">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CharacterSet" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Character set used in the data file (e.g., US ASCII, EBCDIC, UTF-8). This is a required field. The DDI Alliance has provided a controlled vocabulary (CharacterSet) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ArrayBase" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Sets the array base for any arrays used in the definition (that is, whether the first value is in position 0 or 1, etc.). This may be the data array in a delimited data file or the measure array for measures that are bundled and stored in a single location. Array base is generally set to either 0 or 1. There is no override provided as systems processing a record would use a consistent array base.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeInstanceTReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A container for defining an instance of an NCube, indicating the matrix address of each cell and where the data for each measure within a cell of the NCube is stored. Allows specifying the values of the attributes attached to a NCube.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="NCubeInstanceT" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TopLeftTableAnchor" type="ddi:TopLeftTableAnchorType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Notes the column and row position of the top left corner of the data table in the spreadsheet.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TranslationActivity">
        <xs:annotation>
            <xs:documentation xml:lang="en">A substitution for DevelopmentActivity which describes the specifics of translation, looking at source and target languages, aids available for translation, and translator requirements regarding language ability and method of translation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:DevelopmentActivity">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TranslationMethod" type="ddi:TranslationMethodType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the method of translation required through use of a controlled vocabulary and description. Repeat for multiple methods.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TranslationRequirements" type="ddi:TranslationRequirementsType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a detailed description of the requirements for an acceptable translation and indicate if the translation should be oral and/or written.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TranslationAid" type="ddi:TranslationAidType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes available aids for translation typed by a controlled vocabulary and supporting a description and resource identification where appropriate. This may include items such as the availability of an interpreter, key word material, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TranslatorRequirements" type="ddi:TranslatorRequirementsType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes both minimum and preferred language abilities sought for the translation work as a set of source and target language requirements. Details requirements for the translator in terms of language ability for reading, speaking, and writing the source and target languages. Repeat for each language pair sought.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="TranslationSourceLanguage" type="ddi:language">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">List the language or language codes. The language original may or may not be provided in this bundle of language specific strings.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="TranslationTargetLanguage" type="ddi:language">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">List the language or language codes.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="UnitType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Unit Type is a class of objects of interest. A Unit Type is used to describe a class or group of Units based on a single characteristic with no specification of time and geography. For example, the Unit Type of "Person" groups together a set of Units based on the characteristic that they are "Persons". It concerns not only Unit Types used in dissemination, but anywhere in the statistical process. For example, using administrative data might involve the use of a fiscal unit. "Object class (ISO 11179)" is a synonym of UnitType. [GSIM 1.2]</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Describable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the Concept that defines the UnitType. TypeOfObject should be set to Concept.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="UnitTypeGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of UnitTypes, which may describe an ordered or hierarchical relationship structure. Specifies the purpose of the group, a name, label, and description of the group, its relationship to a specific universe, population, or concept, and lists the members of the group.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfUnitTypeGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a UnitTypeGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UnitTypeGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the group.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the UnitTypeGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the UnitTypeGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this UnitTypeGroup pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UnitTypeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent UnitType. TypeOfObject should be set to UnitType.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitType" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UnitTypeGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent UnitTypeGroup. This allows for nesting of UnitTypeGroups.  TypeOfObject should be set to UnitTypeGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitTypeGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="UnitTypeScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">This scheme contains a set of Unit Types referenced by the metadata at different points in the lifecycle. In addition to the name, label, and description of the scheme, the structure supports the inclusion of another UnitTypeScheme by reference and a set of UnitType descriptions either in-line or by reference.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UnitTypeSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the scheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the scheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the scheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UnitTypeSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Inclusion of an existing UnitTypeScheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitTypeScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UnitTypeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a UnitType. These are used by reference at various points in the lifecycle.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitType" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UnitTypeGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">In-line description of a group of UnitTypes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitTypeGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Universe">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Universe describes units of a Unit Type that meet shared defining characteristics, independently of time and geography. For example, "women aged 18 or older" narrows the Unit Type "persons" without specifying a place or reference period. This follows the Universe level of the [DDI Common Core, version 1](https://doi.org/10.5281/zenodo.17297309) Unit Cascade (p. 5).

A Universe may be organized into hierarchical sub-universes. Alongside its name, label, and description, it can identify a defining concept, provide generation code describing how it is defined or derived from another Universe, and indicate whether its definition uses inclusion or exclusion criteria.

For new descriptions, use Population to add both geographic and temporal scope to a Universe. Universe retains `LocationValueReference`, `GeographyOfUniverse`, and `TimePeriod` for compatibility with existing metadata, but these properties are deprecated. Record geography in Population's `GeographyOfPopulation` and time in `TimePeriodOfPopulation`.
</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Universe.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Universe.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the Universe.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DefiningConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A concept that defines or aids in understanding the content of the universe. For example the Universe "Males" may link to the concept of "Male".</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UnitTypeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a unit type being associated with this Universe. TypeOfObject should be set to UnitType.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitType" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The entity type associated with this Universe. For example, individuals, families or households, groups, institutions/organizations, administrative units, etc. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="LocationValueReference" type="ddi:LocationValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Deprecated - Use Population and GeographyOfPopulation instead. Reference to specific LocationValue for the Universe as described in a GeographicLocation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographyOfUniverse" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Deprecated - Use Population and GeographyOfPopulation instead. A description of the content and purpose of the Universe.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TimePeriod" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Deprecated - Use Population and TimePeriodOfPopulation instead. Reference to specific time period for the Universe. Repeat for non-continuous time periods.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="UniverseGenerationCode" type="ddi:CommandCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An expression of the Universe in terms of the code used to generate or define it. For example how a given Universe may be differentiated within a parent universe.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SubUniverseClassReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A Sub-Universe class provides a definition to the Universes contained within it. For example the Sub-Universe Class of Gender for the Universe Resident Population may contain the Universe Males and the Universe Females</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SubUniverseClass" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsInclusive" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The default value is "true". The description of a Universe is generally stated in inclusive terms, such as "All persons at least 18 years old". If the description instead states which persons are excluded, such as "All persons except those younger than 18 years old", set the value to "false".</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="UniverseGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of Universes, which may describe an ordered or hierarchical relationship structure. Specifies the purpose of the group, a name, label, and description of the group, its relationship to a specific universe, population, or concept, and lists the members of the group. Use primarily for organizational and management purposes. If structuring nesting of Universes to represent a hierarchical set of universes use the SubUniverseClass found in Universe.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfUniverseGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic element for specifying a reason for a UniverseGroup. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the UniverseGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the UniverseGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the UniverseGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GroupingUniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this group pertain. This is not a universe contained by the group but one that helps define the purpose and application of the group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GroupingPopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this UniverseGroup apply. This reference defines the context and application of the group; it does not identify a constituent member.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="GroupingConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the objects in this group. Note that this is not a formal linking of a concept to a universe such as found in a ConceptualVariable. It is a means of helping to define the context within which this ConceptGroup is relevant.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent Universe (from the substitution group). TypeOfObject should be set to Universe.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent UniverseGroup. This allows for nesting of UniverseGroups. TypeOfObject should be set to UniverseGroup.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UniverseGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="UniverseScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a set of Universe descriptions that may be organized into sub-universe structures. A Universe may also be known as a population. A Universe describes the "object" of a Data Element Concept or Data Element as defined by ISO/IEC 11179.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the UniverseScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the UniverseScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the UniverseScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the inclusion of a UniverseScheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UniverseScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a Universe, such as businesses in the manufacturing industry. A Universe describes units sharing a Unit Type and defining characteristics, independently of geographic area and time period. A Universe may be organized into hierarchical sub-universe classes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a group of Universes for organizational and management purposes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UniverseGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Variable">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the structure of a Variable. This is the applied expression of a data item within a data set and maps to the GSIM ImplementedVariable. In addition to the standard name, label, and description, includes a reference to a source parameter, represented variable, conceptual variable, universe, concept, question, source variable, and embargo information. It identifies the normal source of the data in the variable, the unit of analysis, whether the variable provides temporal or geographic information, or serves as a weight for other variables in the data, and provides a full description of its representation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Variable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Variable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the Variable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Assigns a parameter that contains output from the Variable so that it can be bound to an InParameter of an instruction or act as the SourceParameter of another Variable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SourceParameterReference" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an OutParameter that serves as the source for the content of this variable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SourceVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to variable(s) used as a basis for recoding, derivation, or other means of calculating the data for this variable. This reference is intended to provide basic information on the source variable structure including value representation, measurement unit, etc. Note that if a variable is used by reference within multiple VariableSchemes you can identify its role within a specific VariableScheme by including that VariableScheme in the sourceContext attribute of the reference. Use ProcessingInstructionReference to provide additional information on the transformation of the source variable(s) into the data for this variable. If additional processing detail is required use the InParameter, OutParameter, and ParameterLinkage options in the GenerationInstruction and ProcessingInstructionReference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="RepresentedVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the RepresentedVariable that describes the core of this variable (the RepresentedVariable that the variable is the implementation of). The RepresentedVariable contains the broad reusable specification of the Variable, i.e., concept, universe, and value representation. These may be constrained by specifications within the Variable description. TypeOfObject should be set to RepresentedVariable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="RepresentedVariable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptualVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the ConceptualVariable that describes the core of this variable. The ConceptualVariable provides linked Concept and Universe specifications. These may be constrained by specifications within the Variable description. TypeOfObject should be set to ConceptualVariable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ConceptualVariable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="WeightingProcessReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">When isWeight is set to true provide a reference to the Weighting process description used to generate this value. TypeOfObject will be Weighting</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Weighting" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement containing a description of the persons or other elements that this variable refers to, and to which any analytic results refer. If more than one universe is referenced the universe of the variable is the intersect of the referenced universes.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other elements that this variable and its analytic results refer to. If more than one population is referenced, the population of the variable is the intersection of the referenced populations.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concepts measured by this variable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to question(s) used to collect data for this variable. This references the wording and response domain of the question, not the question flow (if the same question was asked in reference to multiple objects (i.e., Age of each child). Use SourceParameterReference and/or VariableRepresentation/ProcessingInstructionReference to differentiate sources associated with flow patterns or data processing instructions.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QuestionBlock" />
                                            <xs:enumeration value="QuestionGrid" />
                                            <xs:enumeration value="QuestionItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementItemReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to measurement(s) used to collect data for this variable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="MeasurementItem" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EmbargoReference" type="ddi:EmbargoType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to any embargoes placed on the contents of this variable. Embargoes may limit access to the data and/or metadata to specific groups and/or for specified periods of time.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SourceUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The normal source of the information contained in the variable. In the case of a survey this may be a respondent, proxy, interviewer, or other source. In the case of administrative data the position of a field on a form e.g., "top of page", "item 3", "generated by data processor", etc. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AnalysisUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The entity to which the data refer, for example, individuals, families or households, groups, institutions/organizations, administrative units, etc. Supports the use of an external controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (AnalysisUnit) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="UnitTypeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the unit type containing a description of the unit type that this Variable refers to, and to which any analytic results refer. TypeOfObject should be set to UnitType.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="UnitType" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="VariableRepresentation" type="ddi:VariableRepresentationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the representation of the variable in the data set, including allowed content, data typing, and computation information.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsTemporal" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Set to "true" if the variable relays time-related information (date, time, season, relative time, etc.).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsGeographic" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Set to "true" if the variable relays geographic information, i.e., geographic code, area name, relative location, etc.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsWeight" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Set to "true" if the variable is used a weight when analyzing data within the data set. If set to true provide a reference to the Applied Usage of the appropriate Processing Event Weight using WeightingAppliedUsage.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="VariableGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a group of Variables, which may be ordered or hierarchical. In addition to the name, label, and description of the group, the structure allows for defining the type of group using an optional controlled vocabulary, a reference to a defining universe, population, or concept for the group, a subject classification for the group, and a listing of Variables and VariableGroups in any order.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfVariableGroup" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual identification of the group type. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableGroupName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the VariableGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the VariableGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the VariableGroup.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement describing the persons or other objects to which the contents of this variable group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other objects to which the contents of this variable group pertain.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the concept expressed by the Variables in this group.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Concept" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent Variable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to constituent VariableGroup. This allows for nesting of VariableGroups.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="VariableGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsOrdered" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the group is ordered.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="VariableScheme">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a set of Variables and VariableGroups. In addition to the standard name, label, and description of the Variable Scheme, may contain another VariableScheme by reference, a listing of Variables (in-line or by reference), and a listing of VariableGroups (in-line or by reference).</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Maintainable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableSchemeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the VariableScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the VariableScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the VariableScheme.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableSchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the inclusion of another VariableScheme by reference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="VariableScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a Variable in-line. This is the applied expression of a data item within a data set.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableGroupReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains a group of Variables, which may be ordered or hierarchical.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="VariableGroup" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="VariableStatistics">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains summary and category level statistics for the referenced variable. Includes information on the total number of responses, the weights in calculating the statistics, variable level summary statistics, and category statistics. The category statistics may be provided as unfiltered values or filtered through a single variable. For example the category statistics for Sex filtered by the variable Country for a multi-national data file. Note that if no weighting factor is identified, all of the statistics provided are unweighted. </xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="VariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the variable to which the statistics apply.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="TotalResponses" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The total number of responses to this variable. This element is especially useful if the number of responses does not match added case counts. It may also be used to sum the frequencies for variable categories.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StandardWeightReference" type="ddi:StandardWeightType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the StandardWeight value provided in Weighting.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="WeightVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a variable to use for weight in calculating the statistic.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="MissingValuesReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the missing values that were excluded from the statistic by referencing the ManagedMissingValuesRepresentation used by the Variable.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SummaryStatistic" type="ddi:SummaryStatisticType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A summary statistic for the referenced variable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="UnfilteredCategoryStatistics" type="ddi:UnfilteredCategoryStatisticsType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The unfiltered values of any number of statistics by category value representing the full response distribution of the variable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="FilteredCategoryStatistics" type="ddi:FilteredCategoryStatisticsType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Includes category-level statistic for the referenced variable using another variable to filter the categories through. For example, the Eurobarometer may filter its category statistics by country as represented in a variable "CountryCode".</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Versionable" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">Adds the attribute identifying this as a versionable object as well as the MaintainableObject. All versionable objects should provide their contextual information, the identity of their maintainable parent. The deprecated form of the URN contains all the information to identify and object and its context. A Canonical URN scoped to the Maintainable contains the ID of the Maintainable as part of its structure. To provide full contextual information use the MaintainableObject structure. The use of the Canonical URN scoped to the agency or the identification sequence alone requires the content of the MaintainableObject to provide full contextual information. All content of Versionable is considered to be administrative metadata. Note that changes to the administrative metadata does not drive a change in the version of the parent objects. See DDI 3.2 Technical Documentation: Part I for further details.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="1" maxOccurs="1" name="URN">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*([Uu][Rr][Nn]:[Dd][Dd][Ii]:[a-zA-Z0-9\-]{1,63}(\.[a-zA-Z0-9\-]{1,63})*:[A-Za-z0-9\*@$\-_]+(\.[A-Za-z0-9\*@$\-_]+)?:[0-9]+(\.[0-9]+)*)(.|\r|\n)*" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Agency">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*([a-zA-Z0-9\-]{1,63}(\.[a-zA-Z0-9\-]{1,63})*)(.|\r|\n)*" />
                        <xs:minLength value="1" />
                        <xs:maxLength value="253" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="ID">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*([A-Za-z0-9\*@$\-_]+(\.[A-Za-z0-9\*@$\-_]+)?)(.|\r|\n)*" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Version">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*([0-9]+(\.[0-9]+)*)(.|\r|\n)*" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="UserID" type="ddi:UserIDType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows for the specification of identifiers other than the specified DDI identification of the object. This may be a legacy ID from DDI-C, a system specific ID such as for a database or registry, or a non-DDI unique identifier. As the identifier is specific to a system the system must be identified with the UserID structure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="UserAttributePair" type="ddi:StandardKeyValuePairType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A system specific user defined property of the object expressed as a key/value pair. As this is specific to an individual system the use of controlled vocabularies for the key is strongly recommended.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="VersionResponsibility" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Person or organization within the MaintenanceAgency responsible for the version change. If it is important to retain the affiliation between and individual responsible for the version and his/her agency, it may be included in this notation. This is primarily intended for internal use.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="VersionResponsibilityReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference person or organization within the MaintenanceAgency responsible for the version change, as described in an OrganizationScheme. If it is important to retain the affiliation between and individual responsible for the version and his/her agency, a Relation should be created between the individual referenced here and his/her organization. This is primarily intended for internal use.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="VersionRationale" type="ddi:VersionRationaleType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Textual description of the rationale/purpose for the version change and a coded value to provide an internal processing flag within and organization or system. Note that versioning can only take place on objects owned by the specified DDI Agency. If you are creating a local instance of an object from another agency for current or future modification use BasedOnObject. If the changes being made result in what you determine to be new object rather than a version of a previous object, i.e. the change is too extensive to consider it a version of the existing object, create a new object and use BasedOnObject to provide a link to the object or objects that were a basis for the new object.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="BasedOnObject" type="ddi:BasedOnObjectType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use when creating an object that is based on an existing object or objects that are managed by a different agency or when the new object is NOT simply a version change but you wish to maintain a reference to the object that served as a basis for the new object. BasedOnObject may contain references to any number of objects which serve as a basis for this object, a BasedOnRationalDescription of how the content of the referenced object was incorporated or altered, and a BasedOnRationalCode to allow for specific typing of the BasedOnReference according to an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="RelatedOtherMaterialReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The inclusion of an existing OtherMaterial by reference. Use for any type of OtherMaterial not specifically addressed by an inline description for such as ExternalAid in QuestionItem.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="OtherMaterial" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="VersionDate" type="ddi:cogsDate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Date of version using the union set BaseDateType. Duration should not be used in this field, even though allowed by the ISO format enforced by the parser.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsPublished" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates that the maintainable will not be changed without versioning, and is a stable target for referencing.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="Weighting">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the weighting used in the process. In addition to a description of the weighting process it may be designated as a specific type of weighting. If the data uses a standard weight (each record has an equal weight) it may be expressed here with StandardWeight.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfWeighting" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows brief identification of Weighting Process used with the option of using a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Full description of the weighting process.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="WeightingMethodologyReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the methodology used for the weighting process.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="WeightingMethodology" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AnalysisUnit" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The entity to which the weights apply, for example, individuals, families or households, groups, institutions/organizations, administrative units, etc. Supports the use of an external controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (AnalysisUnit) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="UsageGuide" type="ddi:UsageGuideType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A guide to the appropriate usage of the weights generated by the processing event.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="StandardWeight" type="ddi:StandardWeightType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A standard weighting factor used by all or a group of variables within the data set.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="BasedOnSampleReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The sample that was the basis for the weighting. TypeOfObject should be Sample.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Sample" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="WeightingMethodology">
        <xs:annotation>
            <xs:documentation xml:lang="en">A basic structure for describing the methodology used for weighting. In addition to a descriptive narrative, the methodology may be classified by a short term or external controlled vocabulary.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:Versionable">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfWeightingMethodology" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for brief identification of the type of weighting methodology using an optional controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Full description of the weighting methodology.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AccessRestrictionDateType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The date or date range of the access restriction for all or portions of the data. Includes a reason for the access restriction as well as the user group to which the restriction applies.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:DateType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Reason" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The reason for the access restriction.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="User" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The user group to whom the restriction applies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AccessType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes access to the holdings of the archive or to a specific data product. In addition to the name, label, and description for access. This item includes a confidentiality statement, descriptions of the access permissions required, restrictions to access, citation requirements, depositor requirements, conditions for access, a disclaimer, any time limits for access restrictions, and contact information regarding access.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfAccess" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The type of data access condition. The use of a controlled vocabulary is strongly recommended. </xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="AccessTypeName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name by which the description of access is known.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the description of access.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the access description.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ConfidentialityStatement" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A statement regarding the confidentiality of the related data or metadata.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AccessPermission" type="ddi:FormType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A link to a form used to provide access to the data or metadata including a statement of the purpose of the form.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Restrictions" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A statement regarding restrictions to access.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CitationRequirement" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A statement regarding the citation requirement.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DepositRequirement" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A statement of deposit requirements for the data. </xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="AccessConditions" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Conditions for access to the metadata and/or data. </xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Disclaimer" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A disclaimer regarding the liability of the data producers or providers.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AccessRestrictionDate" type="ddi:AccessRestrictionDateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The date or date range of the access restriction for all or portions of the data. Includes a reason for the access restriction as well as the user group to which the restriction applies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ContactOrganizationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to an organization or individual to contact for further information regarding the metadata or data.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ActionToMinimizeLossesType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes action taken to minimize loss of data from the collection event. This may include a brief term, such as from a controlled vocabulary, and a full description of the actions taken. If multiple actions were taken repeat this element.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfActionToMinimizeLosses" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A brief textual description of the action taken to minimize loss of data. Supports the use of an external controlled vocabulary</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Full description of the action taken to minimize loss of data.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ActionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the region of an image, recording, or text where an action where a specified action is performed and the type of action taken (i.e., Mark an "X" where the actor should be standing on the picture of the stage.).</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RegionOfAction" type="ddi:SegmentType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the region of the object where the action needs to occur based on the object type by specifying a segment of the object.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the specific actions that should take place.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="RegExp" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows for the provision of a regular expression to describe a mark (such as a specific letter or number).</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AdditionalDataCollectionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Description of the method and mode of data collection in administering the pretest. Notes any additional data collected in the administration of the pretest.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfAdditionalData" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies type of additional data collected. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the additional data collected.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AddressType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Location address identifying each part of the address as separate elements, identifying the type of address, the level of privacy associated with the release of the address, and a flag to identify the preferred address for contact.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfAddress" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates address type (i.e. home, office, mailing, etc.). The DDI Alliance has provided a controlled vocabulary (TypeOfAddress) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Line" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Number and street including office or suite number. May use multiple lines.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CityPlaceLocal" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">City, Place, or local area used as part of an address.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="StateProvince" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A major subnational division such as a state or province used to identify a major region within an address.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="PostalCode" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Postal or ZIP Code</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CountryCode" type="ddi:CountryCodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Country of the location</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GeographicPoint" type="ddi:PointType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Geographic coordinate point for the location</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TimeZone" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Time zone of the location expressed as code. The DDI Alliance has provided a controlled vocabulary (TimeZone) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EffectivePeriod" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Clarifies when the identification information is accurate.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Privacy">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A basic set of privacy codes for the parent element. These may be stricter than the general access restrictions for the overall metadata. If available codes are insufficient this may also contain any string.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="public" />
                        <xs:enumeration value="restricted" />
                        <xs:enumeration value="private" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsPreferred" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Set to "true" if this is the preferred location for contacting the organization or individual.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AggregationDefinitionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the independent (denominator) and dependent (numerator) dimensions for calculating aggregate measures such as percent. When two or more independent or dependent dimensions are listed here, the value is defined as the intersection of the listed dimensions.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="IndependentDimension" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The rank of a dimension that acts as the denominator (independent variable).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DependentDimension" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The rank of a dimension that acts as the numerator (dependent variable).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsNCubeUniverse" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">When true indicates that total count of the NCube as described by the universe acts as the independent variable (denominator) and that all dimensions are used to define the dependent variable (numerator). When false, use the IndependentDimension and DependentDimension elements to assign each rank to its appropriate role.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AggregationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the aggregation method and the variables used in the aggregation process. Identifies the method using an external controlled vocabulary and identifies the variables used either in-line or by reference to an existing description.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AggregationMethod" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identification of the type of aggregation method used. Supports the use of a controlled vocabulary. DDI strongly recommends the use of a controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (AggregationMethod) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AggregationVariables" type="ddi:AggregationVariablesType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the independent and dependent variables used in the aggregation process in-line.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AggregationVariablesReference" type="ddi:AggregationVariablesType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to an existing AggregationVariables description.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AggregationVariablesType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the independent and dependent variables used in the aggregation process. Note that in the case of calculating a percentage, mean, etc. of a dependent value against the total population of the cell, there is no independent variable.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="IndependentVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a variable, which is an important constraint for the computed aggregation measure and has the potential to invoke a change in a dependent variable like sex for average of income. In the context of calculating percentages, the use of Sex as the independent variable would indicate that the percentages provided represent the percentage of the dependent variable associated with a specific value for Sex (i.e., the dependent variable expressed as a percentage of the total for Males). This would be opposed to the percent for the full population (the percent of the total grid population falling within that particular cell).</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DependentVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a variable, for which the aggregate measure is computed like average of income.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AnchorType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows for the attachment of a category label at any anchor point in a scale.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="CategoryReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the category containing the label for the anchor point.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Category" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Value_string" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value of the anchor point.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ApplicationDetailsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides sample stage level details where needed. Repeat for individual stages or sub-stages.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="SamplingStageReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">References the sample plan stage in an overall sample plan. TypeOfObject should be set to SamplingStage</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="SamplingStage" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="SampleFrameReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to sample frame used. Note that this is the actual sample frame used and may differ from the recommended sample frame found in the sample plan stage referenced for this procedure. Deviation from the recommended sample frame should be described in FrameLimitations.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="SampleFrame" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="FrameLimitations" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of limitations of the usage of the frame for the data collection.  Clarify (over/under) coverage issues, lack of needed fields, and needs to support over-sampling or deviation from recommended sample frame found in sample plan stage.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TargetSampleSize" type="ddi:TargetSampleSizeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The desired sample size for this particular sample plan express in relation to its strata number if relevant. Provides means of expressing the formula used for determining the sample size.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DateOfSample" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Date or date range when sample was drawn.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="ResponsibleForSamplingReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to an organization or individual responsible for sampling.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ArchiveSpecificType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains metadata specific to a particular archive's holding. This includes information on the items or collection of items held by the archive, the default terms of access, funding information and budget specific to the archive and its maintenance of this collection, reference to a quality statement related to archive activities, and coverage of the archive or sub-set of the archive.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="ArchiveOrganizationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the organization or an individual acting as the archive.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Item" type="ddi:ItemType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes individual items held or distributed by the archive in connection with a study, group of studies, or resource packages. What constitutes an item is determined by the archive.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Collection" type="ddi:CollectionType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes a collection of items held or distributed by the archive in connection with a study, group of studies, or resource packages. What constitutes an collection is determined by the archive.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DefaultAccess" type="ddi:AccessType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes access to the archive in general. The restrictions noted at this level apply to all holdings of the archive unless overridden for specified collections or items.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="FundingInformation" type="ddi:FundingInformationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes funding information in relationship to the archive and its activities. This may be archive wide or related to specific collections or projects within the archive.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Budget" type="ddi:BudgetType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This describes the archive budget. It can be repeated for distinct budget activities such as budget periods, specific projects or types of activity.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a Quality Statement regarding the activities and operation of the archive. These may include access or preservation appraisal assessments or certification.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="QualityStatement" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Coverage" type="ddi:CoverageType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Documents the spatial, temporal, and/or topical coverage of the archive or division of an archive.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AreaCoverageType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Use to specify the area of land, water, total or other area coverage in terms of square miles/kilometers or other measure.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfArea" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specify the type of area covered i.e. Total, Land, Water, etc. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Records the measurement unit, for example, Square Kilometer, Square Mile. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AreaMeasure">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The area measure expressed as a decimal for the measurement unit designated.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:decimal" />
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AttachedAttributeIType">
        <xs:annotation>
            <xs:documentation xml:lang="en">References the attribute description or provides a value.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AttributeReference" type="ddi:AttributeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the attribute described in an NCube.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Value" type="ddi:ValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Contains the value for the attribute.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AttachedAttributeTType">
        <xs:annotation>
            <xs:documentation xml:lang="en">References the attribute description in the NCube and provides for a choice between describing an explicit value, or a location in a file where the value can be found.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AttributeReference" type="ddi:AttributeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the attribute described in an NCube.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="PhysicalTableLocation" type="ddi:PhysicalTableLocationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the physical location of the attribute value in the data file.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Value" type="ddi:ValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Contains the value for the attribute.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AttachedAttributeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">References the attribute description in the NCube and provides for a choice between describing an explicit value, or a location in a file where the value can be found.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AttributeReference" type="ddi:AttributeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the attribute described in an NCube.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="PhysicalLocation" type="ddi:PhysicalLocationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the physical location of the attribute value in the data file.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Value" type="ddi:ValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Contains the value for the attribute.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AttachedInstructionType">
        <xs:annotation>
            <xs:documentation xml:lang="en"></xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="InterviewerInstructionReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to an interviewer instruction expressed as DDI XML.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Instruction" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="InterviewerInstructionAttachmentLocation" type="ddi:InstructionAttachmentLocationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows attachment of an instruction to a specific item in a question structure. For example, to a Label, QuestionText, ResponseDomain, Response domain value, or grid cell.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsDisplayed" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If set to true the content of the instruction is intended to be displayed. If set to false the preference is for the instruction to be displayed upon request if this is supported by the mode of presentation.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AttachmentLocationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows attachment of a response domain to a specific item in a code or category scheme. For example, attach a TextDomain to the value "Other".</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CodeReference" type="ddi:CodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the value to which the new response domain is attached by a references a specific Code within the CodeDomain.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoryReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the value to which the new response domain is attached by a references a specific Category within the CategoryDomain.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Category" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DomainSpecificValue" type="ddi:DomainSpecificValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the value to which the new response domain is attached by a reference to a specific value used by the response domain and the specific value.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AttributeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">An attribute may be any object which should be attached to all or part of the NCube. It may be defined as a Variable or contain textual content (such as a footnote).</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="VariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a variable that describes the attribute.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="AttachmentValue" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The value of the attachment expressed as a string, if not a variable.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AttachmentRegionReference" type="ddi:CoordinateRegionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the CoordinateRegion that defines the attachment point for the attribute.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="MeasureDefinitionReference" type="ddi:MeasureDefinitionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the MeasureDefinition that the attribute is attached to.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Value" type="ddi:ValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the specified Value of the MeasureDefinition that the attribute is attached to.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="AttachmentLevel">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the attachment level of the attribute as Cube, CoordinateRegion, Dimension, Measurement, or MeasurementValue.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="Cube" />
                                <xs:enumeration value="CoordinateRegion" />
                                <xs:enumeration value="Dimension" />
                                <xs:enumeration value="Measurement" />
                                <xs:enumeration value="MeasurementValue" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AudioType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the type and length of the audio segment.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfAudioClip" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The type of audio clip provided. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AudioClipBegin" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The point to begin the audio clip. If no point is provided the assumption is that the start point is the beginning of the clip provided.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AudioClipEnd" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The point to end the audio clip. If no point is provided the assumption is that the end point is the end of the clip provided.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AuthorizationSourceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the authorizing agency for the study and allows for the full text of the authorization (law, regulation, or other form of authorization). May be used to list authorizations from oversight committees and other regulatory agencies.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="AuthorizingAgencyReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">References the authorizing agency, organization, or individual.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="StatementOfAuthorization" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Text of the authorization.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="LegalMandate" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provide a legal citation to a law authorizing the study/data collection. For example, a legal citation for a law authorizing a country's census.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AuthorizationDate" type="ddi:cogsDate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the date of Authorization.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AuthorizedPolicySourceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Description and link to the policy source using the DDI Other Material structure.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherMaterialReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Inline description and link to the policy using the DDI Other Material structure.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="OtherMaterial" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AuthorizedSourceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A stack of LocationValueReferences to each of the locations of the specified PrimaryComponentLevel type that make up the Component Area. Includes a GeographicTime to allow for repetition for change over time.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="OtherMaterialReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the authorization source using OtherMaterial. The TypeOfOtherMaterial should state AuthorizationSource. An authorization source should differentiate between codes derived for different purposes within the same agency.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="OtherMaterial" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IdentifierParsingInformation" type="ddi:IdentifierParsingInformationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides structural information for parsing the identification code structure of the Authorized Source into its separate parts.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="BasedOnObjectType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Use when creating an object that is based on an existing object or objects that are managed by a different agency or when the new object is NOT simply a version change but you wish to maintain a reference to the object that served as a basis for the new object. BasedOnObject may contain references to any number of objects which serve as a basis for this object, a BasedOnRationalDescription of how the content of the referenced object was incorporated or altered, and a BasedOnRationalCode to allow for specific typing of the BasedOnReference according to an external controlled vocabulary.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="BasedOnReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to an object upon which the current object is based using a standard Reference structure. Repeat for multiple base objects. The TypeOfObject may be any Versionable or Maintainable object.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ApprovalReview" />
                                    <xs:enumeration value="Archive" />
                                    <xs:enumeration value="Category" />
                                    <xs:enumeration value="CategoryGroup" />
                                    <xs:enumeration value="CategoryScheme" />
                                    <xs:enumeration value="ClassificationCorrespondenceTable" />
                                    <xs:enumeration value="ClassificationFamily" />
                                    <xs:enumeration value="ClassificationIndex" />
                                    <xs:enumeration value="ClassificationItem" />
                                    <xs:enumeration value="ClassificationLevel" />
                                    <xs:enumeration value="ClassificationSeries" />
                                    <xs:enumeration value="CodeList" />
                                    <xs:enumeration value="CodeListGroup" />
                                    <xs:enumeration value="CodeListScheme" />
                                    <xs:enumeration value="CognitiveExpertReviewActivity" />
                                    <xs:enumeration value="CognitiveInterviewActivity" />
                                    <xs:enumeration value="Comparison" />
                                    <xs:enumeration value="ComputationItem" />
                                    <xs:enumeration value="Concept" />
                                    <xs:enumeration value="ConceptGroup" />
                                    <xs:enumeration value="ConceptScheme" />
                                    <xs:enumeration value="ConceptualComponent" />
                                    <xs:enumeration value="ConceptualVariable" />
                                    <xs:enumeration value="ConceptualVariableGroup" />
                                    <xs:enumeration value="ConceptualVariableScheme" />
                                    <xs:enumeration value="ContentReviewActivity" />
                                    <xs:enumeration value="ControlConstructGroup" />
                                    <xs:enumeration value="ControlConstructScheme" />
                                    <xs:enumeration value="DDIInstance" />
                                    <xs:enumeration value="DDIProfile" />
                                    <xs:enumeration value="DataCaptureDevelopment" />
                                    <xs:enumeration value="DataCollection" />
                                    <xs:enumeration value="DataRelationship" />
                                    <xs:enumeration value="DataSet" />
                                    <xs:enumeration value="DevelopmentActivityGroup" />
                                    <xs:enumeration value="DevelopmentActivityScheme" />
                                    <xs:enumeration value="DevelopmentImplementation" />
                                    <xs:enumeration value="DevelopmentPlan" />
                                    <xs:enumeration value="DevelopmentResults" />
                                    <xs:enumeration value="DevelopmentStep" />
                                    <xs:enumeration value="FocusGroupActivity" />
                                    <xs:enumeration value="GeneralInstruction" />
                                    <xs:enumeration value="GenerationInstruction" />
                                    <xs:enumeration value="GenericMap" />
                                    <xs:enumeration value="GeographicLocation" />
                                    <xs:enumeration value="GeographicLocationGroup" />
                                    <xs:enumeration value="GeographicLocationScheme" />
                                    <xs:enumeration value="GeographicStructure" />
                                    <xs:enumeration value="GeographicStructureGroup" />
                                    <xs:enumeration value="GeographicStructureScheme" />
                                    <xs:enumeration value="Group" />
                                    <xs:enumeration value="IfThenElse" />
                                    <xs:enumeration value="InLineNCubeRecordLayout" />
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="InformationClassification" />
                                    <xs:enumeration value="Instruction" />
                                    <xs:enumeration value="InstructionGroup" />
                                    <xs:enumeration value="Instrument" />
                                    <xs:enumeration value="InstrumentGroup" />
                                    <xs:enumeration value="InstrumentScheme" />
                                    <xs:enumeration value="InterviewerInstructionScheme" />
                                    <xs:enumeration value="LocalHoldingPackage" />
                                    <xs:enumeration value="LogicalProduct" />
                                    <xs:enumeration value="Loop" />
                                    <xs:enumeration value="ManagedCategoryRepresentation" />
                                    <xs:enumeration value="ManagedCodeRepresentation" />
                                    <xs:enumeration value="ManagedDateTimeRepresentation" />
                                    <xs:enumeration value="ManagedDistributionRepresentation" />
                                    <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                    <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                    <xs:enumeration value="ManagedGeographicRepresentation" />
                                    <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                    <xs:enumeration value="ManagedLocationRepresentation" />
                                    <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                    <xs:enumeration value="ManagedNominalRepresentation" />
                                    <xs:enumeration value="ManagedNumericRepresentation" />
                                    <xs:enumeration value="ManagedRankingRepresentation" />
                                    <xs:enumeration value="ManagedRepresentationGroup" />
                                    <xs:enumeration value="ManagedRepresentationScheme" />
                                    <xs:enumeration value="ManagedScaleRepresentation" />
                                    <xs:enumeration value="ManagedTextRepresentation" />
                                    <xs:enumeration value="MeasurementConstruct" />
                                    <xs:enumeration value="MeasurementGroup" />
                                    <xs:enumeration value="MeasurementItem" />
                                    <xs:enumeration value="MeasurementScheme" />
                                    <xs:enumeration value="Methodology" />
                                    <xs:enumeration value="NCube" />
                                    <xs:enumeration value="NCubeGroup" />
                                    <xs:enumeration value="NCubeInstance" />
                                    <xs:enumeration value="NCubeInstanceI" />
                                    <xs:enumeration value="NCubeInstanceT" />
                                    <xs:enumeration value="NCubeScheme" />
                                    <xs:enumeration value="Organization" />
                                    <xs:enumeration value="OrganizationGroup" />
                                    <xs:enumeration value="OrganizationScheme" />
                                    <xs:enumeration value="OtherMaterial" />
                                    <xs:enumeration value="OtherMaterialGroup" />
                                    <xs:enumeration value="OtherMaterialScheme" />
                                    <xs:enumeration value="PhysicalDataProduct" />
                                    <xs:enumeration value="PhysicalInstance" />
                                    <xs:enumeration value="PhysicalInstanceGroup" />
                                    <xs:enumeration value="PhysicalStructure" />
                                    <xs:enumeration value="PhysicalStructureGroup" />
                                    <xs:enumeration value="PhysicalStructureScheme" />
                                    <xs:enumeration value="Population" />
                                    <xs:enumeration value="PopulationGroup" />
                                    <xs:enumeration value="PopulationScheme" />
                                    <xs:enumeration value="PretestActivity" />
                                    <xs:enumeration value="ProcessingEvent" />
                                    <xs:enumeration value="ProcessingEventGroup" />
                                    <xs:enumeration value="ProcessingEventScheme" />
                                    <xs:enumeration value="ProcessingInstructionGroup" />
                                    <xs:enumeration value="ProcessingInstructionScheme" />
                                    <xs:enumeration value="ProprietaryRecordLayout" />
                                    <xs:enumeration value="QualityScheme" />
                                    <xs:enumeration value="QualityStandard" />
                                    <xs:enumeration value="QualityStandardGroup" />
                                    <xs:enumeration value="QualityStatement" />
                                    <xs:enumeration value="QualityStatementGroup" />
                                    <xs:enumeration value="QuestionBlock" />
                                    <xs:enumeration value="QuestionConstruct" />
                                    <xs:enumeration value="QuestionGrid" />
                                    <xs:enumeration value="QuestionGroup" />
                                    <xs:enumeration value="QuestionItem" />
                                    <xs:enumeration value="QuestionScheme" />
                                    <xs:enumeration value="RecordLayout" />
                                    <xs:enumeration value="RecordLayoutGroup" />
                                    <xs:enumeration value="RecordLayoutScheme" />
                                    <xs:enumeration value="Relation" />
                                    <xs:enumeration value="RepeatUntil" />
                                    <xs:enumeration value="RepeatWhile" />
                                    <xs:enumeration value="RepresentationMap" />
                                    <xs:enumeration value="RepresentedVariable" />
                                    <xs:enumeration value="RepresentedVariableGroup" />
                                    <xs:enumeration value="RepresentedVariableScheme" />
                                    <xs:enumeration value="ResourcePackage" />
                                    <xs:enumeration value="Sample" />
                                    <xs:enumeration value="SampleFrame" />
                                    <xs:enumeration value="SampleStep" />
                                    <xs:enumeration value="SamplingInformationGroup" />
                                    <xs:enumeration value="SamplingInformationScheme" />
                                    <xs:enumeration value="SamplingPlan" />
                                    <xs:enumeration value="SamplingStage" />
                                    <xs:enumeration value="Sequence" />
                                    <xs:enumeration value="Split" />
                                    <xs:enumeration value="SplitJoin" />
                                    <xs:enumeration value="StatementItem" />
                                    <xs:enumeration value="StatisticalClassification" />
                                    <xs:enumeration value="StudyUnit" />
                                    <xs:enumeration value="SubUniverseClass" />
                                    <xs:enumeration value="TabularNCubeRecordLayout" />
                                    <xs:enumeration value="TranslationActivity" />
                                    <xs:enumeration value="UnitType" />
                                    <xs:enumeration value="UnitTypeGroup" />
                                    <xs:enumeration value="UnitTypeScheme" />
                                    <xs:enumeration value="Universe" />
                                    <xs:enumeration value="UniverseGroup" />
                                    <xs:enumeration value="UniverseScheme" />
                                    <xs:enumeration value="Variable" />
                                    <xs:enumeration value="VariableGroup" />
                                    <xs:enumeration value="VariableScheme" />
                                    <xs:enumeration value="VariableStatistics" />
                                    <xs:enumeration value="Weighting" />
                                    <xs:enumeration value="WeightingMethodology" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="BasedOnRationaleDescription" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Textual description of the rationale/purpose for the based on reference to inform users as to the extent and implication of the version change.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="BasedOnRationaleCode" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">RationaleCode is primarily for internal processing flags within an organization or system. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="BasicIncrementType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the start, end, and increment value for an incremental string (numeric, character, or length).</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="Increment" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The size of the increment in units (number of characters, length, number of units).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="StartValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The starting value or beginning point of the increment string.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="EndValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The ending value or end point of the increment string.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="BibliographicNameType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Personal names should be listed surname or family name first, followed by forename or given name. When in doubt, give the name as it appears, and do not invert. In the case of organizations where there is clearly a hierarchy present, list the parts of the hierarchy from largest to smallest, separated by full stops and a space. If it is not clear whether there is a hierarchy present, or unclear which is the larger or smaller portion of the body, give the name as it appears in the item. The name may be provided in one or more languages.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Name" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Full name of the individual or organization.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Affiliation" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The affiliation of this person to an organization. This is generally an organization or sub-organization name and should be related to the specific role within which the individual is being listed.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="BindingType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A structure used to bind the content of a parameter declared as the source to a parameter declared as the target. For example, binding the output of a question to the input of a generation instruction. Question A has an OutParameter X. Generation Instruction has an InParameter Y used in the recode instruction. Binding defines the content of InParameter Y to be whatever is provided by OutParameter X for use in the calculation of the recode.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SourceParameterReference" type="ddi:ParameterType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A structure used to bind the content of a parameter declared as the source to a parameter declared as the target. For example, binding the output of a question to the input of a generation instruction. Question A has an OutParameter X. Generation Instruction has an InParameter Y used in the recode instruction. Binding defines the content of InParameter Y to be whatever is provided by OutParameter X for use in the calculation of the recode.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TargetParameterReference" type="ddi:ParameterType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A structure used to bind the content of a parameter declared as the source to a parameter declared as the target. For example, binding the output of a question to the input of a generation instruction. Question A has an OutParameter X. Generation Instruction has an InParameter Y used in the recode instruction. Binding defines the content of InParameter Y to be whatever is provided by OutParameter X for use in the calculation of the recode.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="BoundingBoxType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Set of north, south, east, west coordinates defining a rectangle that encompasses the full extent of geographic coverage.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="WestLongitude">
                <xs:annotation>
                    <xs:documentation xml:lang="en">West longitude of the bounding box. (xmin)</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:decimal">
                        <xs:minInclusive value="-180" />
                        <xs:maxInclusive value="180" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="EastLongitude">
                <xs:annotation>
                    <xs:documentation xml:lang="en">East longitude of the bounding box. (xmax)</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:decimal">
                        <xs:minInclusive value="-180" />
                        <xs:maxInclusive value="180" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="SouthLatitude">
                <xs:annotation>
                    <xs:documentation xml:lang="en">South latitude of the bounding box. (ymin)</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:decimal">
                        <xs:minInclusive value="-90" />
                        <xs:maxInclusive value="90" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="NorthLatitude">
                <xs:annotation>
                    <xs:documentation xml:lang="en">North latitude of the bounding box. (ymax)</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:decimal">
                        <xs:minInclusive value="-90" />
                        <xs:maxInclusive value="90" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="BudgetDocumentType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Description and link to the Budget Document using the DDI Other Material structure.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OtherMaterialReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description and link to the BudgetDocument using the DDI Other Material structure.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="OtherMaterial" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="BudgetType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A description of the budget for any of the main publication types that can contain a reference to an external budget document.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the overall budget of the project.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="BudgetDocument" type="ddi:BudgetDocumentType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">References to one or more external budget documents.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CaseIdentificationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the information needed to identify an individual case within a record type. This may be the variable or concatenated variable used to identify a unique case of a particular record type. Often referred to as a unique key. There may be more than one means of identifying a record. For example a US Census Summary File has a LogicalRecordIdentifer that is unique to the original file within which it was published. A specific geography has a set of fields that uniquely identify it.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="FixedIdentifier" type="ddi:FixedIdentifierType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the variable containing the unique identifier. This may be a concatenated variable which indicates the combination of variable required to create a unique identification. If more than one variable reference is included the combination of the variable field contents must be unique and all variables are required for case identification.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ConditionalIdentifier" type="ddi:ConditionalIdentifierType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the information needed to identify a specific record or case within a record type. Repeating the field allows multiple means of identifying a case referencing multiple variables.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsPrimary" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates whether the case identifier is the primary key.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CaseLawType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Refers to a case law ruling related to the Classification Item. </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="CaseLawName" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Case Law Name.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the case law.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CaseLawDate" type="ddi:cogsDate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Date of the case law ruling.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CaseSpecificationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Case specification allows different unique identifiers to be used based on the value of an identified variable. In some cases the value of a variable (such as a geographic level) results in a different set of variables required to identify a unique case. Case specification is used to capture these combinations. For example: a file containing State, County, and Place records. The unique identifier for a State requires a combination of GeoLevel=State and the variable STATE. Place would require a combination of GeoLevel=Place and the variables STATE and PLACE.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="ConditionalVariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">References the variable containing the conditional content, provides the value of the condition.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ConditionalVariableValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use to specify the value of variable for which this is a case specification (i.e., GeoLevel in the example for Case Specification).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="unbounded" name="VariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The variables required to provide a unique identification when the conditional variable contains the stated value.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategoryDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A response domain capturing a category (without an attached code) response for a question item. Includes standard response domain elements; OutParameter, designation of response cardinality, and a declaration of an offset date for the data content, as well as a CategoryRepresentationBase.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:CategoryRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the response to be bound to one of the QuestionItem's OutParameters, so the collected information can be used elsewhere, for example as inputs to subsequent questions in an Instrument or to a GenerationInstruction. If multiple responses are possible, this would represent and ordered array of the responses.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this response domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CategoryRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a representation based on categorization. The CategorySchemeReference allows for the exclusion of selected items from the use of the CategoryScheme as a representation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="CategorySchemeReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a CategoryScheme containing the required categories using the SchemeReference structure. Use Exclude in the SchemeReference to designate any categories NOT to include in this representation.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CategoryScheme" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CategoryStatisticType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The value of a statistic associated with the category value.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfCategoryStatistic" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Type of category statistic. Supports the use of an external controlled vocabulary. DDI strongly recommends the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Statistic" type="ddi:StatisticType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value (expressed as a decimal) of the statistics and whether it is weighted and/or includes missing values.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StatisticDouble" type="ddi:StatisticDoubleType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value (expressed as a double) of the statistics and whether it is weighted and/or includes missing values.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategoryValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A category value for which one or more statistics are recorded. Each VariableCategory has one category value and any number of associated statistics.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CodeReference" type="ddi:CodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the coded value of the category as used by a CodeRepresentation.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Value" type="ddi:ValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value of the category.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CellCoordinatesAsDefinedType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines one or more cells by defining the applicable values of each dimension as "all values", a "specific value" or a range. For example in a simple 2 dimensional grid where dimension rank-1 is displayed as rows and dimension rank-2 as columns and the first column contains a NumericDomain; SelectDimension rank="1" allValues="true" and SelectDimension rank="2" specificValue="1" would result in the NumericDomain being attached to the first column of the grid only.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SelectDimension" type="ddi:SelectDimensionType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">For each dimension in the grid define the applicable values as "all values", a "specific value" or a range. If a rangeMinimum or rangeMaximum is provided without the other, the assumption is unbounded for the object not included.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CellLabelType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provide a label to be included inside of a grid cell and defines the cell or cells that contain it.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A label to be included inside of a grid cell.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GridAttachment" type="ddi:GridAttachmentType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the cell or cells in a grid to which the label is attached by a reference to a specific cell coordinate in a grid or by identifying a range of values along a dimension.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CharacterParameterType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Specification of the character offset for the beginning and end of the segment.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="StartCharOffset" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Number of characters from beginning of the document, indicating the inclusive start of the text range.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="EndCharOffset" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Number of characters from the beginning of the document, indicating the inclusive end of the text segment.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CitationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides bibliographic citation information for a DDI instance, a group of studies, a study unit, or a physical instance. Note that a native DDI citation is required - the citation information may be repeated using DCElements if desired, but a citation must not consist only of DCElements.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Title" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Full authoritative title. List any additional titles for this item as AlternativeTitle.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="SubTitle" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Secondary or explanatory title.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="AlternateTitle" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An alternative title by which a data collection is commonly referred, or an abbreviation  for the title.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Creator" type="ddi:CreatorType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Person, corporate body, or agency responsible for the substantive and intellectual content of the described object.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Publisher" type="ddi:PublisherType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Person or organization responsible for making the resource available in its present form.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Contributor" type="ddi:ContributorType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The name of a contributing author or creator, who worked in support of the primary creator given above.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="PublicationDate" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The date of publication.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Language" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Language of the intellectual content of the described object. Strongly recommend the use of language codes supported by xs:language which include the 2 and 3 character and extended structures defined by RFC4646 or its successors.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InternationalIdentifier" type="ddi:InternationalIdentifierType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An identifier whose scope of uniqueness is broader than the local archive. Common forms of an international identifier are ISBN, ISSN, DOI or similar designator.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Copyright" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The copyright statement.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreAbstract" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A summary of the content of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreAccessRights" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Information about who can access the resource or its content.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreAccrualMethod" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The method by which items are added to a collection.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreAccrualPeriodicity" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The frequency at which items are added to a collection.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreAccrualPolicy" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The policy governing the addition of items to a collection.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreAlternative" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An alternative name for the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreAudience" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A group of users for whom the resource is intended.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreAvailable" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The date the resource became or will become available.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreBibliographicCitation" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A bibliographic reference for the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreConformsTo" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a standard to which the resource conforms.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreContributor" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An entity responsible for making contributions to the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreCoverage" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The spatial or temporal topic of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreCreated" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The date the resource was created.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreCreator" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An entity primarily responsible for making the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreDate" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A point or period of time associated with the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreDateAccepted" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The date the resource was accepted.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreDateCopyrighted" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The date the resource was copyrighted.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreDateSubmitted" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The date the resource was submitted.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreDescription" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An account of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreEducationLevel" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The level of education audience the resource is intended for.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreExtent" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The size or duration of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreFormat" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The file format, physical medium, or dimensions of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreHasFormat" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource that is a format of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreHasPart" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource that is a part of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreHasVersion" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource that is a version, edition, or adaptation of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreIdentifier" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An unambiguous reference to the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreInstructionalMethod" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The method of learning provided by the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreIsFormatOf" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource that is a format of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreIsPartOf" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource in which the described resource is a part.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreIsReferencedBy" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource that references the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreIsReplacedBy" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource that supplants or displaces the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreIsRequiredBy" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource that requires the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreIsVersionOf" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource that is a version, edition, or adaptation of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreIssued" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The date the resource was issued.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreLanguage" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The language of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreLicense" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Information about rights held in and over the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreMediator" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An entity that mediates access to the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreMedium" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The material or physical carrier of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreModified" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The date the resource was last modified.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreProvenance" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A statement of any changes in ownership and custody of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCorePublisher" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An entity responsible for making the resource available.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreReferences" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource that is referenced by the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreRelation" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreReplaces" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource that is supplanted or displaced by the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreRequires" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource that is required by the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreRights" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Information about rights held in and over the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreRightsHolder" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A person or organization owning or managing rights over the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreSource" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A related resource from which the present resource is derived.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreSpatial" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The spatial characteristics of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreSubject" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The topic of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreTableOfContents" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A list of subunits of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreTemporal" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The temporal characteristics of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreTitle" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The name given to the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreType" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The nature or genre of the resource.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="DublinCoreValid" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The date the resource will be or was valid.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ClassificationIndexEntryType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Classification Index Entry is a word or a short text (e.g. the name of a locality, an economic activity or an occupational title) describing a type of object/unit or object property to which a Classification Item applies, together with the code of the corresponding Classification Item. Each Classification Index Entry typically refers to one item of the Statistical Classification. Although a Classification Index Entry may be associated with a Classification Item at any Level of a Statistical Classification, Classification Index Entries are normally associated with Classification Items at the lowest Level.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="EntryText" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Text describing the type of object/unit or object property. Supports the use of multiple languages.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CodesClassificationItemReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The Classification Item with which the Classification Index Entry is associated. TypeOfObject should be set to ClassificationItem.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ClassificationItem" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ValidFrom" type="ddi:cogsDate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Date from which the Classification Index Entry became valid. The date must be defined if the Classification Index Entry belongs to a floating Classification Index.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ValidTo" type="ddi:cogsDate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Date at which the Classification Index Entry became invalid. The date must be defined if the Classification Index Entry belongs to a floating Classification Index and is no longer valid.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="CodingInstructions" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Additional information which drives the coding process. Required when coding is dependent upon one or many other factors.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ClassificationMapType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A Map is an expression of the relation between a Classification Item in a source Statistical Classification and a corresponding Classification Item in the target Statistical Classification. The Map should specify whether the relationship between the two Classification Items is partial or complete. Depending on the relationship type of the Correspondence Table, there may be several Maps for a single source or target Classification Item. </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="SourceClassificationItemReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The source item refers to the Classification Item in the source Statistical Classification. TypeOfObject should be set to ClassificationItem.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ClassificationItem" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="TargetClassificationItemReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The target item refers to the Classification Item in the target Statistical Classification. TypeOfObject should be set to ClassificationItem.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ClassificationItem" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsComplete" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies whether the relationship between the two Classification Items is partial or complete.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ValidFrom" type="ddi:cogsDate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Date from which the Map became valid. The date must be defined if the Map belongs to a floating Correspondence Table.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ValidTo" type="ddi:cogsDate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Date at which the Map became invalid. The date must be defined if the Map belongs to a floating Correspondence Table and is no longer valid.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CodeDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A response domain capturing a coded response (where both codes and their related category value are displayed) for a question. Includes standard response domain elements; OutParameter, designation of response cardinality, and a declaration of an offset date for the data content. Contains the equivalent content of a CodeRepresentation including a reference to the CodeList used and the ability to limit the use of the CodeList to specific CodeList levels, ranges, or values. Adds a set of elements available to all Response Domains; Label, Description, OutParameter, designation of response cardinality, and a declaration of an offset date for the data content. CodeDomains cannot be included by reference. CodeDomain does not have an equivalent managed representation as the CodeList itself is a managed object. CodeDomains must be entered in-line.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:CodeRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the response to be bound to one of the QuestionItem's OutParameters, so the collected information can be used elsewhere, for example as inputs to subsequent questions in an Instrument or to a GenerationInstruction. If multiple responses are possible, this would represent and ordered array of the responses.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this response domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DisplayCode" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" (default value) the code value associated with the category label will be displayed. Set to "false" if only the category label should not be displayed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CodeRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the use of all or part of a CodeList as a representation used by a question response domain or variable value representation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="CodeListReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the CodeList included in this representation using the Reference structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="CodeList" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="StatisticalClassificationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the StatisticalClassification included in this representation using the Reference structure.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="StatisticalClassification" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CodeSubsetInformation" type="ddi:CodeSubsetInformationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows further specification of the codes to use from the CodeList by defining the level or only the most discrete codes of a hierarchical CodeList, the range of codes to use, or an itemized sub-set.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CodeSubsetInformationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows further specification of the codes to use from the CodeList by defining the level or only the most discrete codes of a hierarchical CodeList, the range of codes to use, or an itemized sub-set.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="IncludedLevel" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the specific level to include using the levelNumber. Repeat if more than one level is included.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IncludedCode" type="ddi:IncludedCodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the codes to include in the representation.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DataExistence" type="ddi:DataExistenceType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use when only the lowest, most discrete codes in the CodeList will be expressed as valid values. Identifies those levels of a CodeList with a regular hierarchy or those indicates discrete codes within an irregular hierarchy. All other codes will be used as labels within the hierarchy to clearly express content, but will not be valid as a response or representation value.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CodeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A structure that links a unique value of a code to a specified category and provides information as to the location of the code within a hierarchy, whether it is discrete, represents a total for the CodeList contents, and if its sub-elements represent a comprehensive coverage of the code. The Code is identifiable, but the value within the code must also be unique within the CodeList.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="CategoryReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the category that the code value represents.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Category" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Value" type="ddi:ValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The value of the code. In a microdata file this would be the value found in the data file. If used as the description of an NCube dimension the value provides the coordinate value for that dimension. Note that r:Value has an attribute xml:space with the default value of "default". If white space is critical to the understanding of this code value (such as critical leading or tailing spaces, or multiple spaces within the code) change the value of xml:space to "preserve".</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Code" type="ddi:CodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for nesting of codes.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsDiscrete" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates whether the code is discrete (that is, placed at the lowest level in a hierarchy and has no children).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="LevelNumber" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Level number of the code.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsComprehensive">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Used in hierarchical structures at upper level values to indicate whether or not the subelements of the code are comprehensive in coverage. Not applicable if attribute isDiscrete is set to "true".</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="True" />
                                <xs:enumeration value="False" />
                                <xs:enumeration value="Unknown" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsTotal" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This expresses a total whether or not isComprehensive is true. If isComprehensive = "true" then if addition is supported by the measure type, the contained categories can be aggregated to calculate the total. If isComprehensive = "false" or "unknown" the content of this field cannot be calculated if the value is not provided in the data.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CodeValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows for string content which may be taken from an externally maintained controlled vocabulary (code value). If the content is from a controlled vocabulary provide the code value, as well as a reference to the controlled vocabulary from which the value is taken. Provide as many of the identifying attributes as needed to adequately identify the controlled vocabulary. Note that DDI has published a number of controlled vocabularies applicable to several locations using the CodeValue structure. Use of shared controlled vocabularies helps support interoperability and machine actionability.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="StringValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The code term as it appears in the controlled vocabulary</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="OtherValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If the value of the string is "Other" or the equivalent from the controlled vocabulary, this attribute can provide a more specific value not found in the controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ControlledVocabularyCodeListReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A DDI CodeList representation of the controlled vocabulary that the content was taken from.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="CodeList" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ControlledVocabularyURI" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the URI location for the full controlled vocabulary, usually represented in an RDF SKOS or XKOS representation.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ControlledVocabularyInstanceURI" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the identification URI of the term/code within the controlled vocabulary if available.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CohortType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines the included values of a dimension by means of individual value references or by defining a range of values to include. Allows the included values to be identified by reference to the Code, the Category used by the Code, or the Value of the Code (which by definition should be unique). The dimension is identified by its rank value.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoryReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the Category represented by the Value of the Code assigned in a CodeList. Repeat for including multiple values.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Category" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CodeReference" type="ddi:CodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the Code within the CodeList used by the variable describing the dimension. Repeat for including multiple values.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Range" type="ddi:RangeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use when multiple values are included. This uses the unique Value provided for the Code as a means of identification. Provides the range of Values for this dimension that are within the area being defined. Repeat for non-contiguous values.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Rank" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identify the dimension being described by its rank value within the NCube description.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CollectionEventType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Information on a specific data collection event including details on who was involved in data collection, the source of the data, the date and frequency of collection, mode of collection, identification of the instrument used for collection, information on the actual situation under which data was collected, actions taken to minimize loss of data, and reference to a quality standard or statement regarding the handling of the data collection process during this event.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CollectionEventName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Collection Event.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the Collection Event.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the Collection Event.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="DataCollectorOrganizationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an organization or individual, defined in the organization scheme, responsible for the data collection.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DataSource" type="ddi:DataSourceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a source of the data.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DataCollectionDate" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a date or range of dates for the described data collection event as well as  a cycle number when the collection is part of a series of data collection events.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DataCollectionFrequency" type="ddi:DataCollectionFrequencyType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Documents the intended frequency of data collection, for example monthly, yearly, weekly, etc., preferably using an optional controlled vocabulary in the IntendedFrequency element. Date of first collection should be provided in StartDate as a basis for defining periodicity. EndDate should be entered for data collection cycles with a known or anticipated end date. EndDate is omitted in data collection series that are intended to be on-going.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ModeOfCollection" type="ddi:ModeOfCollectionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the mode of data collection.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References the instrument or instruments used during the process of collecting data for this collection event period.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Instrument" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CollectionSituation" type="ddi:CollectionSituationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the situation in which the data collection event takes place. If a number of collection situation types occurred repeat this element.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ActionToMinimizeLosses" type="ddi:ActionToMinimizeLossesType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes action taken to minimize loss of data from the collection event.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="QualityStatementReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to a Quality Statement pertaining to the quality of the study methodology, metadata, or data to which it is associated. Quality statements may be related to external quality standards.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="QualityStatement" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="SampleReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References the Sample used by this CollectionEvent. TypeOfObject should be Sample.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Sample" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CollectionSituationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the situation in which the data collection event takes place.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfCollectionSituation" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows brief identification of collection situation with the option of using a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Full description of the collection situation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CollectionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a collection of items held or distributed by the archive in connection with a study, group of studies, or resource packages. What constitutes an collection is determined by the archive. These may be data file(s) in a variety of formats, statistical setups, codebooks, questionnaires, etc. A collection may also be a group of studies, groups, and/or resource packages.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Citation" type="ddi:CitationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A citation for the collection. May additionally be rendered in native qualified Dublin Core (dc and dcterms).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="LocationInArchive" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the location of the collection within the archive.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CallNumber" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The name, code, or number used by the archive to uniquely identify the collection within the archive.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="URI" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The URL or URN for the collection.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ItemQuantity" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The number of items in the collection. This is a check sum and should be updated as the contents of the collection changes. The use of this element is best restricted to completed collections where change in the number of objects is not dynamic.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StudyClass" type="ddi:StudyClassType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An archive specific classification for the collection. This may be a topical classification, a classification of intended processing levels, or information on the processing status.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DefaultAccess" type="ddi:AccessType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Default access restriction information applying to all of the items in the collection.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="OriginalArchiveOrganizationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The original archive for the described collection, expressed as a reference to an organization listed in the organization scheme.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="AvailabilityStatus" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A statement of availability for the object. This is a positive statement (as opposed to access restrictions) which may be used for publication or other purposes.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DataFileQuantity" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The number of data files in the described collection, expressed as an integer. This is a check sum and should be updated as the contents of the collection changes. The use of this element is best restricted to completed collections where change in the number of objects is not dynamic.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="CollectionCompleteness" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the completeness of the collection for the item and its related data files and sub-items. Note coverage gaps as well as unique content . This statement may be used for publication or other purposes.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Item" type="ddi:ItemType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows for the nesting of Item descriptions with a collection.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Collection" type="ddi:CollectionType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows for the nesting of collection descriptions with a collection hierarchical groupings within a collection description.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CommandCodeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains information on the command used for processing data. Contains a description of the command which should clarify for the user the purpose and process of the command, an in-line provision of the command itself, a reference to an external version of the command such as a coding script, and the option for attaching an extension to DDI to permit insertion of a command code in a foreign namespace. Both Command and CommandFile may be repeated to provide command information in additional programming languages. Multiple Command and CommandFile contents are differentiated by the content of the contained element ProgramLanguage.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the purpose and use of the command code provided.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Command" type="ddi:CommandType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is an in-line provision of the command itself.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CommandFile" type="ddi:CommandFileType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies and provides a link to an external copy of the command, for example, a SAS Command Code script.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CommandFileType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies and provides a link to an external copy of the command, for example, a SAS Command Code script. Designates the programming language of the command file, designates input and output parameters, binding information between input and output parameters, a description of the location of the file , and a URN or URL for the command file.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ProgramLanguage" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Designates the programming language used for the command. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InParameter" type="ddi:InParameterType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the information used by the command as it is identified within the command structure. Use of the Alias may be needed to tie the designated input parameter content to its use in the external command file.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the information that results from the command that may be used as input by another object. Use of the Alias may be needed to tie the designated output parameter content to its use in the external command file.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Binding" type="ddi:BindingType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines the link between the output of an external object to an InParameter described above.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Location" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the location of the file. This may not be machine actionable.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="URI" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The URL or URN of the command file.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CommandType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides the following information on the command: The content of the command, the programming language used, the pieces of information (InParameters) used by the command, the pieces of information created by the command (OutParameters) and the source of the information used by the InParameters (Binding).</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ProgramLanguage" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Designates the programming language used for the command. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InParameter" type="ddi:InParameterType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the information used by the command as it is identified within the command structure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the information that results from the command that may be used as input by another object.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Binding" type="ddi:BindingType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines the link between the output of an external object to an InParameter described above.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CommandContent" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Content of the command itself expressed in the language designated in Programming Language.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ComplianceDefinitionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides a list of quality concepts in the quality standard.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="ComplianceConceptReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a concept which relates to an area of coverage of the standard.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Concept" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ExternalComplianceCode" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specification of a code which relates to an area of coverage of the standard. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="ComplianceRequirements" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies what is required to be seen as in compliance with the Standard. Note minimum requirements for various levels of compliance. </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ComplianceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows for a quality statement based on frameworks to be described using itemized properties. A reference to a concept, a coded value, or both can be used to specify the property from the standard framework identified in StandardUsed. ComplianceDescription can provide further details or a general description of compliance with a standard.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="ComplianceConceptReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a concept which relates to an area of coverage of the standard.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Concept" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ExternalComplianceCode" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specification of a code which relates to an area of coverage of the standard. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="ComplianceDescription" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describe the measures taken to comply with the standards and/or specific levels of compliance by providing further details or a general description of compliance with the standard.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConcatenatedValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Lists the variables whose values when concatenated result in the value for this variable.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="2" maxOccurs="unbounded" name="VariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the variables whose values are concatenated to form the concatenated variable. Note that the order of these variables determines the order of concatenation.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConditionalIdentifierType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the information needed to identify a specific record or case within a record type. Repeating the field allows multiple means of identifying a case referencing multiple variables.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CaseSpecification" type="ddi:CaseSpecificationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Case specification allows different unique identifiers to be used based on the value of an identified variable. In some cases the value of a variable (such as a geographic level) results in a different set of variables required to identify a unique case. Case specification is used to capture these combinations. For example: a file containing State, County, and Place records. The unique identifier for a State requires a combination of GeoLevel=State and the variable STATE. Place would require a combination of GeoLevel=Place and the variables STATE and PLACE.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConditionalResultType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The text resulting from the conditional command. Supports structured content and the insertion of content by a source parameter. For example if a language has gender specific verb structures the result of an IfCondition may result in a text using female verb structures and inserting the female's name at a specific point.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Text" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value of the static text string to use if condition is true.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SourceParameterReference" type="ddi:ParameterType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This allows for the simple insert of a piece of information from another specified parameter. For example, if the text of the item using conditional text included the respondent’s name use SourceParameterReference to reference the InParameter of the question that is bound to the OutParameter of the question: "What is your name?"</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConditionalTextType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Text which has a changeable value depending on a stated condition, response to earlier questions, or as input from a set of metrics (pre-supplied data).</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:TextContentType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Expression" type="ddi:CommandCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The condition on which the associated text varies expressed by a command code. For example, a command that inserts an age by calculating the difference between today’s date and a previously defined date of birth. Use InParameter and OutParameter of parent class to associate Parameters to Alias values in command code.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IfThenElseText" type="ddi:IfThenElseTextType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The condition on which the associated text varies expressed by an IfThenElse decision tree. For example, If MEMBER = 1, Then = [ConditionalResult singular], ElseIf MEMBER &gt; 1, Then = [ConditionalResult plural].  Use InParameter and OutParameter of parent class to associate Parameters to Alias values in the IfCondition.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SourceParameterReference" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This allows for the simple insert of a piece of information from another specified parameter. For example, if the text of the item using conditional text included the respondent’s name use SourceParameterReference to reference the InParameter of the question that is bound to the OutParameter of the question: "What is your name?"</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ContactInformationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contact information for the individual or organization including location specification, address, URL, phone numbers, and other means of communication access. Address, location, telephone, and other means of communication can be repeated to express multiple means of a single type or change over time. Each major piece of contact information (with exception of URL contains the element EffectiveDates in order to date stamp the period for which the information is valid.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="LocationName" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Location name.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Address" type="ddi:AddressType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Location address identifying each part of the address as separate elements.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Telephone" type="ddi:TelephoneType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Telephone number for the location</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="URL" type="ddi:URLType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">URL for the location's website.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Email" type="ddi:EmailType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Generic email address for the location</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InstantMessaging" type="ddi:InstantMessagingType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Instant Messaging identification for the location</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RegionalCoverage" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The geographic region for which this location operates. For example, the Kansas City office of the United States Bureau of the Census has responsibility for a region covering a number of states.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfLocation" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Type of location e.g. home, primary office, alternate office etc.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Privacy">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A basic set of privacy codes for the parent element. These may be stricter than the general access restrictions for the overall metadata. If available codes are insufficient this may also contain any string.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="public" />
                        <xs:enumeration value="restricted" />
                        <xs:enumeration value="private" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ContentDateOffsetType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago. A value of true for the attribute isNegativeOffset indicates that the offset is the specified number of declared units prior to the date of the data as a whole and false indicates information regarding a future state.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:CodeValueType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="NumberOfUnits" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The number of units to off-set the date for this item expressed as a decimal.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsNegativeOffset" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" the date is offset the number of units specified PRIOR to the default date of the data. A setting of "false" indicates a date the specified number of units in the FUTURE from the default date of the data.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ContentLinkingMapType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a stack of links from the LocalAddedContent to the Depository content and provides instructions regarding the relationship between the local added content and the deposited content.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="LinkingMap" type="ddi:LinkingMapType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provides a link from a local object to a deposited object via reference and designates if the added material should Override, act as AddedContent, or DeleteContent in the original deposited material.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ContributorType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Holds the name of the contributor, their role, and optional reference to the contributor as described within a DDI Organization scheme. Repeat this element for multiple creators.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContributorName" type="ddi:BibliographicNameType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Full name of the contributor. Language equivalents should be expressed within the International String structure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ContributorRole" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The role of the contributor. Language equivalents should be expressed within the International String structure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ContributorReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a contributor as described within a DDI Organization Scheme.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CoordinatePairsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Field to capture coordinate pairs as individual pairs or as an array of pairs.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:TextDomainType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="MaxArray" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The maximum number of coordinate pairs listed in the array. The two values in a coordinate pair are separated by a comma. Pairs in an array are separated by the character indicated in the arraySeparator attribute. Default value is "1".</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ArraySeparator" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The character used to separate arrays, if present. If not given a value, and if the maxArray attribute has a value greater than one, the separator is assumed to be whitespace.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CoordinateRegionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines the area of attachment for an NCube attribute. It may be defined as the NCube as a whole or as certain dimensions or values of dimensions.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the CoordinateRegion.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the universe statement containing a description of the persons or other elements that this CoordinateRegion refers to, and to which any analytic results refer. If more than one universe is referenced the universe of the CoordinateRegion is the intersect of the referenced universes. Use when the CoordinateRegion describes a subset of the NCube universe.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Universe" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the population statement describing the persons or other elements that this CoordinateRegion and its analytic results refer to. If more than one population is referenced, the population of the CoordinateRegion is the intersection of the referenced populations. Use when the CoordinateRegion describes a subset of the NCube population.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Population" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content of the CoordinateRegion.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DimensionValue" type="ddi:CohortType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Defines the included set of values needed to describe the coordinate region of the NCube on a Dimension by Dimension basis.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CorrespondenceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the commonalities and differences between two items using a textual description of both commonalities and differences plus an optional coding of the type of commonality, a commonality expresses as a 0 to 1 weighting factor (expressing degree of comparability) and a user defined correspondence property which is specific to an organization or community of use.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Commonality" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Common features of the compared objects. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Difference" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the difference between the compared objects. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CommonalityTypeCoded" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A brief description describing the commonality of the two schemes/items, i.e., "Identical", "High", "Medium", "Low", "None". Supports the use of an external controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (CommonalityType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CommonalityWeight">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A value between 0 and 1 expressing the degree of commonality (0 indicates none, 1 indicates that they are identical).</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:float">
                        <xs:pattern value="[+-]?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))([eE][+-]?[0-9]+)?" />
                        <xs:minInclusive value="0" />
                        <xs:maxInclusive value="1" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="UserDefinedCorrespondenceProperty" type="ddi:StandardKeyValuePairType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An alternate means of expressing commonality within a specific system. A system specific user defined correspondence expressed as a key/value pair. As this is specific to an individual system the use of controlled vocabularies for the key is strongly recommended.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CostStructureType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Budget and funding information related to the development work.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Budget" type="ddi:BudgetType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description and/or reference to a related document providing budget information for the development activities</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="FundingInformation" type="ddi:FundingInformationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provides information about the agency and grant(s) which fund the development work.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CountryCodeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Use of a Controlled Vocabulary is strongly recommended. Use of ISO 3166 Country Codes (2 character, 3 character, or Numeric) is preferred with or without attribution to a specific controlled vocabulary. If using some other coding system it is important to cite the source as the assumption will generally be that ISO 3166 codes have been used. Allows for an optional effective date for the country code. This can effect the actual geographic coverage or related name.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:CodeValueType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="EffectiveDate" type="ddi:dateTime">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If it is important to specify the date that this code is effective in order to accurately capture a name or similar change, specify that here. This can effect the actual geographic coverage or related name.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CoverageType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the temporal, spatial and topical coverage. At the instance level these descriptions should be inclusive of the coverage of all modules in the instance. The element is available within individual modules and can be used to refine the coverage to that of the individual module.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TopicalCoverageReference" type="ddi:TopicalCoverageType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a previously defined topical coverage.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TopicalCoverage" type="ddi:TopicalCoverageType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the topical coverage of the data described in a particular DDI module.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SpatialCoverageReference" type="ddi:GeographicCoverageType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a previously defined spatial coverage.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SpatialCoverage" type="ddi:GeographicCoverageType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the geographic coverage of the data described in a particular DDI module.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TemporalCoverageReference" type="ddi:TemporalCoverageType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a previously defined temporal coverage.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TemporalCoverage" type="ddi:TemporalCoverageType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the temporal coverage of the data described in a particular DDI module.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RestrictionProcess" type="ddi:RestrictionProcessType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows for a specific machine actionable description of the restriction process using a GenerationInstructionReference, if one currently exists, or through a CommandCode. In the case of a physical instance, the RestrictionProcess would be the same as a case, record or variable selection process.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsRestrictionOfParentCoverage" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If the coverage described within this object is a restriction of the coverage of its parent study or group set this attribute to "true". If the coverage of a specific type (spatial, topical, or temporal) is not a restriction, include this coverage type by reference to that described in parent. Create a new coverage for the type being restricted.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CreateSummaryType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Note that this is generally usable only with single valid response domain in grid. More complex uses should be carefully documented using details in CommandCode and Input/output Parameters.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:CommandCodeType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Label for the summary type used.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CreatorType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Holds the name of the creator and/or a reference to the creator as described within a DDI Organization scheme. Repeat this element for multiple creators.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CreatorName" type="ddi:BibliographicNameType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Full name of the creator and affiliation. Language equivalents should be expressed within the International String structure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CreatorReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a creator as described within a DDI Organization Scheme.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DDIMaintenanceAgencyIDType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides the official DDI ID of a maintenance agency as a value taken from the registry cited in @registryID.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="StringValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="RegistryID" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Currently there is only a single DDI Agency Registry. Use "DDIAgencyRegistry".</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ActivationDate" type="ddi:dateTime">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The date when this agency ID was registered or become active.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataAppraisalInformationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the result of data appraisal activities as a response rate and sampling error. May also list additional appraisal processes taken as a result of the initial appraisal process.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ResponseRate" type="ddi:ResponseRateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A specific rate of response and/or a description of the rate of response for this event. If data contains multiple response rates for different portions of the data due to delivery method, identification of sub-populations or other reasons, repeat this element providing the specific response rate and a description of the sub-population, delivery method or other feature that was used in developing the specific rate.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="SamplingError" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the sampling error.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherAppraisalProcess" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of any other appraisal process used.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataCollectionFrequencyType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Documents the intended frequency of data collection, for example monthly, yearly, weekly, etc., preferably using an optional controlled vocabulary in the IntendedFrequency element. Date of first collection should be provided in StartDate as a basis for defining periodicity. EndDate should be entered for data collection cycles with a known or anticipated end date. EndDate is omitted in data collection series that are intended to be on-going.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:DateType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IntendedFrequency" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Documents the intended frequency of data collection, for example monthly, yearly, weekly, etc., preferably using an optional controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DataCollectionMethodologyType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Methodologies pertaining to the overall data collection such as primary or secondary data collection, qualitative or quantitative methods, mixed method approaches, GPS capturing methods, methods for collecting data from hard to reach communities, etc. Repeat this element if multiple methodologies are used. In addition to a descriptive narrative, the methodology may be classified by a short term or external controlled vocabulary.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfDataCollectionMethodology" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for brief identification of the type of data collection methodology using an optional controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Full description of the data collection methodology.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DataExistenceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Use when only the lowest, most discrete codes in the CodeList will be expressed as valid values. Identifies those levels of a CodeList with a regular hierarchy or those indicates discrete codes within an irregular hierarchy. All other codes will be used as labels within the hierarchy to clearly express content, but will not be valid as a response or representation value.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="LevelNumber" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use for a regular hierarchy. List the Level Number of the lowest or most discrete level of data available.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DiscreteCategory" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use for an irregular hierarchy where the most discrete codes have been identified by attribute isDiscrete. This element is to be used if only the most discrete data elements will have data. It has a fixed value, so it will indicate which categories have data based on their description.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataFileIdentificationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the data file documented in the physical instance and provides information about its location.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Location" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Documents the location of the data file as a description.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DataFileURI" type="ddi:URIType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A URN or URL for the data file with a flag to indicate if it is a public copy.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="SizeInBytes" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the size of the file in bytes.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsMaster" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Set to "true" when this file is the master file (in the case that there are multiple, i.e. backup, copies).</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataFileVersionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides the version information for the data file related to this physical instance. Note that while Physical Instance allows for multiple copies of the same data file (such as backup copies) the assumption is that they are identical in terms of content, layout, format and version. The minimum information required is the versionNumber. Additional information on the versionDate, the type of version number when multiple types are supported by an agency, as well as information on VersionResponsibility (inline or by reference) and VersionRationale are available to provide additional information for process tracking and/or informing users of the differences between this and the previous version of the file.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfVersionNumber" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is the name of the versioning scheme as defined by the user's system, in cases where the user's system employs more than one versioning scheme.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="VersionResponsibility" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Person or organization within the MaintenanceAgency responsible for the version change. If it is important to retain the affiliation between and individual responsible for the version and his/her agency, it may be included in this notation. This is primarily intended for internal use.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="VersionResponsibilityReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference person or organization within the MaintenanceAgency responsible for the version change, as described in an OrganizationScheme. If it is important to retain the affiliation between and individual responsible for the version and his/her agency, a Relation should be created between the individual referenced here and his/her organization. This is primarily intended for internal use.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="VersionRationale" type="ddi:VersionRationaleType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Textual description of the rationale/purpose for a version change.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="VersionNumber" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The version number of the data file identified by this physical instance.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="VersionDate" type="ddi:cogsDate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Date of version using the union set BaseDateType. Duration should not be used in this field, even though allowed by the ISO format enforced by the parser.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataFingerprintType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows for assigning a hash value (digital fingerprint) to the data or data file. Set the attribute flag to "data" when the hash value provides a digital fingerprint to the data contained in the file regardless of the storage format (ASCII, SAS, binary, etc.). One approach to compute a data fingerprint is the Universal Numerical Fingerprint (UNF). Set the attribute flag to "dataFile" if the digital fingerprint is only for the data file in its current storage format.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="DigitalFingerprintValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Contains the value of the specified digital fingerprint.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AlgorithmSpecification" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the type of the fingerprint (what algorithm or scheme).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AlgorithmVersion" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Contains the version of the algorithm.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Type">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Brief identification of the type of data fingerprint used. The data fingerprint may be for the data file (storage format specific) or data (format neutral).</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="data" />
                        <xs:enumeration value="dataFile" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataItemAddressType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides minimum information on data item address system, such as variable ID or Name, etc.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the data item address.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataItemIType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a single data item or cell within an NCube Instance. It defines its location within the NCube by its coordinate (matrix) address which is its intersect point on each dimension. Allows for the specification of data item specific attributes, and identifies the value of each measure for the data item. May optionally indicate the language of the data contents.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DimensionRankValue" type="ddi:DimensionRankValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A dimension describes the rank or order of the dimension within the NCube structure and provides the specific coordinate value of the dimension for the data item.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AttachedAttribute" type="ddi:AttachedAttributeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is an attribute attached to the specified Data Item. The content of the attribute can be provided as a single value or reference a location in the data store where the attribute value will be found. This may be in addition to attribute information described in the logical structure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="MeasureI" type="ddi:MeasureIType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the specific measure of the cell by noting the order value of the measure within the MeasureDimension and the value for the measure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Lang" type="ddi:language">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use to indicate the language of the data values for this item.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataItemNType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a single data item or cell within an NCube Instance. It defines its location within the NCube by its coordinate (matrix) address which is its intersect point on each dimension. Allows for the specification of data item specific attributes, and identifies the physical location of each measure for the data item. May optionally indicate the language of the data contents.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DimensionRankValue" type="ddi:DimensionRankValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A dimension describes the rank or order of the dimension within the NCube structure and provides the specific coordinate value of the dimension for the data item.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AttachedAttribute" type="ddi:AttachedAttributeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is an attribute attached to the specified Data Item. The content of the attribute can be provided as a single value or reference a location in the data store where the attribute value will be found. This may be in addition to attribute information described in the logical structure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Measure" type="ddi:MeasureType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the specific measure of the cell by noting the order value of the measure within the MeasureDimension and provides information on the storage location of the cell value for the measure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Lang" type="ddi:language">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use to indicate the language of the data item in the file.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataItemPType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a single data item within the record, linking it to its description in a variable and providing information on its data type and any item specific proprietary information.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="VariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a Variable describing the content of the data item.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ProprietaryDataType" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows an override of the default data type, using the language of the proprietary software. A controlled vocabulary is recommended.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ProprietaryOutputFormat" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates the proprietary output format.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ProprietaryInfo" type="ddi:ProprietaryInfoType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Contains proprietary information specific to the data item. This is expressed as a set of key (name)-value pairs.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataItemTType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a single data item or cell within an NCube Instance. It defines its location within the NCube by its coordinate (matrix) address which is its intersect point on each dimension. Allows for the specification of data item specific attributes, and identifies the physical location of each measure for the data item. May optionally indicate the language of the data contents.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DimensionRankValue" type="ddi:DimensionRankValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A dimension describes the rank or order of the dimension within the NCube structure and provides the specific coordinate value of the dimension for the data item.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AttachedAttributeT" type="ddi:AttachedAttributeTType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is an attribute attached to the specified Data Item. The content of the attribute can be provided as a single value or reference a location in the data store where the attribute value will be found. This may be in addition to attribute information described in the logical structure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="MeasureT" type="ddi:MeasureTType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the specific measure of the cell by noting the order value of the measure within the MeasureDimension and provides information on the storage location of the cell value for the measure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Lang" type="ddi:language">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use to indicate the language of the data item in the file.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataItemType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a single data item within the record, linking its description in a variable to its physical location in the stored record.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="VariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the Variable describing this data item.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="PhysicalLocation" type="ddi:PhysicalLocationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the physical location of the value of the object in the data file.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataSourceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the source of the data. This may be a population group, an environmental object, a registry, published or unpublished data source, etc. Describes and provides a classification of the source, a citation of the origin if applicable, and a listing of any characteristics of the data source that may affect understanding of the data.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="SourceDescription" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the data source.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SourceType" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Brief classification of the data source. Supports the use of an external controlled vocabulary. May be repeated to represent different forms of classification. The DDI Alliance has provided a controlled vocabulary (DataSourceType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Origin" type="ddi:OriginType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A citation or URI for the source of the data. Note that this is an external reference, and should not be used to point to DDI descriptions of the data, or to DDI-encoded data.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="SourceCharacteristic" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A significant characteristic of the data source that may affect understanding or collection of the data. This will include the level of documentation of the source data. For example: 'Legibility of data source affected due to water damage,' or 'solar flares during the data collection period may have affected the consistency of the data during the following period.'</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DateTimeDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A response domain capturing a date or time response for a question item. Contains the equivalent content of a DateTimeRepresentation including the format of the date field, a DateTypeCode, and restriction of content using a regular expression. Adds a set of elements available to all Response Domains; Label, Description, OutParameter, designation of response cardinality, and a declaration of an offset date for the data content. Has an equivalent DateTimeDomainReference which references a ManagedTextRepresentation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:DateTimeRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the response to be bound to one of the QuestionItem's OutParameters, so the collected information can be used elsewhere, for example as inputs to subsequent questions in an Instrument or to a GenerationInstruction. If multiple responses are possible, this would represent and ordered array of the responses.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this response domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DateTimeRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Structures the representation for any type of time format (including dates, etc.). Regardless of the format of the data the content may be treated as a date and or time and converted to ISO standard structure if sufficient information is supplied.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DateFieldFormat" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the format of the date field, in formats such as YYYY/MM or MM-DD-YY, etc. If this element is omitted, then the format is assumed to be the XML Schema format corresponding to the type attribute value.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DateTypeCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This is a standard XML date type code and supports the use of an external controlled vocabulary. Examples are date, dateTime, gYearMonth, gYear, and duration. The DDI Alliance has provided a controlled vocabulary (DateType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Range" type="ddi:RangeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the high and low values (endpoints) of a non-numeric scale. This can be expressed as a value that matches the DateTime format. Repeatable in order to express as set of non-continuous values.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="RegExp" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The regular expression allows for further description of the allowable content of the data.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DateType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides the structure of a Date element, which allows a choice between single, simple dates (of BaseDateType) or date ranges. If the Date element contains a range, Cycle may be used to indicate occurrence of this range within a series of ranges as an integer identifying the cycle, i.e. the 4th wave of a data collection cycle would have 4. ISO-formatted dates are required for all standard date fields; a historically-formatted date may also be provided to reflect the specific content of a legacy document or common practice within an agency or for publication. All uses of DateType should be optional.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="SimpleDate" type="ddi:cogsDate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A single point in time. If a duration is expressed as a SimpleDate it is defining a period of time without a designated Start or End date.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="HistoricalDate" type="ddi:HistoricalDateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A simple date expressed in a historical date format, including a specification of the date format and calendar used.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="StartDate" type="ddi:cogsDate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Start of a date range. If there is a start date with no end date provided, this implies that the end date is unknown but that the date being recorded is not just a simple date but a range of unknown duration.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="HistoricalStartDate" type="ddi:HistoricalDateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A start date expressed in a historical date format, including a specification of the date format and calendar used.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="EndDate" type="ddi:cogsDate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">End of a date range with a known start date.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="HistoricalEndDate" type="ddi:HistoricalDateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An end date expressed in a historical date format, including a specification of the date format and calendar used.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Cycle" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use to indicate occurrence of this range within a series of ranges as an integer identifying the cycle, i.e. the 4th wave of a data collection cycle would have 4.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DebriefingProcessType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describe the debriefing process. Specifies if debriefing is required.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the Debriefing Process.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsRequired" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If debriefing is required for this activity set isRequired to "true".</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DefaultMissingValuesType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the default missing value parameter for the this logical record by referencing a ManagedMissingValuesRepresentation or by stating that there is a default missing values parameter used but it is undocumented. Note that a conflicting DefaultMissingValues definition in a PhysicalInstance will override that found in the LogicalRecord.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="MissingValuesReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the appropriate ManagedMissingValuesRepresentation describing the default values.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DefaultUsedNoDocumentation" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use when it is known that a default missing values definition was use but there is NO documentation describing its content.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DefiningCharacteristicType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Use to attach one or more characteristics to the parent object. The defining characteristic supports the use of a controlled vocabulary and may provide a time period for which the classification is valid.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Characteristic" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A characteristic which defines the area. These are often useful in terms of selection. For example a U.S. Block may be classified as Urban, Rural, or Mixed. The characteristic supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GeographicTime" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The time period for which the characteristic is valid.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DelimiterType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines the delimiter used to separate variables in a delimited record. Valid values include, space, tab, comma, semicolon, colon, pipe, and other. If "other" is used the characters used for separating (delimiting) objects should be entered in the attribute otherValue. Spaces and binary characters are not allowed. The attribute treatConsecutiveDelimiterAsOne indicates how consecutive delimiters should be handed by the software. The default value of "false" indicates that each delimiter should be treated as a valid delimiter.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OtherValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">When the value of Delimiter is "other" provide the character used for delimiting values here. Spaces and binary values are not allowed.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="TreatConsecutiveDelimiterAsOne" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines the default value for the delimiter used to separate variables in a delimited record. The attribute treatConsecutiveDelimiterAsOne indicates how consecutive delimiters should be handed by the software.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="DelimiterTypeValue">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="space" />
                        <xs:enumeration value="tab" />
                        <xs:enumeration value="comma" />
                        <xs:enumeration value="semicolon" />
                        <xs:enumeration value="colon" />
                        <xs:enumeration value="pipe" />
                        <xs:enumeration value="other" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DevelopmentObjectType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A description of the development objects of a Development Implementation or Development Step. Supports a general description as well as specific references to allowed development objects.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the development objects that are the intended objects of a Development Plan or specific objects of a Development Step.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="QuestionReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the Question type that is the target of the development work. TypeOfObject should be QuestionItem, QuestionGrid, or QuestionBlock.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="QuestionBlock" />
                                    <xs:enumeration value="QuestionGrid" />
                                    <xs:enumeration value="QuestionItem" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurementItemReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the Measurement that is the target of the development work. TypeOfObject should be Measurement.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="MeasurementItem" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="InstrumentReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the Instrument that is the target of the development work. TypeOfObject should be Instrument.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Instrument" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="ControlConstructReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the ControlConstruct that is the target of the development work. TypeOfObject should reflect the type of ControlConstruct being referenced. Value should be IfThenElse, RepeatUntil, RepeatWhile, Loop, Sequence, ComputationItem, StatementItem, MeasurementConstruct, QuestionConstruct, Split, SplitJoin, SamplingStage, SampleStep, DevelopmentStep.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ComputationItem" />
                                    <xs:enumeration value="DevelopmentStep" />
                                    <xs:enumeration value="IfThenElse" />
                                    <xs:enumeration value="Loop" />
                                    <xs:enumeration value="MeasurementConstruct" />
                                    <xs:enumeration value="QuestionConstruct" />
                                    <xs:enumeration value="RepeatUntil" />
                                    <xs:enumeration value="RepeatWhile" />
                                    <xs:enumeration value="SampleStep" />
                                    <xs:enumeration value="SamplingStage" />
                                    <xs:enumeration value="Sequence" />
                                    <xs:enumeration value="Split" />
                                    <xs:enumeration value="SplitJoin" />
                                    <xs:enumeration value="StatementItem" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DeviationFromSampleDesignType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes any deviations from the planned sample design. These may be for reasons of practicality, implementation issues, or other reasons. In addition to a narrative description allows for use of a brief term or controlled vocabulary term to classify the type of deviation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfDeviationFromSampleDesign" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows brief identification of the deviation from the sample design with the option of using a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Full description of deviation from the sample design.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DimensionIntersectType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the point at which the scales of a multidimensional scale intersect. May include all or a subset of dimensions intersecting at a given point. Repeat for multiple intersect points.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="IncludedDimension" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">List by repetition all dimensions intersecting at this value by Dimension Number.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ForAllDimensions" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If different dimensions intersect at different values list each set in a separate DimensionIntersect and list each dimension included by an IncludeDimension.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IntersectValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value at which the dimensions intersect.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DimensionRankValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A dimension describes the rank or order of the dimension within the NCube structure and provides the specific coordinate value of the dimension for the data item. In the case where the value is found within the data file, it provides a reference to the variable containing the value.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="VariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">References the Variable holding the dimension value. Use this instead of the value attribute when the value must be obtained from the data file at the location of the variable indicated in the reference.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Value" type="ddi:ValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value of this dimension for this particular data item.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Rank" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Enter the rank (placement) order in which the value from this dimension appears in the coordinate address of any cell in the NCube matrix.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DimensionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A dimension is provided a rank and a reference to a variable that describes it. Cell locations are "addressed" by the value of their intersect on each dimension provided in rank order.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="VariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the variable describing this dimension. The dimension uses a form of CodeRepresentation (representation uses a CodeList, GeographicStructure, GeographicLocation, etc.), or a fixed range of numeric values to define the labels and intersect points for the dimension. The data set will contain a measurement value for each cell in the NCube rather than specifying the code values of the intersect points on the dimensions. Example: NCube Sex by Age in Years where there are 24 Males Age 4 (Dimension 1 intersect value M, Dimension 2 intersect value 4 with data cell measurement value (count) 24.)</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Rank" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The rank order of this dimension (the order in which the value for this dimension will appear in the cell address)denoted with a 1-based indexing. Provides coordinate order (1,2,n) for the intersect point of this dimension within the cell address. For example, if the rank of this dimension is 2, the intersect point on this dimension will be the second value listed in the cell address.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DistributionDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A response domain capturing a distribution response for a question item. Includes standard response domain elements; OutParameter, designation of response cardinality, and a declaration of an offset date for the data content, as well as the description of a distribution representation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:DistributionRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the response to be bound to one of the QuestionItem's OutParameters, so the collected information can be used elsewhere, for example as inputs to subsequent questions in an Instrument or to a GenerationInstruction. If multiple responses are possible, this would represent and ordered array of the responses.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this response domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DistributionRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Means of describing Distributions as a representation so that they can be used as a response domain questions. Primarily used as a response domain in a QuestionGrid. In addition to the base of objects of a representation the structure provides the total value to be distributed between the objects and the number of decimal positions allowed within a response.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="DistributionValue">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the total value to be distributed among the designated objects.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:decimal" />
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DecimalPositions" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the number of decimal points allowed for the expression of a response.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DomainSpecificValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the value of the ResponseDomain to which the new ResponseDomain is attached by specifying its attachmentBase number of the target ResponseDomain in the attribute attachmentDomain. Specifies one or more values within the ResponseDomain to which the object is attached (i.e. single item or set).</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Value" type="ddi:ValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value of the target response domain to which the object should be attached.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AttachmentDomain" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is the value of the attribute "attachmentBase" on the ResponseDomainInMixed to which the specified response domain will be attached. This is used to clarify attachment locations when more than two response domains are provided in a StructuredMixedResponseDomain.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DoubleNumberRangeValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a bounding value for a number range expressed as an xs:double.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="DoubleValue">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:double">
                        <xs:pattern value="[+-]?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))([eE][+-]?[0-9]+)?" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsInclusive" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates that the value is included in the range. Set to false if the range includes numbers up to but no including the designated value.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DynamicTextType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Structure supporting the use of dynamic text, where portions of the textual contend change depending on external information (pre-loaded data, response to an earlier query, environmental situations, etc.).</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="TextContent" type="ddi:TextContentType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is the head of a substitution group and is never used directly as an element name. Instead it is replaced with either LiteralText or ConditionalText.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsStructureRequired" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If textual structure (e.g. size, color, font, etc.) is required to understand the meaning of the content change value to "true".</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AudienceLanguage" type="ddi:language">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the language of the intended audience. This is particularly important for clarifying the primary language of a mixed language textual string, for example when language testing and using a foreign word withing the question text.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ElseIfTextType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Use for multiple branching from a single point in the flow logic represented by the flow logic If, Then, ElseIf, Then, etc. This is a packaging element for an IfCondition and ThenConstructReference and not a control construct.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IfCondition" type="ddi:CommandCodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The condition which must be met to trigger the Then clause, expressed as a Coding. The condition is an expression in the programming language used in the instrument.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ThenResult" type="ddi:ConditionalResultType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The conditional response which should be triggered if the associated condition is met.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ElseIfType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Use for multiple branching from a single point in the flow logic represented by the flow logic If, Then, ElseIf, Then, etc. This is a packaging element for an IfCondition and ThenConstructReference and not a control construct.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IfCondition" type="ddi:CommandCodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The condition which must be met to trigger the Then clause, expressed as a Coding. The condition is an expression in the programming language used in the instrument.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ThenConstructReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the control construct which should be triggered if the associated condition is met.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Sequence" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="EmailType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Email address type (Currently restricted to Internet format user@server.ext.).</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="InternetEmail">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The email address express as a string (restricted to the Internet format).</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*(([\.a-zA-Z0-9_\-])+@([a-zA-Z0-9_\-])+(([a-zA-Z0-9_\-])*\.([a-zA-Z0-9_\-])+)+)(.|\r|\n)*" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EmailTypeCode" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Code indicating the type of e-mail address. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EffectivePeriod" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Clarifies when the identification information is accurate.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="EmbargoType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides information about data that are not currently available because of policies established by the principal investigators and/or data producers. This item may be attached to specific levels of a study such as a specific variable by reference. Embargo provides a name, label and description of the embargo, the dates covered by the embargo, the rationale or reason for the embargo, a reference to the agency establishing the embargo, and a reference to the agency enforcing the embargo.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="EmbargoName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The name or names by which the embargo is known. Repeat if different names are used for different purposes or different contexts. Language repetition is handled within the structure of the Embargo Name element.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A label or labels for the embargo element. Repeat for differences in content due to software or application constraints. Language repetition is handled within the structure of the label.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describe the content and coverage of the embargo.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Date" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides the end date of the embargo, which may take the form of a date range (complete or open ended). Note SimpleDate should not be used for an Embargo Date as an embargo is for a period of time.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Rationale" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the reason for the embargo.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="AgencyOrganizationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an organization or individual, defined in the organization scheme, responsible for the embargo.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="EnforcementAgencyOrganizationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an organization or individual, defined in the organization scheme, responsible for enforcing the embargo.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="EvaluatorType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the type of evaluation, completion date, evaluation process and outcomes of the ExPost Evaluation. Allows identification of the Evaluator via reference to and organization or individual and provides for the optional use of a controlled vocabulary to define the specific role of the evaluator.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="EvaluatorReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to an Organization or Individual involved in performing the evaluation.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="EvaluatorRole" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the role of the evaluator with optional use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ExPostEvaluationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Evaluation for the purpose of reviewing the study, data collection, data processing, or management processes. Results may feed into a revision process for future data collection or management. Identifies the type of evaluation undertaken, who did the evaluation, the evaluation process, outcomes and completion date.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="TypeOfEvaluation" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Brief identification of the type of evaluation. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Evaluator" type="ddi:EvaluatorType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the evaluator and specifies the role of the evaluator using an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="EvaluationProcess" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the process of the Evaluation.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Outcomes" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the outcomes of the evaluation process.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CompletionDate" type="ddi:cogsDate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the date the evaluation was completed.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ExternalAidType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Description and link to the External Aid using the DDI Other Material structure.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OtherMaterialReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description and link to the ExternalAid using the DDI Other Material structure.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="OtherMaterial" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ExternalCategoryRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Structures a response domain based on categorization that is described in an external non-DDI structure. Includes a UsageDescription that should provide information on how the external source is to be used.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="ExternalCategoryReference" type="ddi:anyURI">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References an external, non DDI category. This is the element to use if the Code Scheme being used is not in DDI and cannot be used directly. It provides for both the reference and an explanation of how to use the information accurately within a DDI context.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="UsageDescription" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the use of the external category file.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ExternalInformationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Description and link to the External Information using the DDI Other Material structure.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OtherMaterialReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description and link to the External Information using the DDI Other Material structure.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="OtherMaterial" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ExternalInterviewerInstructionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Specification of an external interviewer instruction not structured in DDI. Uses the structure of OtherMaterial to provide a citation, description, and locator for the object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OtherMaterialReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specification of an external interviewer instruction not structured in DDI. Uses the structure of OtherMaterial to provide a citation, description, and locator for the object. TypeOfOtherMaterial should be set to ExternalInterviewInstruction.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="OtherMaterial" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="InstructionAttachmentLocation" type="ddi:InstructionAttachmentLocationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows attachment of an instruction to a specific item in a question structure. For example, to a Label, QuestionText, ResponseDomain, Response domain value, or grid cell.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsDisplayed" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If set to "true" indicates that the instruction should always be displayed, not just upon need.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="FilterVariableCategoryType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Category statistics for the variable when the filter variable contains the specified value.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="FilterCategoryValue" type="ddi:CategoryValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provides the specific value of the variable being used as a filter. References a specific Code within the variable if using a CodeRepresentation. May alternately provide the Value of the Category.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="VariableCategory" type="ddi:VariableCategoryType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Category statistics for the specified value of the variable (when the filter variable contains the specified value). Repeat for each value of the variable.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="FilteredCategoryStatisticsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Category statistics filtered by the value of a second variable. Essentially a cross tabulation of one variable by another. For example variable may be crossed with country as is done in the Eurobarometer when reporting category statistics. For example, the Eurobarometer may filter its category statistics by country as represented in a variable "CountryCode".</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="FilterVariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the variable used to filter the category level statistics. </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="FilterVariableCategory" type="ddi:FilterVariableCategoryType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provides filtered category statistics for the specified filter variable category.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="FixedCellValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides the ability to fix the value of a grid cell and defines the cell or cells. Designates the fixed value to be used and the location of the cell or cells within the grid.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Value" type="ddi:ValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the value to which the cell(s) defined in GridAttachment should be fixed. Supports the use of meaningful leading or trailing spaces. Note that care should be taken to make sure this is a valid value within the response domain of the cell.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GridAttachment" type="ddi:GridAttachmentType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the cell or cells in a grid to which the label is attached by a reference to a specific cell coordinate in a grid or by identifying a range of values along a dimension.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="FixedIdentifierType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Reference to the variable containing the unique identifier. This may be a concatenated variable which indicates the combination of variable required to create a unique identification. If more than one variable reference is included the combination of the variable field contents must be unique and all variables are required for case identification.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a variable used as a fixed identifier either singly or in combination with additional reference variables.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="FormType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A link to a form used by the metadata containing the form number, a statement regarding the contents of the form, a statement as to the mandatory nature of the form and a privacy level designation.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="FormNumber" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The number or other means of identifying the form.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="URI" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The URN or URL of the form.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Statement" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A statement regarding the use, coverage, and purpose of the form.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsRequired" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Set to "true" if the form is required. Set to "false" if the form is optional.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="FundingInformationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides information about the individual, agency and/or grant(s) which funded the described entity. Lists a reference to the agency or individual as described in a DDI Organization Scheme, the role of the funder, the grant number(s) and a description of the funding activity.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="AgencyOrganizationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to an organization or individual, defined in the organization scheme, that served as a funding source.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="FunderRole" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Role of the funding organization or individual. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="GrantNumber" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The identification code of the grant or other monetary award which provided funding for the described object.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Additional information regarding the role and actions of the this funding source.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="FundingDocumentReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Link to a document related to the funding such as application or funding announcement using the OtherMaterial structure.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="OtherMaterial" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="FundingPeriod" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Dates for which the funding is provided.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenerationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Description of the process used to generate the category content. Includes a reference to component parts, a description of the generation process, a structured command, and other materials that are needed in the generation process. The item may be designated as a derivation process (default value) and be qualified in some way by a qualification attribute.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="ComponentReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a category used in the generation process.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Category" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the generation process.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CommandCode" type="ddi:CommandCodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Structured information used by a system to generate the category.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="OtherMaterialReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">External documentation required for creating the generation - for example, a chart or table for defining poverty.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="OtherMaterial" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsDerived" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If not a derivation process set this attribute to "false".</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Qualification" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A qualification for the generation process expressed as a simple string.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GeographicBoundaryType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A choice of a BoundingBox and/or a set of BoundingPolygons and ExcludingPolygons that describe an area for a specific time period.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AreaCoverage" type="ddi:AreaCoverageType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use to specify the area of land, water, total or other area coverage in terms of square miles/kilometers or other measures.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="BoundingBox" type="ddi:BoundingBoxType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A BoundingBox (North, South Latitude and East, West Longitude) of the LocationValue for the time period specified with the GeographicBoundary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="BoundingPolygon" type="ddi:PolygonType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the boundaries of the polygon either in-line or by a reference to an external file containing the boundaries. Repeatable to describe non-contiguous areas such as islands or Native American Reservations in some parts of the United States.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExcludingPolygon" type="ddi:PolygonType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of a the boundaries of a polygon internal to the bounding polygon which should be excluded. For example, for the bounding polygon describing the State of Brandenburg in Germany, the Excluding Polygon would describe the boundary of Berlin, creating hole within Brandenburg which is occupied by Berlin.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GeographicTime" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A time for which the polygon is an accurate description of the area. This may be a range (without an end date if currently still valid) or a single date when the shape was know to be valid if a range is not available.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GeographicCoverageType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the geographic coverage of the data documented in a particular DDI module. If subordinate to another module, this description should be a sub-set of the parent module's geographic coverage. Contains a definition for a Bounding Box used for coordinate searches, a definition of the geographic coverage, a reference to a variable that describes the geographic structure, definition of the spatial object of the data, a reference to a GeographicStructure and GeographicLocation providing further details of the coverage, and specification of the geographic summary levels for which data are provided, the top and lowest levels of geographic identification provided.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="BoundingBox" type="ddi:BoundingBoxType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The Bounding Box is a 'rectangle, oriented to the x and y axes, which bounds a geographic feature or a geographic dataset. It is specified by two coordinates: xmin, ymin and xmax, ymax.' [FGDC]. In the DDI, it describes the full extent of the geographic coverage, and is designed to be used by systems that search for geography by coordinates. It is compatible with the description and structure found in FGDC and other geographic metadata structures.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A summary description of the geographic (spatial) coverage of the module. It may include information on all levels of spatial coverage, in addition to the overall coverage. This field can map to Dublin Core Coverage, which does not support structured strings. Therefore, if there is intent to map to Dublin Core, the text should not be marked up with XHTML.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CountryCode" type="ddi:CountryCodeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Serves as head of a substitution group for specifying ISO 3166 Country Codes or use of unspecified text. Use of ISO 3166 Country codes strongly recommended. Repeat for each country. If</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="GeographyStructureVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">References a variable describing the geographic levels available in the data such as the variable "Summary Level" in U.S. Census data. This reference is needed for assistance in programming.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="SpatialObject">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Contains information on the most discrete type of spatial representation to which data described by this module can be attached (point, line, polygon, linear ring). For example, a raw data file with an address attached to each case is 'point'. When the microdata file is anonymized and the geographic information is for a state or other defined area, it is 'polygon'. Some data, such as traffic or criminal incidence data may have a street range identification or 'line', and some such as communications data have a point with a radius or 'linear ring'.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="Point" />
                                <xs:enumeration value="Polygon" />
                                <xs:enumeration value="Line" />
                                <xs:enumeration value="LinearRing" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicStructureReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the detailed information found in a GeographicStructure. Allows for the exclusion of specified LevelValues.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicStructure" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GeographicLevelReference" type="ddi:GeographicLevelType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to specific LevelValue found in a GeographicStructure. Use when only a limited number of GeographicLevel are used from a GeographicStructure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLocationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to detailed listing of named locations within the data described by a GeographicLocation.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="GeographicLocation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="LocationValueReference" type="ddi:LocationValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to specific LocationValue found in a GeographicLocation. Use when only a limited number of LocationValue are used from a GeographicStructure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SummaryDataReference" type="ddi:GeographicLevelType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">May be repeated to reference each geography (geographic level) for which there is summary data. For example, person records may contain summary data on the State, County, or City in which they reside. In data collections where the individual case is a geographic location such as a County, data may be provided that summarizes State or National data. This is often true where data suppression at lower geographies makes it impossible to roll-up or aggregate the data to obtain values for the higher levels.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="HighestLevelReference" type="ddi:LevelReferenceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the top or highest GeographicLevel.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="LowestLevelReference" type="ddi:LevelReferenceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the bottom or lowest GeographicLevel.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Structures the response domain for a geographic point to ensure collection of relevant information. The point may be associated with a polygon (such as the centroid of the polygon) or a line (end or shape points of a line). Note that the common response domain objects (OutParameter, ResponseCardinality, and ContentDateOffset) are available at each of the response objects in the representation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:GeographicRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicLevelType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a level within the GeographicStructure. In addition to a name and description, provides one or more GeographicLevelCodes by which it is identified with specified system, any coverage limitations, and parent position within a single hierarchy or if it is the result of layering multiple hierarchies, the lowest component level for each of the layering hierarchies. Allows for an indicator declaring that coverage of the parent level is or is not exhaustive.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLevelName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the GeographicLevel.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the GeographicLevel.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GeographicLevelCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A code and its authorization source for identifying the level within a specific system.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="CoverageLimitation" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes a limitation of the coverage such as all objects of a specific type that meet population size requirements (i.e., All Places with a population of 10,000 or more).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="PrimaryComponentLevel" type="ddi:PrimaryComponentLevelType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides references to the base level elements that are used as building blocks for composed geographies. For example, Metropolitan areas that are composed of counties except in the New England States where they are composed of county subdivisions, or School Attendance Boundaries (SABINS) built from Census Blocks. This structure allows for specifying the basic building block for composed areas and any restrictions (coverage limitations). The field may be repeated to provide alternate information on the basic building blocks for areas outside of the coverage limitations described.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ParentGeographicLevelReference" type="ddi:GeographicLevelType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to a single containing (parent) geography.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsExhaustiveParentGeographicLevel" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates whether the geographic level completely fills its parent level. Counties are exhaustive within States. Places are NOT exhaustive within States.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GeographicLayerBaseReference" type="ddi:GeographicLevelType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Use for geographic polygons that are the result of layering two or more geographic hierarchies where the polygon being described is the intersect of the layers. For example: State - County - County Subdivision - Place/Remainder - Tract [The portion of a tract that is within a single place (or non-place area) and a single county subdivision] This polygon is made by overlaying the following three geographic hierarchies: 1) State - Place, 2) State - County - Tract, and 3) State - County - Subdivision. The three GeographicLayerBase elements would point to Tract, Place, and County Subdivision.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicLocationCodeDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A response domain capturing the name or code of a Geographic Location as a response for a question item. Includes standard response domain elements; OutParameter, designation of response cardinality, and a declaration of an offset date for the data content, as well as a description of a geographic location code represeanttion. Allows for capturing a limited segment of a complex geographic code.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:GeographicLocationCodeRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the response to be bound to one of the QuestionItem's OutParameters, so the collected information can be used elsewhere, for example as inputs to subsequent questions in an Instrument or to a GenerationInstruction. If multiple responses are possible, this would represent and ordered array of the responses.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this response domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DisplayCode" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" (default value) the code value associated with the category label will be displayed. Set to "false" if only the category label should not be displayed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicLocationCodeRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows for the use of all or part of a GeographicLocation description to be used as a response domain or value representation by a question or variable. In addition to the basic objects of a representation it describes the Geographic Location values available for use by the question or variable.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IncludedGeographicLocationCodes" type="ddi:IncludedGeographicLocationCodesType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the Geographic Location codes included by the Authorized source of the code, the geographic location being used and the locations to exclude.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="LimitedCodeSegmentCaptured" type="ddi:LimitedCodeSegmentCapturedType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">When the code is a concatenation this structure allows you to limit the portion of the concatenated code that this object captures.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicLocationIdentifierType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the GeographicLocation as represented by a specific GeographicCode provided by an Authorized Source.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="GeographicCode" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Container for a standard geography code expressed as a string.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AuthorizedSourceReference" type="ddi:AuthorizedSourceType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the AuthorizedSource description in GeographicLocation that provided this code.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GeographicRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Structures the representation for a geographic point to ensure collection of relevant information using a single response domain structure. The point may be associated with a polygon (such as the centroid of the polygon) or a line (end or shape points of a line). The structure provides a description of the default values for the datum type, coordinate system used, the coordinate zone, error correction method, standard offset, the geographic object being positioned, the type of address match if used, the point format, and spatial primitive type. It provides response options for the coordinate pairs being captured, and alternate values for the offset, geo-referenced object and coordinate system if a different one is used to capture a specific response.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Datum" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The standard datum format used. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CoordinateSystem" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The standard coordinate system used. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CoordinateZone" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The standard coordinate zone being used. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CoordinateSource" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The standard coordinate source being used. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ErrorCorrection" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The standard method of error correction being used. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Offset" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A definition of the standard offset used when taking a coordinate reading on the geo-referenced object.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GeoreferencedObject" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The standard object for which the geographic coordinates are being captured. This could be a household, village centroid, etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AddressMatchType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Use for coordinates obtained through address matching only. Identify the address matching method. Example: street segment match, ZIP code centroid, etc. Supports the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CoordinatePairs" type="ddi:CoordinatePairsType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Field to capture coordinate pairs as individual pairs or as an array of pairs.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AlternateOffset" type="ddi:TextDomainType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If unable to use the standard offset, allows entry of a non-standard offset figure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AlternateObject" type="ddi:TextDomainType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If the default geo-referenced object is unavailable or cannot be measured, allows identification of an alternate object.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AlternateCoordinateSystem" type="ddi:TextDomainType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Specifies the coordinate system used for a response if different from that stated in the response structure.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="1" maxOccurs="1" name="PointFormat">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The type attribute is used by the documenter to describe the numeric response domain.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="DecimalDegree" />
                                <xs:enumeration value="DegreesMinutesSeconds" />
                                <xs:enumeration value="DecimalMinutes" />
                                <xs:enumeration value="Meters" />
                                <xs:enumeration value="Feet" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="1" maxOccurs="1" name="SpatialPrimitive">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the spatial primitive object which the point references.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="Point" />
                                <xs:enumeration value="Polygon" />
                                <xs:enumeration value="Line" />
                                <xs:enumeration value="LinearRing" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicStructureCodeDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A response domain capturing a geographic structure code as a response for a question item. Includes standard response domain elements; OutParameter, designation of response cardinality, and a declaration of an offset date for the data content, as well as a description of a geographic structure code representation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:GeographicStructureCodeRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the response to be bound to one of the QuestionItem's OutParameters, so the collected information can be used elsewhere, for example as inputs to subsequent questions in an Instrument or to a GenerationInstruction. If multiple responses are possible, this would represent and ordered array of the responses.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this response domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DisplayCode" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" (default value) the code value associated with the category label will be displayed. Set to "false" if only the category label should not be displayed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GeographicStructureCodeRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows for the use of all or part of a GeographicStructure description to be used as a response domain or value representation by a question or variable. In addition to the basic objects of a representation it describes the Geographic Structure values available for use by the question or variable.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IncludedGeographicStructureCodes" type="ddi:IncludedGeographicStructureCodesType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the Geographic Structure codes included by the Authorized source of the code, the Geographic Structure being used and the Structures to exclude.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GridAttachmentType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the cell or cells in a grid to which the item is attached by a reference to a specific cell coordinate in a grid or by identifying a range of values along a dimension.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="SpecificCellCoordinate" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines a single cell by its matrix coordinate address. For example "1,3,2" for a 3 dimensional matrix where dimension rank-1 has a value of 1, dimension rank-2 has a value of 3, and dimension rank-3 has a value of 2.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CellCoordinatesAsDefined" type="ddi:CellCoordinatesAsDefinedType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines one or more cells by defining the applicable values of each dimension as "all values", a "specific value" or a range. For example in a simple 2 dimensional grid where dimension rank-1 is displayed as rows and dimension rank-2 as columns and the first column contains a NumericDomain; SelectDimension rank="1" allValues="true" and SelectDimension rank="2" specificValue="1" would result in the NumericDomain being attached to the first column of the grid only.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AllCells" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If the item should be attached to all the cells in the grid set this attribute to "true".</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GridDimensionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes each dimension of the grid including dimension rank (for the purpose of identifying a cell address), a text for the dimension, and optional labels and codes used as column and row stubs. May also describe a roster (a set of unlabeled rows or columns depending upon display situation).</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CodeDomain" type="ddi:CodeDomainType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This includes a reference to a CodeList that is used for the labels contained in the dimension. CodeLists are used even when the code is not being displayed in order to use this information for creating the cell coordinate address.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Roster" type="ddi:RosterType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A roster is an unlabeled list of numbered rows or columns depending upon orientation. The numbers may or may not be displayed but will be used as information for creating the cell coordinate address.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CreateSummary" type="ddi:CreateSummaryType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Note that this is generally usable only with single valid response domain in grid. More complex uses should be carefully documented using details in CommandCode and Input/output Parameters.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Rank" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The rank order of this dimension (the order in which the value for this dimension will appear in the cell address)denoted with a 1-based indexing. Provides coordinate order (1,2,n) for the intersect point of this dimension within the cell address. For example, if the rank of this dimension is 2, the intersect point on this dimension will be the second value listed in the cell address.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DisplayCode" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If set to "true" (default value) the code value associated with the category label will be displayed. Set to "false" if only the category label should not be displayed.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DisplayLabel" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If set to "true" (default value) the label of the CodeList will be displayed. Set to "false" to suppress this display.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GridResponseDomainInMixedType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Designates the response domain and the cells using the specified response domain within a QuestionGrid. Supports the use of ResponseAttachmentLocation and attachmentBase for defining specific relationships between response domains in a StructuredMixedGridResponseDomain. Functions similar to a ResponseDomainInMixed within a QuestionItem.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="ResponseDomain" type="ddi:RepresentationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is a substitution head and can be replaced by any valid member of the substitution group for ResponseDomain.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ResponseDomainReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The inclusion of a response domain by reference (must be supported by a managed representation). An abstract element. May be substituted by any valid object of substitution type ResponseDomainReference.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ManagedCategoryRepresentation" />
                                    <xs:enumeration value="ManagedCodeRepresentation" />
                                    <xs:enumeration value="ManagedDateTimeRepresentation" />
                                    <xs:enumeration value="ManagedDistributionRepresentation" />
                                    <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                    <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                    <xs:enumeration value="ManagedGeographicRepresentation" />
                                    <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                    <xs:enumeration value="ManagedLocationRepresentation" />
                                    <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                    <xs:enumeration value="ManagedNominalRepresentation" />
                                    <xs:enumeration value="ManagedNumericRepresentation" />
                                    <xs:enumeration value="ManagedRankingRepresentation" />
                                    <xs:enumeration value="ManagedScaleRepresentation" />
                                    <xs:enumeration value="ManagedTextRepresentation" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseAttachmentLocation" type="ddi:AttachmentLocationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows attachment of a secondary response domain to a specific item within another response domain used in the question grid. For example, attach a TextDomain to the value "Other" using the TextDomain label (Please specify) as a label for the TextDomain.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GridAttachment" type="ddi:GridAttachmentType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the cell or cells in a grid to which the item is attached by a reference to a specific cell coordinate in a grid or by identifying a range of values along a dimension.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AttachmentBase" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If another response domain will be attached to the response domain listed withinResponseDomainInMixed provide a value in attachmentBase to allow for unique identification within this question grid. ResponseAttachmentLocation contains an attribute attachmentDomain which will provide a link from the domain that is being attached to the domain it is being attached to.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GrossFileStructureType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Includes information about the file structure, as well as other characteristics that are specific to the physical instance. Information includes place of production, processing checks to validate the content, processing status, the software used to create the data file, and check sums for the number of cases and overall record count.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="PlaceOfProduction" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the place where the physical instance was produced expressed as a simple string.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ProcessingCheck" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Documents processing checks and other operations performed on the data file.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ProcessingStatus" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Processing status of the data file. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CreationSoftware" type="ddi:SoftwareType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the software that was used to create the data file.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="CaseQuantity" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Number of cases or observations in the data file. Caution in using optional checksums is recommended. Conflict between checksums and the items being counted can cause problems with warning flags during processing. If using checksum to capture information for internal processing purposes, the use of automatically generated check sums is strongly urged.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="OverallRecordCount" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Overall record count in the data file. Caution in using optional checksums is recommended. Conflict between checksums and the items being counted can cause problems with warning flags during processing. If using checksum to capture information for internal processing purposes, the use of automatically generated check sums is strongly urged.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GrossRecordStructureType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The gross or macro level structures of the record structure including the link to the LogicalRecord and information on the number and ordering of each Physical Segment of the LogicalRecord as stored in the data file. Provides an attribute stating the number of physical segments with a default value of "1".</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="LogicalRecordReference" type="ddi:LogicalRecordType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the LogicalRecord that describes the record type and intellectual content of the record within the physical data file.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="PhysicalRecordSegment" type="ddi:PhysicalRecordSegmentType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of each physical storage segment required to completely cover the logical record. A logical record may be stored in one or more segments housed hierarchically in a single file or in separate data files. All logical records have at least one segment.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="NumberOfPhysicalSegments" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Number of physical records segments each logical record (case) is divided into. Express as an integer. Caution in using checksums is recommended. Conflict between checksums and the items being counted can cause problems with warning flags during processing. If using checksum to capture information for internal processing purposes, the use of automatically generated check sums is strongly urged.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="HistoricalDateType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used to preserve an historical date, formatted in a non-ISO fashion.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="NonISODate" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is the date expressed in a non-ISO compliant structure. Primarily used to retain legacy content or to express non-Gregorian calender dates.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="HistoricalDateFormat" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicate the structure of the date provided in NonISODate. For example if the NonISODate contained 4/1/2000 the Historical Date Format would be mm/dd/yyyy. The use of a controlled vocabulary is strongly recommended to support interoperability.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Calendar" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the type of calendar used (e.g., Gregorian, Julian, Jewish).</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IdentifiableType" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">Adds the attribute identifying this as an identifiable object as well as the MaintainableObject. All identifiable objects should provide their contextual information, the identity of their maintainable parent. The deprecated form of the URN contains all the information to identify and object and its context. A Canonical URN scoped to the Maintainable contains the ID of the Maintainable as part of its structure. To provide full contextual information use the MaintainableObject structure. The use of the Canonical URN scoped to the agency or the identification sequence alone requires the content of the MaintainableObject to provide full contextual information. All content of Identifiable is considered to be administrative metadata. Note that changes to the administrative metadata does not drive a change in the version of the parent objects. See DDI 3.2 Technical Documentation: Part I for further details.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="1" maxOccurs="1" name="URN">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The URN of the entity matching the DDI URN pattern associated with the value of the attribute typeOfIdentifier (Canonical or Deprecated).</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*([Uu][Rr][Nn]:[Dd][Dd][Ii]:[a-zA-Z0-9\-]{1,63}(\.[a-zA-Z0-9\-]{1,63})*:[A-Za-z0-9\*@$\-_]+(\.[A-Za-z0-9\*@$\-_]+)?:[0-9]+(\.[0-9]+)*)(.|\r|\n)*" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Agency">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is the registered agency code with optional sub-agencies separated by dots.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*([a-zA-Z0-9\-]{1,63}(\.[a-zA-Z0-9\-]{1,63})*)(.|\r|\n)*" />
                        <xs:minLength value="1" />
                        <xs:maxLength value="253" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="ID">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The ID of the object. This must conform to the allowed structure of the DDI Identifier and must be unique within the declared scope of uniqueness (Agency or Maintainable).</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*([A-Za-z0-9\*@$\-_]+(\.[A-Za-z0-9\*@$\-_]+)?)(.|\r|\n)*" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Version">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The version number of the object. For the identifiable object this is the version number of its parent versionable at the point of creation or alteration of the non-administrative metadata of the identifiable. Versionable and Maintainable items increment their version number whenever the non-administrative metadata contained by the object changes.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(.|\r|\n)*([0-9]+(\.[0-9]+)*)(.|\r|\n)*" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="UserID" type="ddi:UserIDType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows for the specification of identifiers other than the specified DDI identification of the object. This may be a legacy ID from DDI-C, a system specific ID such as for a database or registry, or a non-DDI unique identifier. As the identifier is specific to a system the system must be identified with the UserID structure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="UserAttributePair" type="ddi:StandardKeyValuePairType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A system specific user defined property of the object expressed as a key/value pair. As this is specific to an individual system the use of controlled vocabularies for the key is strongly recommended.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IdentificationPortionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides structural information for parsing the identification code structure of the Authorized Source into its separate parts.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GeographicLevelReference" type="ddi:GeographicLevelType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the Geographic Level to which this identification segment refers.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="StartPosition" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The start position of the first character expressed as an integer.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Length" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The length of the segment expressed as an integer.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IdentifierParsingInformationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides structural information for parsing the identification code structure of the Authorized Source into its separate parts.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ParentIdentificationPortion" type="ddi:IdentificationPortionType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the parent portions of the code string as individual segments. Repeat for each parental segment.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="UniqueIdentificationPortion" type="ddi:IdentificationPortionType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the unique portion of the code string as a segment.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ArrayBase" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The array base is the value of the designation for the first item in an array and is generally set to either 0 or 1. Unix based systems and most current programming systems use an array base of 0. Traditional codebooks normally set the array base at 1, for example the first data item in a fixed format ASCII file record begins at character 1.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IfThenElseTextType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes an if-then-else decision type for conditional text. IF the stated condition is met, the THEN clause is triggered, otherwise the ELSE clause is triggered. Contains an IfCondition (the condition that must be met to trigger the Then clause), a ThenResult (indicating the ConditionalResult to invoke if the condition is met), an ElseResult (indicating the construct to invoke if the condition is not met), and an ElseIfText structure allowing the expression of multiple conditions to invoke multiple branching.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IfCondition" type="ddi:CommandCodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The condition which must be met to trigger the Then clause, expressed as a CommandCode. The condition is an expression in the programming language used in the instrument.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ThenResult" type="ddi:ConditionalResultType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The conditional response which should be triggered if the associated condition is met.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ElseIfText" type="ddi:ElseIfTextType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use for multiple branching from a single point in the flow logic represented by the flow logic If, Then, ElseIf, Then, etc.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ElseResult" type="ddi:ConditionalResultType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The conditional response which should be triggered if the associated condition is not met.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ImageAreaType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines the shape and area of an image used as part of a location representation. The shape is defined as a Rectangle, Circle, or Polygon and Coordinates provides the information required to define it.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="Shape">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A fixed set of valid responses includes Rectangle, Circle, and Polygon.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Rectangle" />
                        <xs:enumeration value="Circle" />
                        <xs:enumeration value="Polygon" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Coordinates" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A comma-delimited list of x,y coordinates, listed as a set of adjacent points for rectangles and polygons, and as a center-point and a radius for circles (x,y,r).</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ImageType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A reference to an image, with a description of its properties and type.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="ImageLocation" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the location of the image using a URI.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfImage" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Brief description of the image type. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Dpi" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provides the resolution of the image in dots per inch to assist in selecting the appropriate image for various uses.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="LanguageOfImage" type="ddi:language">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Language of image.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="InParameterType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A parameter that may accept content from outside its parent element. In addition to standard parameter content may provide the instructions for limiting the allowable array index.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ParameterType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="LimitArrayIndex" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">When the InParameter represents an array of items, this attribute specifies the index identification of the items within the zero-based array which should be treated as input parameters. If not specified, the full array is treated as the input parameter.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="IncludedCodeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Specifies the codes to include in the representation by providing the references to the included Codes or a range of Values from the Code.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CodeReference" type="ddi:CodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the Code within the CodeList used by the representation. Repeat for including multiple values.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Range" type="ddi:RangeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use when multiple values are included. This uses the unique Value provided for the Code as a means of identification. Provides the range of Values used by the representation. Repeat for non-contiguous values.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IncludedGeographicLocationCodesType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Specifies the Geographic Location Codes included in the representation by providing a reference to the authorized source of the code, the GeographicLocation used, and any excluded values.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AuthorizedSourceReference" type="ddi:AuthorizedSourceType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the Authorized Source of the value used by this representation. A GeographicLocation may have more than one Authorized Source included in the listing.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="GeographicLocationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the GeographicLocation used by this representation.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="GeographicLocation" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExcludedLocationValueReference" type="ddi:LocationValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a location value that is excluded, not used by, this representation. May be repeated to exclude multiple location values.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IncludedGeographicStructureCodesType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Specifies the Geographic Structure Codes included in the representation by providing a reference to the authorized source of the code, the GeographicStructure used, and any excluded levels.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AuthorizedSourceReference" type="ddi:AuthorizedSourceType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the Authorized Source of the value used by this representation. A GeographicStructure may have more than one Authorized Source included in the listing.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="GeographicStructureReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the GeographicStructure used by this representation.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="GeographicStructure" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ExcludedGeographicLevelReference" type="ddi:GeographicLevelType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a Structure Level that is excluded, not used by, this representation. May be repeated to exclude multiple Structure values.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IndividualIdentificationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifying information about the individual including name, DDI Maintenance Agency IDs, Researcher IDs, an image and an effective period for the information.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="IndividualName" type="ddi:IndividualNameType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The name or names by which the individual is known. The legal or formal name of the individual should have the isFormal attribute set to true. The preferred name should be noted with the isPreferred attribute.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DDIMaintenanceAgencyID" type="ddi:DDIMaintenanceAgencyIDType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Contains the official DDI ID of the maintenance agency as registered with the DDI registry by the parent organization or individual. A single organization or individual may have one or more DDI Maintenance Agency IDs registered within the DDI registry (i.e., an organization may have a DDI Maintenance Agency ID for each project managed by the organization) The structure of this string is described by Part I of the Technical Documentation and the content is registered within the DDI registry as a unique identifier.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ResearcherID" type="ddi:ResearcherIDType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is a formally registered unique identifier within a specific system such as a scholars directory. It is used to disambiguate individuals of similar names.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="IndividualImage" type="ddi:PrivateImageType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Image of the individual with date and privacy information.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IndividualLanguageType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Use to specify the languages known by the individual in terms of their ability to  speak, read, and write the language. May be repeated to cover multiple languages. This information is useful for foreign contacts in determining the language of communication to use with this individual.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Language" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the language (and optionally the locale) of the individual. The language identifier is defined by IETF RFC 4646 or its successor. The base sub-tag is the ISO 639 2 or 3 digit language code.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Read" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates reading knowledge of the language specified. Supports an optional controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (LanguageProficiency) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Write" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates writing knowledge of the language specified. Supports an optional controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (LanguageProficiency) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Speak" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates speaking knowledge of the language specified. Supports an optional controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (LanguageProficiency) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EffectivePeriod" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Clarifies when the identification information is accurate.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IndividualNameType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The name of an individual broken out into its component parts of prefix, first/given name, middle name, last/family/surname, and suffix. The preferred compilation of the name parts may also be provided. The legal or formal name of the individual should have the isFormal attribute set to true. The preferred name should be noted with the isPreferred attribute. The attribute sex provides information to assist in the appropriate use of pronouns.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="Prefix" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Title that precedes the name of the individual, such as Ms., or Dr.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="FirstGiven" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">First (given) name of the individual</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Middle" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Middle name or initial of the individual</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="LastFamily" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Last (family) name /surname of the individual</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Suffix" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Title that follows the name of the individual, such as Esq.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="FullName" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This provides a means of providing a full name as a single object for display or print such as identification badges etc. For example a person with the name of William Grace for official use may prefer a display name of Bill Grace on a name tag or other informal publication.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EffectivePeriod" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Clarifies when the name information is accurate.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Abbreviation" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An abbreviation or acronym for the name. This It is assumed that if only a single language is provided that it may be used in any of the other languages within which the name itself is expressed.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfIndividualName" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The type of individual name provided. the use of a controlled vocabulary is strongly recommended. At minimum his should include, e.g. PreviousFormalName, Nickname (or CommonName), Other.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Sex">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Sex allows for the specification of male, female or neutral. The purpose of providing this information is to assist others in the appropriate use of pronouns when addressing the individual. Note that many countries/languages may offer a neutral pronoun form.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="M" />
                        <xs:enumeration value="F" />
                        <xs:enumeration value="N" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsPreferred" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If more than one name for the object is provided, use the isPreferred attribute to indicate which is the preferred name content. All other names should be set to isPreferred="false".</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Context" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A name may be specific to a particular context, i.e. common usage, business, social, etc.. Identify the context related to the specified name.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsFormal" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The legal or formal name of the individual should have the isFormal attribute set to true. To avoid confusion only one individual name should have the isFormal attribute set to true. Use the TypeOfIndividualName to further differentiate the type and applied usage when multiple names are provided.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="InstantMessagingType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Indicates type of Instant messaging account identification</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="IMIdentification" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates Instant messaging account identification</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfInstantMessaging" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates type of Instant messaging account used. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EffectivePeriod" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Clarifies when the identification information is accurate.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Privacy">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A basic set of privacy codes for the parent element. These may be stricter than the general access restrictions for the overall metadata. If available codes are insufficient this may also contain any string.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="public" />
                        <xs:enumeration value="restricted" />
                        <xs:enumeration value="private" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsPreferred" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Set to "true" if this is the preferred address for instant messaging.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="InstructionAttachmentLocationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows attachment of an instruction to a specific item in a question structure. For example, to a Label, QuestionText, ResponseDomain, Response domain value, or grid cell.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AttachmentLocation" type="ddi:AttachmentLocationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows attachment of an instruction to a specific item in a code or category scheme. For example, attach a Definition to a specific Code/Category the value.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GridAttachment" type="ddi:GridAttachmentType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the cell or cells in a grid to which the instruction is attached by a reference to a specific cell coordinate in a grid or by identifying a range of values along a dimension.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AttachToLabel" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Attach the instruction to the Question Label.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AttachToQuestionText" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Attach the instruction to the QuestionText.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="InternationalCodeValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows for string content which may be taken from an externally maintained controlled vocabulary. If the content is from a controlled vocabulary provide the code value, as well as a reference to the code list from which the value is taken. This differs from a CodeValue only by the provision of a language-location specification. DDI uses the International CodeValue in cases where controlled vocabularies are assumed to be highly language specific, such as nationally maintained subject headings, thesauri, or keywords derived from the content of documents. The ability to identify language is especially important when supporting searches by external language-specific search engines. Provide as many of the identifying attributes as needed to adequately identify the controlled vocabulary.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="MultilingualStringValue" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The language string or code term as it appears in the controlled vocabulary</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ControlledVocabularyID" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The ID of the code controlled vocabulary that the content was taken from.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ControlledVocabularyName" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The name of the controlledVocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ControlledVocabularyAgencyName" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The name of the agency maintaining the controlledVocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ControlledVocabularyVersionID" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The version number of the controlledVocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="OtherValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If the value of the string is "Other" or the equivalent from the controlledVocabulary, this attribute can provide a more specific value not found in the codelist.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ControlledVocabularyURN" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The URN of the codelist.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ControlledVocabularySchemeURN" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If maintained within a scheme, the URN of the scheme containing the controlledVocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="InternationalIdentifierType">
        <xs:annotation>
            <xs:documentation xml:lang="en">An identifier whose scope of uniqueness is broader than the local archive. Common forms of an international identifier are ISBN, ISSN, DOI or similar designator. Provides both the value of the identifier and the agency who manages it.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="IdentifierContent" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An identifier as it should be listed for identification purposes.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ManagingAgency" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The identification of the Agency which assigns and manages the identifier, i.e., ISBN, ISSN, DOI, etc.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ItemMapType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Maps a Source and one or more Target items of the same type within the Source and Target Schemes identified.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="SourceItemReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the source object in the source scheme already identified. TypeOfObject dependent on object of comparison.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ApprovalReview" />
                                            <xs:enumeration value="Archive" />
                                            <xs:enumeration value="Category" />
                                            <xs:enumeration value="CategoryGroup" />
                                            <xs:enumeration value="CategoryScheme" />
                                            <xs:enumeration value="ClassificationCorrespondenceTable" />
                                            <xs:enumeration value="ClassificationFamily" />
                                            <xs:enumeration value="ClassificationIndex" />
                                            <xs:enumeration value="ClassificationItem" />
                                            <xs:enumeration value="ClassificationLevel" />
                                            <xs:enumeration value="ClassificationSeries" />
                                            <xs:enumeration value="CodeList" />
                                            <xs:enumeration value="CodeListGroup" />
                                            <xs:enumeration value="CodeListScheme" />
                                            <xs:enumeration value="CognitiveExpertReviewActivity" />
                                            <xs:enumeration value="CognitiveInterviewActivity" />
                                            <xs:enumeration value="Comparison" />
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="Concept" />
                                            <xs:enumeration value="ConceptGroup" />
                                            <xs:enumeration value="ConceptScheme" />
                                            <xs:enumeration value="ConceptualComponent" />
                                            <xs:enumeration value="ConceptualVariable" />
                                            <xs:enumeration value="ConceptualVariableGroup" />
                                            <xs:enumeration value="ConceptualVariableScheme" />
                                            <xs:enumeration value="ContentReviewActivity" />
                                            <xs:enumeration value="ControlConstructGroup" />
                                            <xs:enumeration value="ControlConstructScheme" />
                                            <xs:enumeration value="DDIInstance" />
                                            <xs:enumeration value="DDIProfile" />
                                            <xs:enumeration value="DataCaptureDevelopment" />
                                            <xs:enumeration value="DataCollection" />
                                            <xs:enumeration value="DataRelationship" />
                                            <xs:enumeration value="DataSet" />
                                            <xs:enumeration value="DevelopmentActivityGroup" />
                                            <xs:enumeration value="DevelopmentActivityScheme" />
                                            <xs:enumeration value="DevelopmentImplementation" />
                                            <xs:enumeration value="DevelopmentPlan" />
                                            <xs:enumeration value="DevelopmentResults" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="FocusGroupActivity" />
                                            <xs:enumeration value="GeneralInstruction" />
                                            <xs:enumeration value="GenerationInstruction" />
                                            <xs:enumeration value="GenericMap" />
                                            <xs:enumeration value="GeographicLocation" />
                                            <xs:enumeration value="GeographicLocationGroup" />
                                            <xs:enumeration value="GeographicLocationScheme" />
                                            <xs:enumeration value="GeographicStructure" />
                                            <xs:enumeration value="GeographicStructureGroup" />
                                            <xs:enumeration value="GeographicStructureScheme" />
                                            <xs:enumeration value="Group" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="InLineNCubeRecordLayout" />
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="InformationClassification" />
                                            <xs:enumeration value="Instruction" />
                                            <xs:enumeration value="InstructionGroup" />
                                            <xs:enumeration value="Instrument" />
                                            <xs:enumeration value="InstrumentGroup" />
                                            <xs:enumeration value="InstrumentScheme" />
                                            <xs:enumeration value="InterviewerInstructionScheme" />
                                            <xs:enumeration value="LocalHoldingPackage" />
                                            <xs:enumeration value="LogicalProduct" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="ManagedCategoryRepresentation" />
                                            <xs:enumeration value="ManagedCodeRepresentation" />
                                            <xs:enumeration value="ManagedDateTimeRepresentation" />
                                            <xs:enumeration value="ManagedDistributionRepresentation" />
                                            <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                            <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                            <xs:enumeration value="ManagedGeographicRepresentation" />
                                            <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                            <xs:enumeration value="ManagedLocationRepresentation" />
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                            <xs:enumeration value="ManagedNominalRepresentation" />
                                            <xs:enumeration value="ManagedNumericRepresentation" />
                                            <xs:enumeration value="ManagedRankingRepresentation" />
                                            <xs:enumeration value="ManagedRepresentationGroup" />
                                            <xs:enumeration value="ManagedRepresentationScheme" />
                                            <xs:enumeration value="ManagedScaleRepresentation" />
                                            <xs:enumeration value="ManagedTextRepresentation" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="MeasurementGroup" />
                                            <xs:enumeration value="MeasurementItem" />
                                            <xs:enumeration value="MeasurementScheme" />
                                            <xs:enumeration value="Methodology" />
                                            <xs:enumeration value="NCube" />
                                            <xs:enumeration value="NCubeGroup" />
                                            <xs:enumeration value="NCubeInstance" />
                                            <xs:enumeration value="NCubeInstanceI" />
                                            <xs:enumeration value="NCubeInstanceT" />
                                            <xs:enumeration value="NCubeScheme" />
                                            <xs:enumeration value="Organization" />
                                            <xs:enumeration value="OrganizationGroup" />
                                            <xs:enumeration value="OrganizationScheme" />
                                            <xs:enumeration value="OtherMaterial" />
                                            <xs:enumeration value="OtherMaterialGroup" />
                                            <xs:enumeration value="OtherMaterialScheme" />
                                            <xs:enumeration value="PhysicalDataProduct" />
                                            <xs:enumeration value="PhysicalInstance" />
                                            <xs:enumeration value="PhysicalInstanceGroup" />
                                            <xs:enumeration value="PhysicalStructure" />
                                            <xs:enumeration value="PhysicalStructureGroup" />
                                            <xs:enumeration value="PhysicalStructureScheme" />
                                            <xs:enumeration value="Population" />
                                            <xs:enumeration value="PopulationGroup" />
                                            <xs:enumeration value="PopulationScheme" />
                                            <xs:enumeration value="PretestActivity" />
                                            <xs:enumeration value="ProcessingEvent" />
                                            <xs:enumeration value="ProcessingEventGroup" />
                                            <xs:enumeration value="ProcessingEventScheme" />
                                            <xs:enumeration value="ProcessingInstructionGroup" />
                                            <xs:enumeration value="ProcessingInstructionScheme" />
                                            <xs:enumeration value="ProprietaryRecordLayout" />
                                            <xs:enumeration value="QualityScheme" />
                                            <xs:enumeration value="QualityStandard" />
                                            <xs:enumeration value="QualityStandardGroup" />
                                            <xs:enumeration value="QualityStatement" />
                                            <xs:enumeration value="QualityStatementGroup" />
                                            <xs:enumeration value="QuestionBlock" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="QuestionGrid" />
                                            <xs:enumeration value="QuestionGroup" />
                                            <xs:enumeration value="QuestionItem" />
                                            <xs:enumeration value="QuestionScheme" />
                                            <xs:enumeration value="RecordLayout" />
                                            <xs:enumeration value="RecordLayoutGroup" />
                                            <xs:enumeration value="RecordLayoutScheme" />
                                            <xs:enumeration value="Relation" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="RepresentationMap" />
                                            <xs:enumeration value="RepresentedVariable" />
                                            <xs:enumeration value="RepresentedVariableGroup" />
                                            <xs:enumeration value="RepresentedVariableScheme" />
                                            <xs:enumeration value="ResourcePackage" />
                                            <xs:enumeration value="Sample" />
                                            <xs:enumeration value="SampleFrame" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingInformationGroup" />
                                            <xs:enumeration value="SamplingInformationScheme" />
                                            <xs:enumeration value="SamplingPlan" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                            <xs:enumeration value="StatisticalClassification" />
                                            <xs:enumeration value="StudyUnit" />
                                            <xs:enumeration value="SubUniverseClass" />
                                            <xs:enumeration value="TabularNCubeRecordLayout" />
                                            <xs:enumeration value="TranslationActivity" />
                                            <xs:enumeration value="UnitType" />
                                            <xs:enumeration value="UnitTypeGroup" />
                                            <xs:enumeration value="UnitTypeScheme" />
                                            <xs:enumeration value="Universe" />
                                            <xs:enumeration value="UniverseGroup" />
                                            <xs:enumeration value="UniverseScheme" />
                                            <xs:enumeration value="Variable" />
                                            <xs:enumeration value="VariableGroup" />
                                            <xs:enumeration value="VariableScheme" />
                                            <xs:enumeration value="VariableStatistics" />
                                            <xs:enumeration value="Weighting" />
                                            <xs:enumeration value="WeightingMethodology" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="TargetItemReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference the target object or objects in the target scheme already identified. TypeOfObject dependent on object of comparison. Note that if multiple target items are identified the correspondence between the source and ALL target items must be identical.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ApprovalReview" />
                                            <xs:enumeration value="Archive" />
                                            <xs:enumeration value="Category" />
                                            <xs:enumeration value="CategoryGroup" />
                                            <xs:enumeration value="CategoryScheme" />
                                            <xs:enumeration value="ClassificationCorrespondenceTable" />
                                            <xs:enumeration value="ClassificationFamily" />
                                            <xs:enumeration value="ClassificationIndex" />
                                            <xs:enumeration value="ClassificationItem" />
                                            <xs:enumeration value="ClassificationLevel" />
                                            <xs:enumeration value="ClassificationSeries" />
                                            <xs:enumeration value="CodeList" />
                                            <xs:enumeration value="CodeListGroup" />
                                            <xs:enumeration value="CodeListScheme" />
                                            <xs:enumeration value="CognitiveExpertReviewActivity" />
                                            <xs:enumeration value="CognitiveInterviewActivity" />
                                            <xs:enumeration value="Comparison" />
                                            <xs:enumeration value="ComputationItem" />
                                            <xs:enumeration value="Concept" />
                                            <xs:enumeration value="ConceptGroup" />
                                            <xs:enumeration value="ConceptScheme" />
                                            <xs:enumeration value="ConceptualComponent" />
                                            <xs:enumeration value="ConceptualVariable" />
                                            <xs:enumeration value="ConceptualVariableGroup" />
                                            <xs:enumeration value="ConceptualVariableScheme" />
                                            <xs:enumeration value="ContentReviewActivity" />
                                            <xs:enumeration value="ControlConstructGroup" />
                                            <xs:enumeration value="ControlConstructScheme" />
                                            <xs:enumeration value="DDIInstance" />
                                            <xs:enumeration value="DDIProfile" />
                                            <xs:enumeration value="DataCaptureDevelopment" />
                                            <xs:enumeration value="DataCollection" />
                                            <xs:enumeration value="DataRelationship" />
                                            <xs:enumeration value="DataSet" />
                                            <xs:enumeration value="DevelopmentActivityGroup" />
                                            <xs:enumeration value="DevelopmentActivityScheme" />
                                            <xs:enumeration value="DevelopmentImplementation" />
                                            <xs:enumeration value="DevelopmentPlan" />
                                            <xs:enumeration value="DevelopmentResults" />
                                            <xs:enumeration value="DevelopmentStep" />
                                            <xs:enumeration value="FocusGroupActivity" />
                                            <xs:enumeration value="GeneralInstruction" />
                                            <xs:enumeration value="GenerationInstruction" />
                                            <xs:enumeration value="GenericMap" />
                                            <xs:enumeration value="GeographicLocation" />
                                            <xs:enumeration value="GeographicLocationGroup" />
                                            <xs:enumeration value="GeographicLocationScheme" />
                                            <xs:enumeration value="GeographicStructure" />
                                            <xs:enumeration value="GeographicStructureGroup" />
                                            <xs:enumeration value="GeographicStructureScheme" />
                                            <xs:enumeration value="Group" />
                                            <xs:enumeration value="IfThenElse" />
                                            <xs:enumeration value="InLineNCubeRecordLayout" />
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="InformationClassification" />
                                            <xs:enumeration value="Instruction" />
                                            <xs:enumeration value="InstructionGroup" />
                                            <xs:enumeration value="Instrument" />
                                            <xs:enumeration value="InstrumentGroup" />
                                            <xs:enumeration value="InstrumentScheme" />
                                            <xs:enumeration value="InterviewerInstructionScheme" />
                                            <xs:enumeration value="LocalHoldingPackage" />
                                            <xs:enumeration value="LogicalProduct" />
                                            <xs:enumeration value="Loop" />
                                            <xs:enumeration value="ManagedCategoryRepresentation" />
                                            <xs:enumeration value="ManagedCodeRepresentation" />
                                            <xs:enumeration value="ManagedDateTimeRepresentation" />
                                            <xs:enumeration value="ManagedDistributionRepresentation" />
                                            <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                            <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                            <xs:enumeration value="ManagedGeographicRepresentation" />
                                            <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                            <xs:enumeration value="ManagedLocationRepresentation" />
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                            <xs:enumeration value="ManagedNominalRepresentation" />
                                            <xs:enumeration value="ManagedNumericRepresentation" />
                                            <xs:enumeration value="ManagedRankingRepresentation" />
                                            <xs:enumeration value="ManagedRepresentationGroup" />
                                            <xs:enumeration value="ManagedRepresentationScheme" />
                                            <xs:enumeration value="ManagedScaleRepresentation" />
                                            <xs:enumeration value="ManagedTextRepresentation" />
                                            <xs:enumeration value="MeasurementConstruct" />
                                            <xs:enumeration value="MeasurementGroup" />
                                            <xs:enumeration value="MeasurementItem" />
                                            <xs:enumeration value="MeasurementScheme" />
                                            <xs:enumeration value="Methodology" />
                                            <xs:enumeration value="NCube" />
                                            <xs:enumeration value="NCubeGroup" />
                                            <xs:enumeration value="NCubeInstance" />
                                            <xs:enumeration value="NCubeInstanceI" />
                                            <xs:enumeration value="NCubeInstanceT" />
                                            <xs:enumeration value="NCubeScheme" />
                                            <xs:enumeration value="Organization" />
                                            <xs:enumeration value="OrganizationGroup" />
                                            <xs:enumeration value="OrganizationScheme" />
                                            <xs:enumeration value="OtherMaterial" />
                                            <xs:enumeration value="OtherMaterialGroup" />
                                            <xs:enumeration value="OtherMaterialScheme" />
                                            <xs:enumeration value="PhysicalDataProduct" />
                                            <xs:enumeration value="PhysicalInstance" />
                                            <xs:enumeration value="PhysicalInstanceGroup" />
                                            <xs:enumeration value="PhysicalStructure" />
                                            <xs:enumeration value="PhysicalStructureGroup" />
                                            <xs:enumeration value="PhysicalStructureScheme" />
                                            <xs:enumeration value="Population" />
                                            <xs:enumeration value="PopulationGroup" />
                                            <xs:enumeration value="PopulationScheme" />
                                            <xs:enumeration value="PretestActivity" />
                                            <xs:enumeration value="ProcessingEvent" />
                                            <xs:enumeration value="ProcessingEventGroup" />
                                            <xs:enumeration value="ProcessingEventScheme" />
                                            <xs:enumeration value="ProcessingInstructionGroup" />
                                            <xs:enumeration value="ProcessingInstructionScheme" />
                                            <xs:enumeration value="ProprietaryRecordLayout" />
                                            <xs:enumeration value="QualityScheme" />
                                            <xs:enumeration value="QualityStandard" />
                                            <xs:enumeration value="QualityStandardGroup" />
                                            <xs:enumeration value="QualityStatement" />
                                            <xs:enumeration value="QualityStatementGroup" />
                                            <xs:enumeration value="QuestionBlock" />
                                            <xs:enumeration value="QuestionConstruct" />
                                            <xs:enumeration value="QuestionGrid" />
                                            <xs:enumeration value="QuestionGroup" />
                                            <xs:enumeration value="QuestionItem" />
                                            <xs:enumeration value="QuestionScheme" />
                                            <xs:enumeration value="RecordLayout" />
                                            <xs:enumeration value="RecordLayoutGroup" />
                                            <xs:enumeration value="RecordLayoutScheme" />
                                            <xs:enumeration value="Relation" />
                                            <xs:enumeration value="RepeatUntil" />
                                            <xs:enumeration value="RepeatWhile" />
                                            <xs:enumeration value="RepresentationMap" />
                                            <xs:enumeration value="RepresentedVariable" />
                                            <xs:enumeration value="RepresentedVariableGroup" />
                                            <xs:enumeration value="RepresentedVariableScheme" />
                                            <xs:enumeration value="ResourcePackage" />
                                            <xs:enumeration value="Sample" />
                                            <xs:enumeration value="SampleFrame" />
                                            <xs:enumeration value="SampleStep" />
                                            <xs:enumeration value="SamplingInformationGroup" />
                                            <xs:enumeration value="SamplingInformationScheme" />
                                            <xs:enumeration value="SamplingPlan" />
                                            <xs:enumeration value="SamplingStage" />
                                            <xs:enumeration value="Sequence" />
                                            <xs:enumeration value="Split" />
                                            <xs:enumeration value="SplitJoin" />
                                            <xs:enumeration value="StatementItem" />
                                            <xs:enumeration value="StatisticalClassification" />
                                            <xs:enumeration value="StudyUnit" />
                                            <xs:enumeration value="SubUniverseClass" />
                                            <xs:enumeration value="TabularNCubeRecordLayout" />
                                            <xs:enumeration value="TranslationActivity" />
                                            <xs:enumeration value="UnitType" />
                                            <xs:enumeration value="UnitTypeGroup" />
                                            <xs:enumeration value="UnitTypeScheme" />
                                            <xs:enumeration value="Universe" />
                                            <xs:enumeration value="UniverseGroup" />
                                            <xs:enumeration value="UniverseScheme" />
                                            <xs:enumeration value="Variable" />
                                            <xs:enumeration value="VariableGroup" />
                                            <xs:enumeration value="VariableScheme" />
                                            <xs:enumeration value="VariableStatistics" />
                                            <xs:enumeration value="Weighting" />
                                            <xs:enumeration value="WeightingMethodology" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Correspondence" type="ddi:CorrespondenceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describe the level of similarity and difference between the Source and the Target objects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="RelatedMapReference" type="ddi:ItemMapType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies related maps for example an ItemMap of two questions may point to the CodeMap defining the comparison of the two response domains.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Alias" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for an alias to be assigned to the correspondence between two items, so that it can be referred to with a single name, that would include both related items.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ItemSetType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Storage format for random order item variables. Each ItemValue references it's defining variable, it's record identifier, and the it's value.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ItemValue" type="ddi:ItemValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Each value in the data set linked to it's variable and record identification.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ItemType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes individual items held or distributed by the archive in connection with a study, group of studies, or resource packages. What constitutes an item is determined by the archive. Provides identification information on the item within the context of the archive including citation, a statement on its location, call number (internal identifier), URI, format, media type, and source. The item is classified by a study class designation, information on access restrictions, and availability status. Content information on the number of data files associated with the item, the completeness of the collection of objects represented by this item as well as descriptions of nested items are provided.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Citation" type="ddi:CitationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A citation for the item. May additionally be rendered in native qualified Dublin Core (dc and dcterms).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="LocationInArchive" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the location of the item within the archive.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CallNumber" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The name, code, or number used by the archive to uniquely identify the item within the archive.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="URI" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The URL or URN for the item.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ItemFormat" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the item's format.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Media" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the medium, or media, for the item.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StudyClass" type="ddi:StudyClassType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An archive specific classification for the item. This may be a topical classification, a classification of intended processing levels, or information on the processing status.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Access" type="ddi:AccessType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Access restriction information applying to the item. If none are specified the default restrictions of the archive or parent collection or item apply.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="OriginalArchiveOrganizationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The original archive for the described item, expressed as a reference to an organization listed in the organization scheme.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="AvailabilityStatus" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A statement of availability for the object. This is a positive statement (as opposed to access restrictions) which may be used for publication or other purposes.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DataFileQuantity" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The number of data files in the described item, expressed as an integer. This is a check sum and should be updated as the contents of the collection changes. The use of this element is best restricted to completed collections where change in the number of objects is not dynamic.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="CollectionCompleteness" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the completeness of the collection for the item and its related data files and sub-items. Note coverage gaps as well as unique content . This statement may be used for publication or other purposes.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Item" type="ddi:ItemType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows for the nesting of Item descriptions with a item.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ItemValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Each value in the data set linked to it's variable and record identification.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="VariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the variable describing the item.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="RecordReference" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value of the record identifier or key. This is the value found in the item linked to the variable identified by the DataSet in the IdentifyingVariableReference.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Value" type="ddi:ValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value of the item for the specified variable and record.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="KindOfDataType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes, with a string or a term from a controlled vocabulary, the kind of data documented in the logical product(s) of a study unit. Examples include survey data, census/enumeration data, administrative data, measurement data, assessment data, demographic data, voting data, etc.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:CodeValueType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="Type">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a description of the types of data described by the KindOfData element.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="Qualitative" />
                                <xs:enumeration value="Quantitative" />
                                <xs:enumeration value="Mixed" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="LanguageAbilitySoughtType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes both minimum and preferred language abilities sought for the translation work as a set of source and target language requirements.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MinimumLanguageAbility" type="ddi:IndividualLanguageType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the language and the individuals ability to read, write, and speak the designated language using a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="PreferredLanguageAbility" type="ddi:IndividualLanguageType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the language and the individuals ability to read, write, and speak the designated language using a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LevelContextType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Level Context provides the depth of a Level within a Statistical Classification together with its membership. Both depth and membership can be specified per Statistical Classification.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="LevelNumber" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The number associated with the Level Context. Levels are numbered consecutively starting with Level 1 at the highest (most aggregated) Level.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ClassificationLevelReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The structure of a Statistical Classification is defined by its Levels (classification level). Include here links to the relevant Level. Allows for in-line entry of a Classification Level.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ClassificationLevel" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="ClassificationItemReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A Statistical Classification is composed of categories structured in one or more Levels. Each category is represented by a Classification Item, which defines the content and the borders of the category. Allows for in-line entry of a Classification Item.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ClassificationItem" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LevelReferenceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a Reference to a GeographicLevel if available and a name for the level. Only one reference can be provided but multiple name provided.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GeographicLevelReference" type="ddi:GeographicLevelType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the Geographic Level as described in the GeographicStructure. TypeOfObject should be set to GeographicLevel.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="GeographicLevelName" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Name of a geographic level.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LevelType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used to describe the levels of the code list hierarchy. The level describes the nesting structure of a hierarchical coding structure. A level could have data attached to it (summary of its children) or no data attached to it (the equivalent of creating a category group in 2.0 and earlier versions Note that the attribute levelNumber is used for referencing specific codes to their level identifier. Although Code Lists can be physically nested, the use of a Level description and the level number on a specific code is needed to specify subsets of the CodeList for use in CodeRepresentations by level specification. Provides a name, description and level number. Specifies the relationship between the categories at that level and interval value if the relationship has the value of Interval.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="LevelName" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Name of a level in a code scheme. This should be short and explicit, such as Major Industrial Groups (2 digit SIC Codes) or NUTS 1.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the code Level.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CategoryRelationship">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the relationships among categories at that respective level. Possible values are either Nominal, Ordinal, or Interval. Note that different levels may have different types of relationships within the same hierarchy. For example, Level 1 items may be ordinal and Level 2 (the children of Level 1 items) may be nominal.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Nominal" />
                        <xs:enumeration value="Ordinal" />
                        <xs:enumeration value="Interval" />
                        <xs:enumeration value="Ratio" />
                        <xs:enumeration value="Continuous" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IntervalIncrement" type="ddi:BasicIncrementType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the interval between each value of the codes at this level. Used only for codes with interval relationship.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="LevelNumber" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Designated identifier for the level; generally increases as the level of indention for nesting increases.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LifecycleEventType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Documents an event in the life cycle of a study or group of studies. A life cycle event can be any event which is judged to be significant enough to document by the agency maintaining the documentation for a particular set of data. The element EventType indicates the type of event, using a typology meaningful to the documenter.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A label for the LifecycleEvent.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EventType" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the type of LifecycleEvent, using a typology meaningful to the documenter. Supports the use of a controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (LifecycleEventType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Date" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The date or date range of the LifecycleEvent.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="AgencyOrganizationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to an organization or individual, defined in the organization scheme, responsible for the life cycle event.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Individual" />
                                            <xs:enumeration value="Organization" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the event such as what the event included, its importance, or other significant information.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Relationship" type="ddi:RelationshipType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows linking a lifecycle event to one or more sections of metadata. If no relationship is noted the lifecycle event relates to its full parent StudyUnit, Group, or Resource Package.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="LifecycleInformationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows a listing of events in the life cycle of a data set or collection. Identification, date, agency, and descriptive information are provided for each event. Note that the agency that documents a lifecycle event is not necessarily the same agency as the one that performed the operation being documented as a lifecycle event.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="LifecycleEvent" type="ddi:LifecycleEventType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Documents an event in the life cycle of a study or group of studies. A life cycle event can be any event which is judged to be significant enough to document by the agency maintaining the documentation for a particular set of data.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LimitedCodeSegmentCapturedType">
        <xs:annotation>
            <xs:documentation xml:lang="en">When the code is a concatenation this structure allows you to limit the portion of the concatenated code that this object captures. Provides an description of the segment, declares the array base used, the start position of the segment and its length.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the content and purpose of the segment used.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ArrayBase" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The array base is the value of the designation for the first item in an array and is generally set to either 0 or 1. Unix based systems and most current programming systems use an array base of 0. Traditional codebooks normally set the array base at 1, for example the first data item in a fixed format ASCII file record begins at character 1.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="StartPosition" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The start position of the first character expressed as an integer.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Length" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The length of the segment expressed as an integer.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LineParameterType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Specification of the line and offset for the beginning and end of the segment.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="StartLine" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Number of lines from beginning of the document.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="StartOffset" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Number of characters from start of the line specified in StartLine.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="EndLine" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Number of lines from beginning of the document.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="EndOffset" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Number of characters from the start of the line specified in EndLine.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LinkingMapType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides a link from a local object to a deposited object via reference and designates if the added material should Override, act as AddedContent, or DeleteContent in the original deposited material. A description of the link or reason for new material may be provided.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="LocalObjectReference_IdentifiableType" type="ddi:IdentifiableType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the local object that is to be related to a depository object. If the relationship action is set to delete then no local object needs to be designated.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="LocalObjectReference_Versionable">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the local object that is to be related to a depository object. If the relationship action is set to delete then no local object needs to be designated.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ApprovalReview" />
                                    <xs:enumeration value="Archive" />
                                    <xs:enumeration value="Category" />
                                    <xs:enumeration value="CategoryGroup" />
                                    <xs:enumeration value="CategoryScheme" />
                                    <xs:enumeration value="ClassificationCorrespondenceTable" />
                                    <xs:enumeration value="ClassificationFamily" />
                                    <xs:enumeration value="ClassificationIndex" />
                                    <xs:enumeration value="ClassificationItem" />
                                    <xs:enumeration value="ClassificationLevel" />
                                    <xs:enumeration value="ClassificationSeries" />
                                    <xs:enumeration value="CodeList" />
                                    <xs:enumeration value="CodeListGroup" />
                                    <xs:enumeration value="CodeListScheme" />
                                    <xs:enumeration value="CognitiveExpertReviewActivity" />
                                    <xs:enumeration value="CognitiveInterviewActivity" />
                                    <xs:enumeration value="Comparison" />
                                    <xs:enumeration value="ComputationItem" />
                                    <xs:enumeration value="Concept" />
                                    <xs:enumeration value="ConceptGroup" />
                                    <xs:enumeration value="ConceptScheme" />
                                    <xs:enumeration value="ConceptualComponent" />
                                    <xs:enumeration value="ConceptualVariable" />
                                    <xs:enumeration value="ConceptualVariableGroup" />
                                    <xs:enumeration value="ConceptualVariableScheme" />
                                    <xs:enumeration value="ContentReviewActivity" />
                                    <xs:enumeration value="ControlConstructGroup" />
                                    <xs:enumeration value="ControlConstructScheme" />
                                    <xs:enumeration value="DDIInstance" />
                                    <xs:enumeration value="DDIProfile" />
                                    <xs:enumeration value="DataCaptureDevelopment" />
                                    <xs:enumeration value="DataCollection" />
                                    <xs:enumeration value="DataRelationship" />
                                    <xs:enumeration value="DataSet" />
                                    <xs:enumeration value="DevelopmentActivityGroup" />
                                    <xs:enumeration value="DevelopmentActivityScheme" />
                                    <xs:enumeration value="DevelopmentImplementation" />
                                    <xs:enumeration value="DevelopmentPlan" />
                                    <xs:enumeration value="DevelopmentResults" />
                                    <xs:enumeration value="DevelopmentStep" />
                                    <xs:enumeration value="FocusGroupActivity" />
                                    <xs:enumeration value="GeneralInstruction" />
                                    <xs:enumeration value="GenerationInstruction" />
                                    <xs:enumeration value="GenericMap" />
                                    <xs:enumeration value="GeographicLocation" />
                                    <xs:enumeration value="GeographicLocationGroup" />
                                    <xs:enumeration value="GeographicLocationScheme" />
                                    <xs:enumeration value="GeographicStructure" />
                                    <xs:enumeration value="GeographicStructureGroup" />
                                    <xs:enumeration value="GeographicStructureScheme" />
                                    <xs:enumeration value="Group" />
                                    <xs:enumeration value="IfThenElse" />
                                    <xs:enumeration value="InLineNCubeRecordLayout" />
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="InformationClassification" />
                                    <xs:enumeration value="Instruction" />
                                    <xs:enumeration value="InstructionGroup" />
                                    <xs:enumeration value="Instrument" />
                                    <xs:enumeration value="InstrumentGroup" />
                                    <xs:enumeration value="InstrumentScheme" />
                                    <xs:enumeration value="InterviewerInstructionScheme" />
                                    <xs:enumeration value="LocalHoldingPackage" />
                                    <xs:enumeration value="LogicalProduct" />
                                    <xs:enumeration value="Loop" />
                                    <xs:enumeration value="ManagedCategoryRepresentation" />
                                    <xs:enumeration value="ManagedCodeRepresentation" />
                                    <xs:enumeration value="ManagedDateTimeRepresentation" />
                                    <xs:enumeration value="ManagedDistributionRepresentation" />
                                    <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                    <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                    <xs:enumeration value="ManagedGeographicRepresentation" />
                                    <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                    <xs:enumeration value="ManagedLocationRepresentation" />
                                    <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                    <xs:enumeration value="ManagedNominalRepresentation" />
                                    <xs:enumeration value="ManagedNumericRepresentation" />
                                    <xs:enumeration value="ManagedRankingRepresentation" />
                                    <xs:enumeration value="ManagedRepresentationGroup" />
                                    <xs:enumeration value="ManagedRepresentationScheme" />
                                    <xs:enumeration value="ManagedScaleRepresentation" />
                                    <xs:enumeration value="ManagedTextRepresentation" />
                                    <xs:enumeration value="MeasurementConstruct" />
                                    <xs:enumeration value="MeasurementGroup" />
                                    <xs:enumeration value="MeasurementItem" />
                                    <xs:enumeration value="MeasurementScheme" />
                                    <xs:enumeration value="Methodology" />
                                    <xs:enumeration value="NCube" />
                                    <xs:enumeration value="NCubeGroup" />
                                    <xs:enumeration value="NCubeInstance" />
                                    <xs:enumeration value="NCubeInstanceI" />
                                    <xs:enumeration value="NCubeInstanceT" />
                                    <xs:enumeration value="NCubeScheme" />
                                    <xs:enumeration value="Organization" />
                                    <xs:enumeration value="OrganizationGroup" />
                                    <xs:enumeration value="OrganizationScheme" />
                                    <xs:enumeration value="OtherMaterial" />
                                    <xs:enumeration value="OtherMaterialGroup" />
                                    <xs:enumeration value="OtherMaterialScheme" />
                                    <xs:enumeration value="PhysicalDataProduct" />
                                    <xs:enumeration value="PhysicalInstance" />
                                    <xs:enumeration value="PhysicalInstanceGroup" />
                                    <xs:enumeration value="PhysicalStructure" />
                                    <xs:enumeration value="PhysicalStructureGroup" />
                                    <xs:enumeration value="PhysicalStructureScheme" />
                                    <xs:enumeration value="Population" />
                                    <xs:enumeration value="PopulationGroup" />
                                    <xs:enumeration value="PopulationScheme" />
                                    <xs:enumeration value="PretestActivity" />
                                    <xs:enumeration value="ProcessingEvent" />
                                    <xs:enumeration value="ProcessingEventGroup" />
                                    <xs:enumeration value="ProcessingEventScheme" />
                                    <xs:enumeration value="ProcessingInstructionGroup" />
                                    <xs:enumeration value="ProcessingInstructionScheme" />
                                    <xs:enumeration value="ProprietaryRecordLayout" />
                                    <xs:enumeration value="QualityScheme" />
                                    <xs:enumeration value="QualityStandard" />
                                    <xs:enumeration value="QualityStandardGroup" />
                                    <xs:enumeration value="QualityStatement" />
                                    <xs:enumeration value="QualityStatementGroup" />
                                    <xs:enumeration value="QuestionBlock" />
                                    <xs:enumeration value="QuestionConstruct" />
                                    <xs:enumeration value="QuestionGrid" />
                                    <xs:enumeration value="QuestionGroup" />
                                    <xs:enumeration value="QuestionItem" />
                                    <xs:enumeration value="QuestionScheme" />
                                    <xs:enumeration value="RecordLayout" />
                                    <xs:enumeration value="RecordLayoutGroup" />
                                    <xs:enumeration value="RecordLayoutScheme" />
                                    <xs:enumeration value="Relation" />
                                    <xs:enumeration value="RepeatUntil" />
                                    <xs:enumeration value="RepeatWhile" />
                                    <xs:enumeration value="RepresentationMap" />
                                    <xs:enumeration value="RepresentedVariable" />
                                    <xs:enumeration value="RepresentedVariableGroup" />
                                    <xs:enumeration value="RepresentedVariableScheme" />
                                    <xs:enumeration value="ResourcePackage" />
                                    <xs:enumeration value="Sample" />
                                    <xs:enumeration value="SampleFrame" />
                                    <xs:enumeration value="SampleStep" />
                                    <xs:enumeration value="SamplingInformationGroup" />
                                    <xs:enumeration value="SamplingInformationScheme" />
                                    <xs:enumeration value="SamplingPlan" />
                                    <xs:enumeration value="SamplingStage" />
                                    <xs:enumeration value="Sequence" />
                                    <xs:enumeration value="Split" />
                                    <xs:enumeration value="SplitJoin" />
                                    <xs:enumeration value="StatementItem" />
                                    <xs:enumeration value="StatisticalClassification" />
                                    <xs:enumeration value="StudyUnit" />
                                    <xs:enumeration value="SubUniverseClass" />
                                    <xs:enumeration value="TabularNCubeRecordLayout" />
                                    <xs:enumeration value="TranslationActivity" />
                                    <xs:enumeration value="UnitType" />
                                    <xs:enumeration value="UnitTypeGroup" />
                                    <xs:enumeration value="UnitTypeScheme" />
                                    <xs:enumeration value="Universe" />
                                    <xs:enumeration value="UniverseGroup" />
                                    <xs:enumeration value="UniverseScheme" />
                                    <xs:enumeration value="Variable" />
                                    <xs:enumeration value="VariableGroup" />
                                    <xs:enumeration value="VariableScheme" />
                                    <xs:enumeration value="VariableStatistics" />
                                    <xs:enumeration value="Weighting" />
                                    <xs:enumeration value="WeightingMethodology" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DepositoryObjectReference_IdentifiableType" type="ddi:IdentifiableType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the deposited object.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DepositoryObjectReference_Versionable">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the deposited object.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ApprovalReview" />
                                    <xs:enumeration value="Archive" />
                                    <xs:enumeration value="Category" />
                                    <xs:enumeration value="CategoryGroup" />
                                    <xs:enumeration value="CategoryScheme" />
                                    <xs:enumeration value="ClassificationCorrespondenceTable" />
                                    <xs:enumeration value="ClassificationFamily" />
                                    <xs:enumeration value="ClassificationIndex" />
                                    <xs:enumeration value="ClassificationItem" />
                                    <xs:enumeration value="ClassificationLevel" />
                                    <xs:enumeration value="ClassificationSeries" />
                                    <xs:enumeration value="CodeList" />
                                    <xs:enumeration value="CodeListGroup" />
                                    <xs:enumeration value="CodeListScheme" />
                                    <xs:enumeration value="CognitiveExpertReviewActivity" />
                                    <xs:enumeration value="CognitiveInterviewActivity" />
                                    <xs:enumeration value="Comparison" />
                                    <xs:enumeration value="ComputationItem" />
                                    <xs:enumeration value="Concept" />
                                    <xs:enumeration value="ConceptGroup" />
                                    <xs:enumeration value="ConceptScheme" />
                                    <xs:enumeration value="ConceptualComponent" />
                                    <xs:enumeration value="ConceptualVariable" />
                                    <xs:enumeration value="ConceptualVariableGroup" />
                                    <xs:enumeration value="ConceptualVariableScheme" />
                                    <xs:enumeration value="ContentReviewActivity" />
                                    <xs:enumeration value="ControlConstructGroup" />
                                    <xs:enumeration value="ControlConstructScheme" />
                                    <xs:enumeration value="DDIInstance" />
                                    <xs:enumeration value="DDIProfile" />
                                    <xs:enumeration value="DataCaptureDevelopment" />
                                    <xs:enumeration value="DataCollection" />
                                    <xs:enumeration value="DataRelationship" />
                                    <xs:enumeration value="DataSet" />
                                    <xs:enumeration value="DevelopmentActivityGroup" />
                                    <xs:enumeration value="DevelopmentActivityScheme" />
                                    <xs:enumeration value="DevelopmentImplementation" />
                                    <xs:enumeration value="DevelopmentPlan" />
                                    <xs:enumeration value="DevelopmentResults" />
                                    <xs:enumeration value="DevelopmentStep" />
                                    <xs:enumeration value="FocusGroupActivity" />
                                    <xs:enumeration value="GeneralInstruction" />
                                    <xs:enumeration value="GenerationInstruction" />
                                    <xs:enumeration value="GenericMap" />
                                    <xs:enumeration value="GeographicLocation" />
                                    <xs:enumeration value="GeographicLocationGroup" />
                                    <xs:enumeration value="GeographicLocationScheme" />
                                    <xs:enumeration value="GeographicStructure" />
                                    <xs:enumeration value="GeographicStructureGroup" />
                                    <xs:enumeration value="GeographicStructureScheme" />
                                    <xs:enumeration value="Group" />
                                    <xs:enumeration value="IfThenElse" />
                                    <xs:enumeration value="InLineNCubeRecordLayout" />
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="InformationClassification" />
                                    <xs:enumeration value="Instruction" />
                                    <xs:enumeration value="InstructionGroup" />
                                    <xs:enumeration value="Instrument" />
                                    <xs:enumeration value="InstrumentGroup" />
                                    <xs:enumeration value="InstrumentScheme" />
                                    <xs:enumeration value="InterviewerInstructionScheme" />
                                    <xs:enumeration value="LocalHoldingPackage" />
                                    <xs:enumeration value="LogicalProduct" />
                                    <xs:enumeration value="Loop" />
                                    <xs:enumeration value="ManagedCategoryRepresentation" />
                                    <xs:enumeration value="ManagedCodeRepresentation" />
                                    <xs:enumeration value="ManagedDateTimeRepresentation" />
                                    <xs:enumeration value="ManagedDistributionRepresentation" />
                                    <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                    <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                    <xs:enumeration value="ManagedGeographicRepresentation" />
                                    <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                    <xs:enumeration value="ManagedLocationRepresentation" />
                                    <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                    <xs:enumeration value="ManagedNominalRepresentation" />
                                    <xs:enumeration value="ManagedNumericRepresentation" />
                                    <xs:enumeration value="ManagedRankingRepresentation" />
                                    <xs:enumeration value="ManagedRepresentationGroup" />
                                    <xs:enumeration value="ManagedRepresentationScheme" />
                                    <xs:enumeration value="ManagedScaleRepresentation" />
                                    <xs:enumeration value="ManagedTextRepresentation" />
                                    <xs:enumeration value="MeasurementConstruct" />
                                    <xs:enumeration value="MeasurementGroup" />
                                    <xs:enumeration value="MeasurementItem" />
                                    <xs:enumeration value="MeasurementScheme" />
                                    <xs:enumeration value="Methodology" />
                                    <xs:enumeration value="NCube" />
                                    <xs:enumeration value="NCubeGroup" />
                                    <xs:enumeration value="NCubeInstance" />
                                    <xs:enumeration value="NCubeInstanceI" />
                                    <xs:enumeration value="NCubeInstanceT" />
                                    <xs:enumeration value="NCubeScheme" />
                                    <xs:enumeration value="Organization" />
                                    <xs:enumeration value="OrganizationGroup" />
                                    <xs:enumeration value="OrganizationScheme" />
                                    <xs:enumeration value="OtherMaterial" />
                                    <xs:enumeration value="OtherMaterialGroup" />
                                    <xs:enumeration value="OtherMaterialScheme" />
                                    <xs:enumeration value="PhysicalDataProduct" />
                                    <xs:enumeration value="PhysicalInstance" />
                                    <xs:enumeration value="PhysicalInstanceGroup" />
                                    <xs:enumeration value="PhysicalStructure" />
                                    <xs:enumeration value="PhysicalStructureGroup" />
                                    <xs:enumeration value="PhysicalStructureScheme" />
                                    <xs:enumeration value="Population" />
                                    <xs:enumeration value="PopulationGroup" />
                                    <xs:enumeration value="PopulationScheme" />
                                    <xs:enumeration value="PretestActivity" />
                                    <xs:enumeration value="ProcessingEvent" />
                                    <xs:enumeration value="ProcessingEventGroup" />
                                    <xs:enumeration value="ProcessingEventScheme" />
                                    <xs:enumeration value="ProcessingInstructionGroup" />
                                    <xs:enumeration value="ProcessingInstructionScheme" />
                                    <xs:enumeration value="ProprietaryRecordLayout" />
                                    <xs:enumeration value="QualityScheme" />
                                    <xs:enumeration value="QualityStandard" />
                                    <xs:enumeration value="QualityStandardGroup" />
                                    <xs:enumeration value="QualityStatement" />
                                    <xs:enumeration value="QualityStatementGroup" />
                                    <xs:enumeration value="QuestionBlock" />
                                    <xs:enumeration value="QuestionConstruct" />
                                    <xs:enumeration value="QuestionGrid" />
                                    <xs:enumeration value="QuestionGroup" />
                                    <xs:enumeration value="QuestionItem" />
                                    <xs:enumeration value="QuestionScheme" />
                                    <xs:enumeration value="RecordLayout" />
                                    <xs:enumeration value="RecordLayoutGroup" />
                                    <xs:enumeration value="RecordLayoutScheme" />
                                    <xs:enumeration value="Relation" />
                                    <xs:enumeration value="RepeatUntil" />
                                    <xs:enumeration value="RepeatWhile" />
                                    <xs:enumeration value="RepresentationMap" />
                                    <xs:enumeration value="RepresentedVariable" />
                                    <xs:enumeration value="RepresentedVariableGroup" />
                                    <xs:enumeration value="RepresentedVariableScheme" />
                                    <xs:enumeration value="ResourcePackage" />
                                    <xs:enumeration value="Sample" />
                                    <xs:enumeration value="SampleFrame" />
                                    <xs:enumeration value="SampleStep" />
                                    <xs:enumeration value="SamplingInformationGroup" />
                                    <xs:enumeration value="SamplingInformationScheme" />
                                    <xs:enumeration value="SamplingPlan" />
                                    <xs:enumeration value="SamplingStage" />
                                    <xs:enumeration value="Sequence" />
                                    <xs:enumeration value="Split" />
                                    <xs:enumeration value="SplitJoin" />
                                    <xs:enumeration value="StatementItem" />
                                    <xs:enumeration value="StatisticalClassification" />
                                    <xs:enumeration value="StudyUnit" />
                                    <xs:enumeration value="SubUniverseClass" />
                                    <xs:enumeration value="TabularNCubeRecordLayout" />
                                    <xs:enumeration value="TranslationActivity" />
                                    <xs:enumeration value="UnitType" />
                                    <xs:enumeration value="UnitTypeGroup" />
                                    <xs:enumeration value="UnitTypeScheme" />
                                    <xs:enumeration value="Universe" />
                                    <xs:enumeration value="UniverseGroup" />
                                    <xs:enumeration value="UniverseScheme" />
                                    <xs:enumeration value="Variable" />
                                    <xs:enumeration value="VariableGroup" />
                                    <xs:enumeration value="VariableScheme" />
                                    <xs:enumeration value="VariableStatistics" />
                                    <xs:enumeration value="Weighting" />
                                    <xs:enumeration value="WeightingMethodology" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RelationshipAction" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provides a structured means of stating if the local object overrides (replaces) the depository object, adds information to the deposited object, deletes the content of the depository object without replacing it. or restricts access the deposited object by attaching an embargo or access restriction to it. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the link such as the reason for adding or changing local content.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LiteralTextType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Literal (static) text to be used in the instrument using the StructuredString structure plus an attribute allowing for the specification of white space to be preserved.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:TextContentType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Text" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The value of the static text string.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="LocalAddedContentType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows a depository to provide locally created value added material and processing information in the appropriate packaging structure and to designate the relationship of added material to the original by means of a content map. The content maps indicates if the added material should Override, act as AddedContent, or DeleteContent in the original deposited material. The material is expressed in the structure of either a StudyUnit, Group, or ResourcePackage within a local content structure.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentLinkingMap" type="ddi:ContentLinkingMapType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Contains a stack of links from the LocalAddedContent to the Depository content and provides instructions regarding the relationship between the local added content and the deposited content.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="LocalStudyUnitContentReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Local Content using the StudyUnit structure.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="StudyUnit" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="LocalGroupContentReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Local Content using the Group structure.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Group" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="LocalResourcePackageContentReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Local Content using the ResourcePackage structure.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ResourcePackage" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocationDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A response domain capturing a location response (mark on an image, recording, or object) for a question. Includes standard response domain elements; OutParameter, designation of response cardinality, and a declaration of an offset date for the data content.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:LocationRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the response to be bound to one of the QuestionItem's OutParameters, so the collected information can be used elsewhere, for example as inputs to subsequent questions in an Instrument or to a GenerationInstruction. If multiple responses are possible, this would represent and ordered array of the responses.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this response domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="LocationRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Means of describing the Location of an action and the action itself within a repesentation so that they can be used by questions as a response domain. In addition to the basic objects of the representation, the structure briefly describes the object type upon which the action is to take place and the action to take (where an how to mark the object).</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Object" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The type of object on which the action takes place such as an image, audio tape, etc. Allows for the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Action" type="ddi:ActionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the region of an image, recording, or text where an action where a specified action is performed and the type of action taken (i.e., Mark an "X" where the actor should be standing on the picture of the stage.).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="LocationValueBundleType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A stack of LocationValueReferences to each of the locations bundled together for a specific purpose Includes a GeographicTime to allow for repetition for change over time.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="LocationValueReference" type="ddi:LocationValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the LocationValue of an included area.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GeographicTime" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The time period for which the LocationValues listed are a valid set.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocationValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A location of the specified geographic level providing information on its name, identification codes, temporal and spatial coverage as expressed by bounding and excluding polygon descriptions or references.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="LocationValueName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Location.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GeographicLocationIdentifier" type="ddi:GeographicLocationIdentifierType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A unique identifier for the geographic location. Repeat for multiple identifiers from other authorized sources.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DefiningCharacteristic" type="ddi:DefiningCharacteristicType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Use to attach one or more characteristics which define the area. These are often useful in terms of selection. For example a U.S. Block may be classified as Urban, Rural, or Mixed. The defining characteristic supports the use of a controlled vocabulary and may provide a time period for which the characteristic is valid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ComponentParts" type="ddi:LocationValueBundleType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A stack of LocationValueReferences to each of the locations of the specified PrimaryComponentLevel type that make up the Component Area. Includes a GeographicTime to allow for repetition for change over time. Repeat this object for different GeographicTime.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ImmediateParentLocation" type="ddi:LocationValueBundleType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a reference to a location or locations that define the immediate parent of described LocationValue within the specified Geographic Structure Hierarchy as well as the GeographicTime of the relationship. Contains multiple LocationValueReferences for layered hierarchies, providing a pointer to the immediate parent in each hierarchy in the layers. Example 1 - Single Hierarchy: Country-State, where the ImmediateParentLocationValue of the State would reference the Country LocationValue. Example 2 - Layered Hierarchy: Country-State-County-Place-Tract (portion) (the portion of a Tract within a Place) Hierarchy 1: Country-State-County-Tract, ImmediateParentLocationValue County; Hierarchy 2: Country-State-Place-Tract (portion) ImmediateParentLocationValue Place. Repeat object to provide information on change in ImmediateParent over time.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GeographicTime" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The time period for which the description (names and codes) are valid. Use a date range when start and end periods are known (or the location description is still valid). If the range is unknown indicate a single date for which you know the description is valid. This will allow others to relate it to a fuller date range if external information become available.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GeographicBoundary" type="ddi:GeographicBoundaryType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A choice of a BoundingBox and/or a set of BoundingPolygons and ExcludingPolygons that describe an area for a specific time period. Repeat the GeographicBoundary for changes in the geographic footprint of the LocationValue or when providing references to BoundingPolygons from different sources.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SupersedesLocationValue" type="ddi:LocationValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a reference to the LocationValue or Values that the current LocationValue supersedes fully. For example, if the LocationValue was the State of North Dakota as defined in 1890 it would supersede the LocationValue for Dakota Territory (1861-1889) as a description of "part" of that Territory.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SupersedesPartialLocationValue" type="ddi:LocationValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a reference to the LocationValue or Values that the current LocationValue supersedes partially. For example, if the LocationValue was the State of North Dakota as defined in 1890 it would supersede the LocationValue for Dakota Territory (1861-1889) as a description of "part" of that Territory.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="PrecedesLocationValue" type="ddi:LocationValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a reference to the LocationValue or Values that the current LocationValue immediately precedes fully. For example, if the LocationValue was the Dakota Territory (1861-1889) preceded the State of North Dakota and the State of South Dakota as defined in 1890. The Dakota Territory provided "part" of its area in the creation of each new LocationValue.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="PrecedesPartialLocationValue" type="ddi:LocationValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a reference to the LocationValue or Values that the current LocationValue immediately precedes partially. For example, if the LocationValue was the Dakota Territory (1861-1889) preceded the State of North Dakota and the State of South Dakota as defined in 1890. The Dakota Territory provided "part" of its area in the creation of each new LocationValue.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="LogicalRecordType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A logical record is a description of all of the elements (variables or NCubes) related to a single case or analysis unit. Required to link a description of a physical record structure to its logical record. In addition to the standard name, label, and description, the structure identifies the variable designating its record type, describes case identification within the record type, indicates support for multiple storage segments, and defines a default set of missing values used by the record. In a data set with multiple records repeat to describe each logical record, such as a household, family, person, or event, record. A LogicalRecord is required to link a description of a physical record structure to its logical record.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="LogicalRecordName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the LogicalRecord.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the LogicalRecord.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the LogicalRecord.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="VariableValueReference" type="ddi:VariableValueReferenceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference the variable containing the record type locator and the value being used. Files with single record types or which store records in different files may not have a record type locator. If this element is used set the attribute hasLocator to "true".</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SupportForMultipleSegments" type="ddi:VariableValueReferenceType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Information concerning support for breaking the logical record into segments for storage purposes. Some files may be broken into record segments for storage but lack variables to support identification of specific segments. In this case segments are identified by their physical order within the storage file.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CaseIdentification" type="ddi:CaseIdentificationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Describes the information needed to identify an individual case within a record type. This may be the variable or concatenated variable used to identify a unique case of a particular record type. Often referred to as a unique key. There may be more than one means of identifying a record. For example a US Census Summary File has a LogicalRecordIdentifier that is unique to the original file within which it was published. A specific geography has a set of fields that uniquely identify it.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="VariablesInRecord" type="ddi:VariablesInRecordType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">List of all variables used in the record, either directly or as found in a defined VariableGroup; note that a variable can be used in multiple records. The variables in the logical record can be noted by inclusion or exclusion to facilitate listing. The attribute allVariablesInLogicalProduct, when set to 'true', includes all variables in the LogicalProduct. VariableSchemeReference can then be used to exclude individual Variables schemes or include schemes from other logical products. In the same way VariableReference can be used to exclude specific variables from the previously defined variable set or include variables not already included. The simplest LogicalProduct descriptions with a single LogicalRecord can be described using only the attribute allVariablesInLogicalProduct with a value of true.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="NCubesInRecord" type="ddi:NCubesInRecordType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">List of all NCubes used in the record, either directly or as found in a defined NCubeGroup; note that an NCube can be used in multiple records. The NCubes in the logical record can be noted by inclusion or exclusion to facilitate listing. The attribute allNCubesInLogicalProduct, when set to 'true', includes all NCubes in the LogicalProduct. NCubeSchemeReference can then be used to exclude individual NCubes schemes or include schemes from other logical products. In the same way NCubeReference can be used to exclude specific variables from the previously defined variable set or include variables not already included. The simplest LogicalProduct descriptions with a single LogicalRecord can be described using only the attribute allNCubesInLogicalProduct with a value of true.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DefaultMissingValues" type="ddi:DefaultMissingValuesType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the default missing value parameter for the this logical record by referencing a ManagedMissingValuesRepresentation or by stating that there is a default missing values parameter used but it is undocumented. Note that a conflicting DefaultMissingValues definition in a PhysicalInstance will override that found in the LogicalRecord.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="HasLocator" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If "true" indicates that the record type has a field which identifies its record type. In logical structures with a single record type there is generally no identifier. Most multi-record files will have a variable that identifies the record type.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="VariableQuantity" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Number of variables in the logical record. Caution in using optional checksums is recommended. Conflict between checksums and the items being counted can cause problems with warning flags during processing. If using checksum to capture information for internal processing purposes, the use of automatically generated check sums is strongly urged.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="MeasureDefinitionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines the structure and type of measure captured within the cells. This may be repeated to describe multiple measure for the cells (i.e., count, percent of universe, dimensional percent, index, text, suppression flag, etc.). Includes a reference to the defining variable and an optional aggregation definition for use in defining content relying on the use of independent and dependent variables (such as the percentage of a specific dimension (like a row or column percent on a table).</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="VariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the variable that defines the measure of the NCube.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AggregationDefinition" type="ddi:AggregationDefinitionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the independent (denominator) and dependent (numerator) dimensions for calculating aggregate measures such as percent. When two or more independent or dependent dimensions are listed here, the value is defined as the intersection of the listed dimensions.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="MeasureDimensionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">This element defines the structure of a measure dimension for the NCube Instance. A value along the MeasureDimension is defined by a stack of references to one or more MeasureDefinitions found in the logical description of the NCube with each containing an attribute of orderValue which provides its value for use in the cell address (similar to the use of a CodeRepresentation of a Variable used as a conceptual dimension. This allows measures (whether one or several) to be handled in the same way as the conceptual dimension of the NCube in declaring a cell address. It is assumed that the value of the MeasureDimension is the last value in the address array. For example, for an NCube with 3 conceptual dimensions of rank 1 = Sex, rank 2 = Age, and rank 3 = Educational Attainment, plus a MeasureDimension. The cell address of 1,4,2,2 would indicate Code value of 1 for Sex, 4 for Age, 2 for Educational Attainment, and 2 for MeasureDimension. For systems translating to SDMX or an OLap structure DDI assumes that the MeasureDefinitionReference with the orderValue="1" is the equivalent of the PrimaryMeasure.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="NCubeMeasureDefinitionReference" type="ddi:MeasureDefinitionType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is a reference to a MeasureDefinition as described in the parent NCube logical structure. The reference has an additional attribute orderValue which defines the position of the referenced MeasureDefinition along the MeasureDimension so that it can be used as part of the cell address. The default value is "1". Additional MeasureDefinitions should have incremental values (2,3,4,...)</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MeasureDimensionValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Specifies the orderValue of the Measure in the MeasureDimension described in the NCubeInstance along with its arrayOrder if multiple measures are provided as an array in a single storage location.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="DimensionCellValue" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value of the dimension used to determine the cell address.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ArrayOrder" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Oder within the array. Note that this attribute assumes an array base of 0. The array order assumes that the measures will always be displayed in the same order and that sparse content (a missing value in the array) will be clear between two delimiters in this array. (For example 1,1,1 or 1,,1)</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MeasureIType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the specific measure of the cell designating the order value of the Measure within the MeasureDimension and the value of the measure. It is recommended to repeat Measure to define each measure definition and value separately. When Value contains multiple measures expressed as an ordered array list each measure in the array as a MeasureDimensionValue with its specified arrayOrder within a single Measure definition.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="MeasureDimensionValue" type="ddi:MeasureDimensionValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the orderValue of the Measure in the MeasureDimension described in the NCubeInstance along with its arrayOrder if multiple measures are provided as an array in a single storage location.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Value" type="ddi:ValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Value of the Measure expressed as a single value or ordered array.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MeasureTType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the specific measure of the cell designating the order value of the Measure within the MeasureDimension and provides information on the storage location of the value for the measure. When individual measures are stored in separately identifiable locations repeat Measure to define each measure and storage location. When multiple measures are stored as an ordered array in a single location list each  in the array as a MeasureDimensionValue with its specified arrayOrder within a single Measure definition.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="MeasureDimensionValue" type="ddi:MeasureDimensionValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the orderValue of the Measure in the MeasureDimension described in the NCubeInstance along with its arrayOrder if multiple measures are provided as an array in a single storage location.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="PhysicalTableLocation" type="ddi:PhysicalTableLocationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the physical location of the measure value(s) in the data file.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MeasureType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the specific measure of the cell by reference and provides information on the storage location of the value for the measure. When individual measures are stored in separately identifiable locations repeat Measure to define each measure and storage location. When multiple measures are stored as an ordered array in a single location list each measure in the array as a MeasureReference with its specified arrayOrder within a single Measure definition.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="MeasureDefinitionReference" type="ddi:MeasureDefinitionType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the MeasureDefinition in NCube.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="PhysicalLocation" type="ddi:PhysicalLocationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the physical location of the measure value in the data file.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataQualityType">
        <xs:annotation>
            <xs:documentation xml:lang="en">An assessment of the quality of the metadata within the Maintainable object, e.g. the quality of the transcription, completeness, editing status, etc. It indicates the type of metadata quality being assesed, the purpose of providing the measure, and either a value for the quality from a controlled vocabulary and/or a description of the value.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfMetadataQuality" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A brief statement of the metadata quality being measured. Supports the use of an external controlled vocabulary. Use of a controlled vocabulary is strongly recommended.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="MeasurePurpose" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The purpose of the type of metadata quality measure and its value.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasureValue" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A value representing the measurement of this set of metadata within the context of the TypeOfMetadataQuality indicated. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A textual description of the quality of this set of metadata which expands on or is provided in lieu of other objects within MetadataQuality.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MethodOfAdministrationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the method of pretest administration using a controlled vocabulary and description.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfAdministrationMethod" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the type of administration method  used. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the administration method.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ModeOfCollectionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the mode of collection, i.e., paper questionnaire, observation, web delivered questionnaire, computer assisted interview, automated data harvesting, etc. In addition to the narrative description allows for the use of a brief term or item from a controlled vocabulary to classify the mode used. If multiple modes are used repeat the element.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfModeOfCollection" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows brief identification of the mode used with the option of using a controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (ModeOfCollection) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Full description of the mode of collection.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ModeOfPretestCollectionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes available aids for translation typed by a controlled vocabulary and a description.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfPretestCollectionMode" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the type of data collection mode used (i.e. interview, self-completed form, observation). Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of mode of data collection for the pretest.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MethodOfDelivery" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Method of delivery for the pretest mode (i.e., mail, hand-delivery, etc.). Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsPrimary" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A value of true indicates that this is the primary mode of data collection.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsAudioFormatAvailable" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A value of true indicates that an audio format of the question text is available.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsRecordedInterview" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A value of true indicates that the interview is recorded.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="NCubesInRecordType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the NCubes and any variables in the record external to NCube structures such as case identification variables that are contained in the logical record by indicating that all NCubes contained in the logical product are included, inclusion of a NCubeScheme to include, or listing individual NCubes to include. When the attribute allNCubesInLogicalProduct is set to "false" use the NCubeSchemeReference (which allows for exclusions) and NCubeReference to specify the included variables. A nested VariablesInRecord structure is used to include non-NCube variables in the record.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="VariablesInRecord" type="ddi:VariablesInRecordType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use VariablesInRecord to describe any variables in the record that are external to the NCube such as case identifiers.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeSchemeReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to an NCubeScheme whose members are included in the logical record. Note that individual items may be excluded from the scheme if not used by the logical record.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="NCubeScheme" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="NCubeReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to an NCube to include in the logical record. This may be used to supplement the contents of an included NCubeScheme or to list all the variables individually.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="NCube" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AllNCubesInLogicalProduct" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">When the value is true, then the logical record contains all listed NCubes in the logical product module.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="NominalDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A response domain capturing a nominal (check off) response for a question grid response. Includes standard response domain elements; OutParameter, designation of response cardinality, and a declaration of an offset date for the data content.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:NominalRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the response to be bound to one of the QuestionItem's OutParameters, so the collected information can be used elsewhere, for example as inputs to subsequent questions in an Instrument or to a GenerationInstruction. If multiple responses are possible, this would represent and ordered array of the responses.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this response domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="NominalRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A means of capturing the features of a nominal (marked/unmarked) response domain. Note that this is not the same as a code or category list with a yes/no set of responses. This representation is generally used in QuestionGrids when defining the response domain of a grid cell. In addition to the basic objects of a representation, the structure defines the allowed content of the mark using a regular expression.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="RegExp" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The regular expression allows for further description of the allowable content of the data.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="NotUsedType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies DDI objects expressed as an XPath that are not supported by the system or agency using this profile.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="StringValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Xpath" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Contains an XPath which points to an element or attribute in DDI instances which is not used by the profile. All subelements of an unused element are assumed to be included unless explicitly addressed by the profile. The number of supported repetitions may be included in the XPath expression.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="NoteType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A note related to one or more identifiable objects. Note is designed to be an inherent part of the DDI. (Unlike XML comments or other types of system-level annotations, which may be removed during processing.) DDI recommends placing the note within the maintainable object containing the objects this note relates to in order to assist tracking of note items within a study. Each note may indicate who is responsible for the note, its type using a controlled vocabulary, the subject of the note, a head and note content, a set of key/value pairs and language specification for the overall note. In addition each note must be related to one or more identifiable objects.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfNote" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the type of note. Supports the use of a controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (TypeOfNote) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="NoteSubject" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The subject of the note.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Relationship" type="ddi:RelationshipType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to one or more identifiable objects which the note is related to.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Responsibility" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The person or agency responsible for adding the note.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Header" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A brief label or heading for the note contents.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="NoteContent" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The content of the note. Note should contain content except when it is a production flag that is fully explained by its "type". If the note provides system specific information in a structured way using XHTML formating, DDI strongly recommends the use of local extensions or the Key/Value pair structure in ProprietaryInfo whenever possible.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ProprietaryInfo" type="ddi:ProprietaryInfoType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A set of actions related to the object as described by a set of name-value pairs. This would commonly be used in a case where additional information needs to be recorded regarding the content of a new element or attribute that has not yet been added to the schema, for example when a bug for a missing object has been filed and the user wishes to record the content prior to correction in the schema. Ideally this should be handled by local extensions of the schema as described in Part 2 of the formal documentation. However, the structure in Note allows for an unanticipated need for an extension at run time by providing a means of capturing system specific information in a structured way.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Lang" type="ddi:language">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates the language of content. Note that xml:lang allows for a simple 2 or 3 character language code or a language code extended by a country code , for example en-au for English as used in Australia.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="NumberRangeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Structures a numeric range. Low and High values are designated. The structure identifies Low values that should be treated as bottom coded (Stated value and bellow, High values that should be treated as top coded (stated value and higher), and provides a regular expression to further define the valid content of the range.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A display label for the number range.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Low" type="ddi:NumberRangeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The lower bound of the range expressed in the data type xs:decimal. If not present, then there is no lower bound.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="LowDouble" type="ddi:DoubleNumberRangeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The lower bound of the range expressed in the data type xs:double. If not present, then there is no lower bound.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="High" type="ddi:NumberRangeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The upper bound of the range in the data type xs:decimal. If not present, then there is no upper bound.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="HighDouble" type="ddi:DoubleNumberRangeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The upper bound of the range in the data type xs:double. If not present, then there is no upper bound.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="TopCode">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates that any response equal to or greater than this value has been coded as the top-code value. Expressed in the data type xs:decimal.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:decimal" />
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="TopCodeDouble">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates that any response equal to or greater than this value has been coded as the top-code value. Expressed in the data type xs:decimal.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:double">
                        <xs:pattern value="[+-]?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))([eE][+-]?[0-9]+)?" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="BottomCode">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates that any response equal to or less than this value has been coded as the bottom-code value. Expressed in the data type xs:double.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:decimal" />
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="BottomCodeDouble">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates that any response equal to or less than this value has been coded as the bottom-code value. Expressed in the data type xs:double.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:double">
                        <xs:pattern value="[+-]?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))([eE][+-]?[0-9]+)?" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="RegExp" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Regular expression defining the allowed syntax of the number.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="NumberRangeValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a bounding value for a number range expressed as an xs:demical.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="DecimalValue">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:decimal" />
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsInclusive" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates that the value is included in the range. Set to false if the range includes numbers up to but no including the designated value.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="NumericDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A response domain capturing a numeric response (the intent is to analyze the response as a number) for a question. Contains the equivalent content of a NumericRepresentation including the numeric range, numeric type code, format, scale, decimal position, and interval. Adds a set of elements available to all Response Domains; Label, Description, OutParameter, designation of response cardinality, and a declaration of an offset date for the data content. Has an equivalent NumericDomainReference which references a ManagedNumericRepresentation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:NumericRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the response to be bound to one of the QuestionItem's OutParameters, so the collected information can be used elsewhere, for example as inputs to subsequent questions in an Instrument or to a GenerationInstruction. If multiple responses are possible, this would represent and ordered array of the responses.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this response domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="NumericRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines the representation for a numeric response. May be a range or specific value, or a list of ranges.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="NumberRange" type="ddi:NumberRangeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Defines the valid number range or number values for the representation.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="NumericTypeCode" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identification of the numeric type such as integer, decimal, etc. supports the use of an external controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (NumericType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Format" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A format for number expressed as a string.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Scale" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The scale of the number expressed as an integer (for example a number expressed in 100's, 5 = 500 would have a scale of 100).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="DecimalPositions" type="xs:int">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The number of decimal positions expressed as an integer (precision of the number).</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Interval_IntervalType" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The interval between valid responses expressed as an integer.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Accuracy">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The level to which a number is considered to be accurate. Expressed as a decimal. </xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:decimal" />
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="OperationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A generic operation description used as a type by specified operations. Describes the operation and identifies the organization or individual responsible for performing it.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the operation.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="AgencyOrganizationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to an organization or individual responsible for the operation.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganizationIdentificationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Means of identifying an organization. The structure contains a repeatable OrganizationName. At minimum enter the current legal or formal name setting the attribute isFormal to "true". Additional OrganizationNames may be provided that have a) a specific contextual usage, or b) are of specific types (e.g. PreviousFormalName). The DDI Maintenance Agency ID and and organization images, such as a building picture or logo are found in OrganizationIdentification. Images and names can be individually date stamped.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="OrganizationName" type="ddi:OrganizationNameType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Names by which the organization is known. Use the attribute isFormal="true" to designate the legal or formal name of the Organization. The preferred name should be noted with the isPreferred attribute. Names may be typed with TypeOfOrganizationName to indicate their appropriate usage.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DDIMaintenanceAgencyID" type="ddi:DDIMaintenanceAgencyIDType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Contains the official DDI ID of the maintenance agency as registered with the DDI registry by the parent organization or individual. A single organization or individual may have one or more DDI Maintenance Agency IDs registered within the DDI registry (i.e., an organization may have a DDI Maintenance Agency ID for each project managed by the organization) The structure of this string is described by Part I of the Technical Documentation and the content is registered within the DDI registry as a unique identifier.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="OrganizationImage" type="ddi:PrivateImageType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provides an external link to images associated with the individual.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganizationNameType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Names by which the organization is known. Use the attribute isFormal="true" to designate the legal or formal name of the Organization. The preferred name should be noted with the isPreferred attribute. Names may be typed with TypeOfOrganizationName to indicate their appropriate usage.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="MultilingualStringValue" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A name for the Organization.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Abbreviation" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An abbreviation or acronym for the name. This It is assumed that if only a single language is provided that it may be used in any of the other languages within which the name itself is expressed.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfOrganizationName" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The type of organization name provided. the use of a controlled vocabulary is strongly recommended. At minimum this should include, e.g. PreviousFormalName, Nickname (or CommonName), Other.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EffectivePeriod" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The time period for which this name is accurate and in use.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsFormal" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The legal or formal name of the organization should have the isFormal attribute set to true. To avoid confusion only one organization name should have the isFormal attribute set to true. Use the TypeOfOrganizationName to further differentiate the type and applied usage when multiple names are provided.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsPreferred" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If more than one name for the object is provided, use the isPreferred attribute to indicate which is the preferred name content. All other names should be set to isPreferred="false".</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Context" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A name may be specific to a particular context, i.e., a type of software, or a section of a registry. Identify the context related to the specified name.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OriginType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A citation or URI for the source of the data. Note that this is an external reference, and should not be used to point to DDI descriptions of the data, or to DDI-encoded data.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Citation" type="ddi:CitationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Citation for the data source.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="OriginLocation" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A URN or URL for the data source.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ParameterType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A parameter is a structure that specifically identifies a source of input or output information so that it can be use pragmatically.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="ParameterName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the Parameter.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Alias" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If the content of the parameter is being used in a generic set of code as an alias for the value of an object in a formula (for example source code for a statistical program) enter that name here. This provides a link from the identified parameter to the alias in the code.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the Parameter.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ValueRepresentation" type="ddi:RepresentationType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If the content of the parameter contains representational content, such as codes, provide the representation here. ValueRepresentation is the abstract head of a substitution group and may be replaced with any valid substitution for ValueRepresentation. Inclusion of the ValueRepresentation is recommended if you will be sharing data with others as it provides information on the structure of what they can expect to receive when the parameter is processed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ValueRepresentationReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the use of a ManagedRepresentation by reference. ValueRepresentationReference is the abstract head of a substitution group and may be replaced with any valid substitution for ValueRepresentationReference.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="ManagedCategoryRepresentation" />
                                            <xs:enumeration value="ManagedCodeRepresentation" />
                                            <xs:enumeration value="ManagedDateTimeRepresentation" />
                                            <xs:enumeration value="ManagedDistributionRepresentation" />
                                            <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                            <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                            <xs:enumeration value="ManagedGeographicRepresentation" />
                                            <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                            <xs:enumeration value="ManagedLocationRepresentation" />
                                            <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                            <xs:enumeration value="ManagedNominalRepresentation" />
                                            <xs:enumeration value="ManagedNumericRepresentation" />
                                            <xs:enumeration value="ManagedRankingRepresentation" />
                                            <xs:enumeration value="ManagedScaleRepresentation" />
                                            <xs:enumeration value="ManagedTextRepresentation" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DefaultValue" type="ddi:ValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides a default value for the parameter if there is no value provided by the object it is bound to or the process that was intended to produce a value.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="IsArray" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If set to "true" indicates that the content of the parameter is a delimited array rather than a single object and should be processed as such.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PhysicalLocationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Description of the physical location of the value of the object in the data file. Includes information about the data item location and its data type/format if other than the default.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StorageFormat" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An explicit definition of the data storage format. This field is necessary in the case of some numeric data formats where the format definition would allow real values, but the values are integer values. Supports the use of an external controlled vocabulary. Use of a controlled vocabulary is strongly recommended.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Delimiter" type="ddi:DelimiterType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines the delimiter used to separate variables in a delimited record. The attribute treatConsecutiveDelimiterAsOne indicates how consecutive delimiters should be handed by the software.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="StartPosition" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Position of the first character of the data item in fixed format file.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ArrayPosition" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Array number of the data item for delimited files.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="EndPosition" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Position of the last character of the data item in fixed format. Must be specified if a value for Width is not provided.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Width" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Data item width for fixed format file, maximum width for delimited file. Must be specified if a value for EndPosition is not provided.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DecimalPositions" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Number of decimal places for data with an implied decimal separator. Another expression is the decimal scaling factor (SAS). Default: 0.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DecimalSeparator">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The character used to separate the integer and the fraction part of a number (if an explicit separator is used in the data). Allowed values are: None (default), Dot, Comma, Other. On the basis of the data definition in DDI documents, data processing tools could compute the necessary precision width on the basis of the format width and the existence of separators. Appropriate data types could be used, i.e. float or double, short or long. The decimal separator definition only makes sense with some XML Schema primitives.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="1" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DigitGroupSeparator">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The character used to separate groups of digits (if an explicit separator is used in the data). Allowed values are: None (default), Dot, Comma, Other. The decimal separator definition makes only sense with some XML Schema primitives.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="1" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="LanguageOfData" type="ddi:language">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Language of the data file expressed as a list of language codes.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="LocaleOfData" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A two-character ISO country code, to supplement the LanguageOfData value.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PhysicalRecordSegmentType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A description of the physical record segment as found in the data store. A logical record may be stored in one or more segments housed hierarchically in a single file or in separate data files. All logical records have at least one segment. Identifies the Key variable identifying the segment if the identifier exists in the record, a file name identifier if the segment identification is expressed as part of the file name (used when each segment is stored in a separate file), the order of this segment in relation to other physical segments as part of the logical record, and a flag indicating whether or not the physical segment contains a key.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="KeyVariableReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to the Unique key variable for segment identification.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Variable" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="KeyVariableValue" type="ddi:ValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Value of the variable for this segment.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="FileNameIdentification" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If the file containing this segment has a standard section of its file name, include it here. For example a segment number. For example, in the files 2000SF10001.csv and 2000SF10002.csv the last 4 digits contain the segment number. There is no standard means of specifying this information in a machine-actionable way. This statement is informational but in some legacy files may be the only location where the segment identification is found.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="SegmentOrder" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the position of this physical record segment within the logical record expressed as an integer.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="HasSegmentKey" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Set to true if there is a variable identifying the segment order. If true a segment key should be declared in a KeyVariableReference. Set to false if there are multiple segments and the identification of a particular segment is based on the order of the records within the file.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PhysicalTableLocationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The location of the data item within a two-dimensional (spreadsheet) storage format.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:PhysicalLocationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="ColumnNumber" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Column in which data item is found. This is an integer defined in relationship to a specified "first" column NOT the column identifier found in the spreadsheet. Begin numbering columns from the upper left corner of the table as defined in TopLeftTableAnchor attribute "column".</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="RowSequence" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A single case may be represented on a single row or a series of rows, particularly when multiple measures are used. This element designates the row, with the assumption that there is a single row per case unless otherwise stated.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PointType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A geographic point consisting of an X and Y coordinate. Each coordinate value is expressed separately providing its value and format.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="XCoordinate" type="ddi:SpatialCoordinateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An X coordinate (latitudinal equivalent) value and format expressed using the Spatial Coordinate structure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="YCoordinate" type="ddi:SpatialCoordinateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A Y coordinate (longitudinal equivalent) value and format expressed using the Spatial Coordinate structure.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PolygonType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A closed plane figure bounded by three or more line segments, representing a geographic area. Contains either the URI of the file containing the polygon, a specific link code for the shape within the file, and a file format, or a minimum of 4 points to describe the polygon in-line. Note that the first and last point must be identical in order to close the polygon. A triangle has 4 points. A geographic time designating the time period that the shape is valid should be included. If the date range is unknown use a SingleDate indicating a date that the shape was known to be valid.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="ExternalURI" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Note that ExternalURI points to the boundary file location.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="PolygonLinkCode" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The PolygonLinkCode is the identifier of the specific polygon within the file. For example in an NHGIS file the LinkCodeForPolygon for Tract 101.01 in Hennepin County in Minnesota is 2700530010101.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ShapeFileFormat" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The format of the shape file existing at the location indicated by the sibling ExternalURI element.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Point" type="ddi:PointType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A geographic point defined by a latitude and longitude. A minimum of 4 points is required as the first and last point should be identical in order to close the polygon. Note that a triangle has three sides and requires 3 unique points plus a fourth point replicating the first point in order to close the polygon.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PopulationSizeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The target value of the sample size for the primary and any secondary or sub-population.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="PrimaryPopulation" type="ddi:SizeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The sample size of the primary or full population included in this sample. Consists of an integer value and specification of the sample unit.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SecondaryPopulation" type="ddi:SizeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The sample size of any secondary or sub-populations included in this sample. Consists of an integer value and specification of the sample unit.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PopulationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describe the population through a combination of textual description and reference to a structured Universe. If multiple universes are referenced, the overall universe is the intersect of the set of universes referenced.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A textual description of the population.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a structured Universe description.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Universe" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a structured Population description.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Population" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PretestAdministrationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Description of the method and mode of data collection in administering the pretest. Notes any additional data collected in the administration of the pretest.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MethodOfAdministration" type="ddi:MethodOfAdministrationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the method of pretest administration using a controlled vocabulary and description.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ModeOfPretestCollection" type="ddi:ModeOfPretestCollectionType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the mode of collection used in the pretest. Repeat of multiple modes of collection were used. Indicate the primary mode using isPrimary attribute if applicable.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="AdditionalDataCollection" type="ddi:AdditionalDataCollectionType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the method and mode of data collection in administering the pretest. Notes any additional data collected in the administration of the pretest.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PrimaryComponentLevelType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides references to the base level elements that are used as building blocks for composed geographies. For example, Metropolitan areas that are composed of counties except in the New England States where they are composed of county subdivisions, or School Attendance Boundaries (SABINS) built from Census Blocks. This structure allows for specifying the basic building block for composed areas and any restrictions (coverage limitations).</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GeographicLevelReference" type="ddi:GeographicLevelType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the Geographic Level used as the basic building block to a composite area. Use the largest level that is consistently used in full (i.e. Use a State rather than the sub-level County if a State is always a member of the composed unit in its entirety.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="CoverageLimitation" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes a limitation of the coverage such as all Metropolitan Areas EXCEPT those in New England States.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PrivateImageType">
        <xs:annotation>
            <xs:documentation xml:lang="en">References an image using the standard Image description. In addition to the standard attributes provides an effective date (period), the type of image, and a privacy ranking.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ImageType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EffectivePeriod" type="ddi:DateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The period for which this image is effective/valid.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="Privacy">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A basic set of privacy codes for the parent element. These may be stricter than the general access restrictions for the overall metadata. If available codes are insufficient this may also contain any string.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="public" />
                                <xs:enumeration value="restricted" />
                                <xs:enumeration value="private" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ProprietaryInfoType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains information proprietary to the software package which produced the data file. This is expressed as a set of key(name)-value pairs.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ProprietaryProperty" type="ddi:StandardKeyValuePairType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A structure that supports the use of a standard key value pair. Note that this information is often not interoperable and is provided to support the use of the metadata within specific systems.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PublicationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Description and link to the Publication using the DDI Other Material structure.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OtherMaterialReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description and link to the Publication using the DDI Other Material structure.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="OtherMaterial" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PublisherType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Holds the name of the publisher with their role and/or a reference to the publisher as described within a DDI Organization scheme. Repeat this element for multiple publishers.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="PublisherName" type="ddi:BibliographicNameType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Full name of the publisher. Language equivalents should be expressed within the International String structure.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="PublisherRole" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The role of the publisher as publisher, distributor, etc.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="PublisherReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a publisher as described within a DDI Organization Scheme.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="QuestionSequenceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the ordering of questions when not otherwise indicated. Extends the standard sequencing information to indicate how and if StimulusMaterial should be treated in the resequencing.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:SpecificSequenceType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="HandlingOfStimulusMaterial">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Clarifies how stimulus material is to be handled within the resequencing using a controlled vocabulary. Options: "include"=Include StimulusMaterial in resequencing without restriction; "preceding"=Attach each StimulusMaterial to the preceding question; "following"=Attach each StimulusMaterial to the question following it; and the default value of "within"=Resequencing occurs within each set of questions as delimited by StimulusMaterial</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="include" />
                                <xs:enumeration value="preceding" />
                                <xs:enumeration value="following" />
                                <xs:enumeration value="within" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RangeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Indicates the range of items expressed as a string, such as an alphabetic range.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A display label for the text range.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CollationAlgorithm" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The algorithm used to determine the sort order of the text content. This includes whether the text is left to right, right to left, handling of spaces an capitalization, and ordering of text characters. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="RangeUnit" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the units in the range.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MinimumValue" type="ddi:RangeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Minimum value in the range.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MaximumValue" type="ddi:RangeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Maximum value in the range.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RangeValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a bounding value of a string.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ValueType">
                <xs:sequence>
                    <xs:element minOccurs="1" maxOccurs="1" name="Included" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Set to "true" if the value is included in the range.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RankingDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A response domain capturing a ranking response which supports a "ranking" of categories. Generally used within a QuestionGrid. Includes standard response domain elements; OutParameter, designation of response cardinality, and a declaration of an offset date for the data content, as well as content for a Nominal Representation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RankingRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the response to be bound to one of the QuestionItem's OutParameters, so the collected information can be used elsewhere, for example as inputs to subsequent questions in an Instrument or to a GenerationInstruction. If multiple responses are possible, this would represent and ordered array of the responses.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this response domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RankingRangeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the range of values used in the ranking system using Range and sets the number of times a single value can be repeated.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RangeType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="MaximumRepetitionOfSingleValue" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows values to be expressed more than once, for example if respondent can specify a "tie" by repeating a single value.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RankingRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A means of capturing the representation of Ranking to be used as a response domain used by a question. In addition to the basic objects of the representation, the structure defines the range used for ranking including the number of times an individual value may be repeated.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RankingRange" type="ddi:RankingRangeType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The allowed values expressed using Range (allows for non-numeric values). In addition, defines the number of times a value may be used in expressing a ranking.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RecommendedStaffRequirementsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Specify requirements for type of staffing needed to complete activity including the class of staff participating in the activity, requirements for those participants, and the recruitment process.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StaffClass" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specify the class of the staff participating in the activity. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="ParticipantRequirements" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describe any special or specific requirements for participating staff.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="RecruitmentProcess" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describe the process to be used for staff recruitment in this class.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RecordRelationshipType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the relationship between records of different types or of the same type within a longitudinal study. Identifies the key and linking value relationships. All relationships are pairwise. Multiple pairwise relationships maybe needed to clarify all record relationships within a logical product or data set. In addition to the standard name, label, and description, the structure identifies the pair of logical records for which the relationship is defined as SourceLogicalRecord and TargetLogicalRecord, describes the link between these two records and indicates the relationship of the of the source record to the target record.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="RecordRelationshipName" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A name for the RecordRelationship.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the RecordRelationship.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the RecordRelationship.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SourceLogicalRecordReference" type="ddi:LogicalRecordType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the Logical Record acting as the Source Record. All relationship information is from the source to the target. If the relationship is not unidirectional (i.e., sibling) simply assign one record as the source and the other as the target.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TargetLogicalRecordReference" type="ddi:LogicalRecordType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A reference to the Logical Record acting as the Target Record.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SourceTargetLink" type="ddi:SourceTargetLinkType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Each SourceTargetLink provides a pair of variables which act as all or part of a link between the source and the target records. Repeat if more than one set of variables is required to make the link.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="RelationToTarget">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the relationship of the source to the target. The value describes the role of the source in the relationship. This is a restricted list of Parent, Child, Sibling, Unknown.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="Parent" />
                                <xs:enumeration value="Child" />
                                <xs:enumeration value="Sibling" />
                                <xs:enumeration value="Unknown" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RecordSetType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Storage format arranged record by record. A RecordSet requires a list of variables to appear in a specified order. Provides a consistent order for the variables and a set of values for each record displayed in variable order.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="VariableOrder" type="ddi:VariableOrderType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provides the sequence of variables representing the order of storage within each record.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Record" type="ddi:RecordType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">For each record, contains the values for the items in order by the specified variable sequence.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RecordType">
        <xs:annotation>
            <xs:documentation xml:lang="en">For each record, contains the values for the items in order by the specified variable sequence.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Value" type="ddi:ValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An individual item value.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReferenceDateType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The date that the data reference such as at the point of collection, a previous year or date, etc. This is expressed as a date (singular or range) and may have specific subjects associated with it. For example if only income and labor force status relate to the previous year and all other data related to the point of collection.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:DateType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If the date is for a subset of data only such as a referent date for residence 5 years ago, use Subject to specify the coverage of the data this date applies to. May be repeated to reflect multiple subjects.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RelatedValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The characteristic value expressed as a string with an indicator of the specific relationship of the variable value to the characteristic value. The default is "Equal". The value may be defined as containing no content (blank) by setting the attribute valueIsBlank to "true".</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ValueType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="Type">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates value type as "GreaterThan", LessThan", "Equal", "GreaterThanOrEqual", "LessThanOrEqual", or "NotEqual".</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="GreaterThan" />
                                <xs:enumeration value="LessThan" />
                                <xs:enumeration value="Equal" />
                                <xs:enumeration value="GreaterThanOrEqual" />
                                <xs:enumeration value="LessThanOrEqual" />
                                <xs:enumeration value="NotEqual" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="ValueIsBlank" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Set to "true" if the value of the conditional variable is blank.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RelationshipType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Relationship specification between this item and the item to which it is related. Provides a reference to any identifiable object and a description of the relationship.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="RelatedToReference_IdentifiableType" type="ddi:IdentifiableType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the item within the DDI Instance to which this item is related.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="RelatedToReference_Versionable">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the item within the DDI Instance to which this item is related.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ApprovalReview" />
                                    <xs:enumeration value="Archive" />
                                    <xs:enumeration value="Category" />
                                    <xs:enumeration value="CategoryGroup" />
                                    <xs:enumeration value="CategoryScheme" />
                                    <xs:enumeration value="ClassificationCorrespondenceTable" />
                                    <xs:enumeration value="ClassificationFamily" />
                                    <xs:enumeration value="ClassificationIndex" />
                                    <xs:enumeration value="ClassificationItem" />
                                    <xs:enumeration value="ClassificationLevel" />
                                    <xs:enumeration value="ClassificationSeries" />
                                    <xs:enumeration value="CodeList" />
                                    <xs:enumeration value="CodeListGroup" />
                                    <xs:enumeration value="CodeListScheme" />
                                    <xs:enumeration value="CognitiveExpertReviewActivity" />
                                    <xs:enumeration value="CognitiveInterviewActivity" />
                                    <xs:enumeration value="Comparison" />
                                    <xs:enumeration value="ComputationItem" />
                                    <xs:enumeration value="Concept" />
                                    <xs:enumeration value="ConceptGroup" />
                                    <xs:enumeration value="ConceptScheme" />
                                    <xs:enumeration value="ConceptualComponent" />
                                    <xs:enumeration value="ConceptualVariable" />
                                    <xs:enumeration value="ConceptualVariableGroup" />
                                    <xs:enumeration value="ConceptualVariableScheme" />
                                    <xs:enumeration value="ContentReviewActivity" />
                                    <xs:enumeration value="ControlConstructGroup" />
                                    <xs:enumeration value="ControlConstructScheme" />
                                    <xs:enumeration value="DDIInstance" />
                                    <xs:enumeration value="DDIProfile" />
                                    <xs:enumeration value="DataCaptureDevelopment" />
                                    <xs:enumeration value="DataCollection" />
                                    <xs:enumeration value="DataRelationship" />
                                    <xs:enumeration value="DataSet" />
                                    <xs:enumeration value="DevelopmentActivityGroup" />
                                    <xs:enumeration value="DevelopmentActivityScheme" />
                                    <xs:enumeration value="DevelopmentImplementation" />
                                    <xs:enumeration value="DevelopmentPlan" />
                                    <xs:enumeration value="DevelopmentResults" />
                                    <xs:enumeration value="DevelopmentStep" />
                                    <xs:enumeration value="FocusGroupActivity" />
                                    <xs:enumeration value="GeneralInstruction" />
                                    <xs:enumeration value="GenerationInstruction" />
                                    <xs:enumeration value="GenericMap" />
                                    <xs:enumeration value="GeographicLocation" />
                                    <xs:enumeration value="GeographicLocationGroup" />
                                    <xs:enumeration value="GeographicLocationScheme" />
                                    <xs:enumeration value="GeographicStructure" />
                                    <xs:enumeration value="GeographicStructureGroup" />
                                    <xs:enumeration value="GeographicStructureScheme" />
                                    <xs:enumeration value="Group" />
                                    <xs:enumeration value="IfThenElse" />
                                    <xs:enumeration value="InLineNCubeRecordLayout" />
                                    <xs:enumeration value="Individual" />
                                    <xs:enumeration value="InformationClassification" />
                                    <xs:enumeration value="Instruction" />
                                    <xs:enumeration value="InstructionGroup" />
                                    <xs:enumeration value="Instrument" />
                                    <xs:enumeration value="InstrumentGroup" />
                                    <xs:enumeration value="InstrumentScheme" />
                                    <xs:enumeration value="InterviewerInstructionScheme" />
                                    <xs:enumeration value="LocalHoldingPackage" />
                                    <xs:enumeration value="LogicalProduct" />
                                    <xs:enumeration value="Loop" />
                                    <xs:enumeration value="ManagedCategoryRepresentation" />
                                    <xs:enumeration value="ManagedCodeRepresentation" />
                                    <xs:enumeration value="ManagedDateTimeRepresentation" />
                                    <xs:enumeration value="ManagedDistributionRepresentation" />
                                    <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                    <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                    <xs:enumeration value="ManagedGeographicRepresentation" />
                                    <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                    <xs:enumeration value="ManagedLocationRepresentation" />
                                    <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                    <xs:enumeration value="ManagedNominalRepresentation" />
                                    <xs:enumeration value="ManagedNumericRepresentation" />
                                    <xs:enumeration value="ManagedRankingRepresentation" />
                                    <xs:enumeration value="ManagedRepresentationGroup" />
                                    <xs:enumeration value="ManagedRepresentationScheme" />
                                    <xs:enumeration value="ManagedScaleRepresentation" />
                                    <xs:enumeration value="ManagedTextRepresentation" />
                                    <xs:enumeration value="MeasurementConstruct" />
                                    <xs:enumeration value="MeasurementGroup" />
                                    <xs:enumeration value="MeasurementItem" />
                                    <xs:enumeration value="MeasurementScheme" />
                                    <xs:enumeration value="Methodology" />
                                    <xs:enumeration value="NCube" />
                                    <xs:enumeration value="NCubeGroup" />
                                    <xs:enumeration value="NCubeInstance" />
                                    <xs:enumeration value="NCubeInstanceI" />
                                    <xs:enumeration value="NCubeInstanceT" />
                                    <xs:enumeration value="NCubeScheme" />
                                    <xs:enumeration value="Organization" />
                                    <xs:enumeration value="OrganizationGroup" />
                                    <xs:enumeration value="OrganizationScheme" />
                                    <xs:enumeration value="OtherMaterial" />
                                    <xs:enumeration value="OtherMaterialGroup" />
                                    <xs:enumeration value="OtherMaterialScheme" />
                                    <xs:enumeration value="PhysicalDataProduct" />
                                    <xs:enumeration value="PhysicalInstance" />
                                    <xs:enumeration value="PhysicalInstanceGroup" />
                                    <xs:enumeration value="PhysicalStructure" />
                                    <xs:enumeration value="PhysicalStructureGroup" />
                                    <xs:enumeration value="PhysicalStructureScheme" />
                                    <xs:enumeration value="Population" />
                                    <xs:enumeration value="PopulationGroup" />
                                    <xs:enumeration value="PopulationScheme" />
                                    <xs:enumeration value="PretestActivity" />
                                    <xs:enumeration value="ProcessingEvent" />
                                    <xs:enumeration value="ProcessingEventGroup" />
                                    <xs:enumeration value="ProcessingEventScheme" />
                                    <xs:enumeration value="ProcessingInstructionGroup" />
                                    <xs:enumeration value="ProcessingInstructionScheme" />
                                    <xs:enumeration value="ProprietaryRecordLayout" />
                                    <xs:enumeration value="QualityScheme" />
                                    <xs:enumeration value="QualityStandard" />
                                    <xs:enumeration value="QualityStandardGroup" />
                                    <xs:enumeration value="QualityStatement" />
                                    <xs:enumeration value="QualityStatementGroup" />
                                    <xs:enumeration value="QuestionBlock" />
                                    <xs:enumeration value="QuestionConstruct" />
                                    <xs:enumeration value="QuestionGrid" />
                                    <xs:enumeration value="QuestionGroup" />
                                    <xs:enumeration value="QuestionItem" />
                                    <xs:enumeration value="QuestionScheme" />
                                    <xs:enumeration value="RecordLayout" />
                                    <xs:enumeration value="RecordLayoutGroup" />
                                    <xs:enumeration value="RecordLayoutScheme" />
                                    <xs:enumeration value="Relation" />
                                    <xs:enumeration value="RepeatUntil" />
                                    <xs:enumeration value="RepeatWhile" />
                                    <xs:enumeration value="RepresentationMap" />
                                    <xs:enumeration value="RepresentedVariable" />
                                    <xs:enumeration value="RepresentedVariableGroup" />
                                    <xs:enumeration value="RepresentedVariableScheme" />
                                    <xs:enumeration value="ResourcePackage" />
                                    <xs:enumeration value="Sample" />
                                    <xs:enumeration value="SampleFrame" />
                                    <xs:enumeration value="SampleStep" />
                                    <xs:enumeration value="SamplingInformationGroup" />
                                    <xs:enumeration value="SamplingInformationScheme" />
                                    <xs:enumeration value="SamplingPlan" />
                                    <xs:enumeration value="SamplingStage" />
                                    <xs:enumeration value="Sequence" />
                                    <xs:enumeration value="Split" />
                                    <xs:enumeration value="SplitJoin" />
                                    <xs:enumeration value="StatementItem" />
                                    <xs:enumeration value="StatisticalClassification" />
                                    <xs:enumeration value="StudyUnit" />
                                    <xs:enumeration value="SubUniverseClass" />
                                    <xs:enumeration value="TabularNCubeRecordLayout" />
                                    <xs:enumeration value="TranslationActivity" />
                                    <xs:enumeration value="UnitType" />
                                    <xs:enumeration value="UnitTypeGroup" />
                                    <xs:enumeration value="UnitTypeScheme" />
                                    <xs:enumeration value="Universe" />
                                    <xs:enumeration value="UniverseGroup" />
                                    <xs:enumeration value="UniverseScheme" />
                                    <xs:enumeration value="Variable" />
                                    <xs:enumeration value="VariableGroup" />
                                    <xs:enumeration value="VariableScheme" />
                                    <xs:enumeration value="VariableStatistics" />
                                    <xs:enumeration value="Weighting" />
                                    <xs:enumeration value="WeightingMethodology" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="RelationshipDescription" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the nature of the relationship between the parent element of the relationship item and the DDI object to which it is related.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfRelationship" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes how the resource is related to the item. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RepresentationType" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">Abstract type for the head of a substitution group for a variable representation or a question response domain. If specific values are used to denote missing values, these can be indicated as a space-delimited list in the missingValue attribute. If the missing value is indicated by a blank, this should be indicated by setting the value of blankIsMissingValue to true.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RecommendedDataType" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This field provides the recommended treatment of the data within an application. The value should come from a controlled vocabulary - recommended values include the set found in W3C XML Schema Part 2, but excluding string sub-types, QNAME, and NOTATION. The DDI Alliance has provided a controlled vocabulary (DataType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="GenericOutputFormat" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This field provides a recommended generic treatment of the data for display by an application. The value should come from a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MeasurementUnit" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Records the measurement unit, for example, 'km', 'miles', etc. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="MissingValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">List the values used to represent missing data. Use of MissingValuesReference is preferred. If this content does not match the values provided in the MissingValuesReference, the content of the MissingValuesReference overrides the content of this attribute.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="BlankIsMissingValue" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">When value is true a blank or empty variable content should be treated as a missing value.  Use of MissingValuesReference is preferred.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassificationLevelCode" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RequiredResourcePackagesType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Specifies by reference the ResourcePackages required to resolve the module.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="ResourcePackageReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">References a resource package used by the module.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ResourcePackage" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RequirementsAssessmentType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Description of whether specific requirements for the activities providing these results were met.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfRequirementsAssessment" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the type of requirement being assessed such as staffing, funding, source materials, etc. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the Requirements Assessment.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsSatisfied" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A boolean statement of whether the requirement was satisfied or not. A value of "true" indicates that the minimum requirement was satisfied. Note any specific information in the Description.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ResearcherIDType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Captures an individuals assigned researcher ID within a specified system. Includes the type or researcher ID provided, the ID, a URI of the location or link, and a description of the researcher ID provided. E.g., Rajiv Agrwal, type=researcherID, ID=A-8725-2008), URI=www.researcherid.com/rid/A-8725-2008 which brings you to the researchers page.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfID" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Brief description of the ID type. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ResearcherIdentification" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value of the researcher ID.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="URI" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The URI (URN or URL) of the of the researcher ID.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the purpose and use of the researcher ID.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EffectivePeriod" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Clarifies when the identification information is accurate.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ResourcePackageArchiveType">
        <xs:annotation>
            <xs:documentation xml:lang="en">This is archive information specific to the creation, maintenance, and archiving of the ResourcePackage provided either in-line or by reference. This packaging element differentiates this "Archive" from one being published as a product within a ResourcePackage.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="ArchiveReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows for in-line entry of an Archive related to the creation and maintenance of the ResourcePackage.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Archive" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ResponseCardinalityType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Indicates the minimum and maximum number of occurrences of a response within the given parameters.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="MinimumResponses" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Minimum number of responses accepted expressed and an integer.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="MaximumResponses" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Maximum number of responses accepted expressed and an integer.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ResponseDomainInMixedType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A structure that provides both the response domain and information on how it should be attached, or related, to other specified response domains in the question. If no AttachmentLocation information is provided it is assumed that multiple response domains or response text occurs in sequence.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="ResponseDomain" type="ddi:RepresentationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The response domain being used. An abstract element. May be substituted by any valid object of substitution type ResponseDomain.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="ResponseDomainReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The inclusion of a response domain by reference (must be supported by a managed representation). An abstract element. May be substituted by any valid object of substitution type ResponseDomainReference.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ManagedCategoryRepresentation" />
                                    <xs:enumeration value="ManagedCodeRepresentation" />
                                    <xs:enumeration value="ManagedDateTimeRepresentation" />
                                    <xs:enumeration value="ManagedDistributionRepresentation" />
                                    <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                    <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                    <xs:enumeration value="ManagedGeographicRepresentation" />
                                    <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                    <xs:enumeration value="ManagedLocationRepresentation" />
                                    <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                    <xs:enumeration value="ManagedNominalRepresentation" />
                                    <xs:enumeration value="ManagedNumericRepresentation" />
                                    <xs:enumeration value="ManagedRankingRepresentation" />
                                    <xs:enumeration value="ManagedScaleRepresentation" />
                                    <xs:enumeration value="ManagedTextRepresentation" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AttachmentLocation" type="ddi:AttachmentLocationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows attachment of a secondary response domain to a specific item within another response domain used in the question. For example, attach a TextDomain to the value "Other" using the TextDomain label (Please specify) as a label for the TextDomain.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AttachmentBase" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If another response domain will be attached to the response domain listed withinResponseDomainInMixed provide a value in attachmentBase to allow for unique identification within this question. AttachmentLocation contains an attribute attachmentDomain which will provide a link from the domain that is being attached to the domain it is being attached to.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ResponseRateType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A specific rate of response and/or a description of the rate of response for a specific processing event that includes data appraisal.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="SampleSize" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The size of the sample from whom data was requested.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="NumberOfResponses" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The number of responses within the specified sample.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="SpecificResponseRate">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The specific rate of response expressed as a percent.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:decimal" />
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the rate of response including any information pertinent to understanding the specified rate of response.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ResponseTextSetType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides a means of bundling multiple language versions of the same intended dynamic text together. This wrapper serves to differentiate between a case where multiple language content for a single ResponseText are provided and when two differing sets of ResponseText are in immediate sequence (with no intervening question). Each of the repetitions of ResponseText within this wrapper are assumed to be multi-language equivalents.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ResponseText" type="ddi:DynamicTextType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Text closely related to the content of the ResponseDomain(s), in general, text required to make sense of the related response domain. Note that when using ResponseText, the full ResponseText must be repeated for multi-language versions of the content. Different languages may handle the dynamic portions in different locations and/or with different content. Therefore languages cannot be mixed within a dynamic text except when the full text itself has multiple language sections, for example, a foreign language term in a text. The DisplayText may also be repeated to provide a dynamic and plain text version of the display. This allows for accurate rendering of the ResponseText in a non-dynamic environment like print.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RestrictionProcessType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows for a specific machine actionable description of the restriction process using a ProcessingInstructionReference, if one currently exists, or through a CommandCode. In the case of a physical instance, the RestrictionProcess would be the same as a case, record or variable selection process.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="ProcessingInstructionReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a ProcessingInstruction containing the process instructions for restricting a level of coverage.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="GeneralInstruction" />
                                    <xs:enumeration value="GenerationInstruction" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CommandCode" type="ddi:CommandCodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The process instructions for restricting a level of coverage expressed as a command code.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ResultDetailType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Details of specific results of the development plan and process. May refer to specific development activities or DevelopmentSteps within a DevelopmentProcess.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfResult" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the specific type of result. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the Results Detail.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResultsDate" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The date or date range of obtaining results from the development work.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="RequirementsAssessment" type="ddi:RequirementsAssessmentType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of whether specific requirements for the activities providing these results were met.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RoleType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the role of Target Individual or Organization in relation to the Source Object. Provides a description and classification of the role, the period for which the role was valid, and any additional information relevent to the role.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the role played by the Target Object in relationship to the Source Object.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Keyword used to classify the role of the organization or individual in relationship to the Source Object</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="EffectivePeriod" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Time period when this role is/was valid.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="AdditionalInformation" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Any information not captured by the other descriptive objects. The privacy code may be set to indicate access restriction to this information.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Privacy">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A basic set of privacy codes for the parent element. These may be stricter than the general access restrictions for the overall metadata. If available codes are insufficient this may also contain any string.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="public" />
                        <xs:enumeration value="restricted" />
                        <xs:enumeration value="private" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RosterType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A roster is an unlabeled list of numbered rows or columns depending upon orientation. The numbers may or may not be displayed but will be used as information for creating the cell coordinate address. The Roster defines the numbering used for the coordinate system, sets a minimum and maximum number of values, and provides the condition for continuation. The Roster label is used in the same way as the label of the CodeDomain, providing a dimension level header or label.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A display label for the Roster.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ConditionForContinuation" type="ddi:CommandCodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provides the condition for continuing to add another iteration to the Roster. This may be a human readable condition and/or a machine-actionable command.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="BaseCodeValue" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A base value for the first item on the Roster (normally 0 or 1 but can be set to any value especially when the use of a roster extends an enumerated list expressed as an integer.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="CodeIterationValue" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value added to the last used value to create the iteration value for the current row or column expressed as an integer.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="MinimumRequired" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The minimum number of rows or columns required expressed as an integer.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="MaximumAllowed" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The maximum number of rows or columns allowed expressed as an integer. Leaving this attribute with no value implies that the maximum allowed is unbounded.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SamplingProcedureType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a sampling procedure. If multiple sampling procedures were used repeat this element for each.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfSamplingProcedure" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A generic means of classifying a SamplingProcedure. Supports the use of an external controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Full description of the sampling procedure. Supports structured content and multiple language content.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="SamplingPlanReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to sample plan which describes a process for achieving the sample. TypeOfObject should be SamplingPlan.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="SamplingPlan" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="SampleReference">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Reference to sample created using sampling procedure. TypeOfObject should be Sample.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                            <xs:sequence>
                                <xs:group ref="ddi:IdentificationGroup" />
                                <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="Sample" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:element>
                            </xs:sequence>
                            <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ScaleDimensionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines a dimension of a scale providing it with a label, a numeric or character based range, the attachment of a category label at one or more of the scale values, the frequency of increment markers, and the frequency of value labels on marked or unmarked increments.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A display label for the scale.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="NumberRange" type="ddi:NumberRangeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates the high and low values (endpoints) of a numeric scale.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Range" type="ddi:RangeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates the high and low values (endpoints) of a non-numeric scale.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Anchor" type="ddi:AnchorType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows for the attachment of a category label at any anchor point.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="MarkedIncrement" type="ddi:BasicIncrementType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the frequency for increment markers (with or without value attachments).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ValueIncrement" type="ddi:BasicIncrementType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the frequency for value labels on marked or unmarked increments.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DimensionNumber" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A number used to identify this dimension when describing its intersect point with one or more dimensions in the same scale representation. The dimension is denoted with a 1-based indexing. Dimension in the scale are numbered (1,2,n).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="DegreeSlopeFromHorizontal" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A horizontal line is described as a 0 (zero) slope. Expressed as the number of degrees positive (right end angle above the horizontal line) or degrees positive (right end descending below the horizontal line). </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ScaleDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A response domain capturing a scale response which describes a 1..n dimensional scale of various display types for a question item. Includes standard response domain elements; OutParameter, designation of response cardinality, and a declaration of an offset date for the data content. May be replaced by a ScaleRepresentationRefererence.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:ScaleRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the response to be bound to one of the QuestionItem's OutParameters, so the collected information can be used elsewhere, for example as inputs to subsequent questions in an Instrument or to a GenerationInstruction. If multiple responses are possible, this would represent and ordered array of the responses.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this response domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ScaleRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A means of capturing the structure of Scale for use as a question response domain or variable value representation. In addition to the basic objects of the representation, the structure defines the dimensions of the scale, an intersect for a multi-dimensional scale, and display layout.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ScaleDimension" type="ddi:ScaleDimensionType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of a dimension of the scale. Note that most scales will have only one dimension.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="DimensionIntersect" type="ddi:DimensionIntersectType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the point at which the scales of a multidimensional scale intersect.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DisplayLayout" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Defines they layout such as containing a drawn scale line, a list of values only, an outline (the boundaries of the area defined by 2 or more intersecting scales such as a diamond of opposites), or some other layout design. Allows for the use of a controlled vocabulary.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SegmentType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A structure used to express explicit segments or regions within different types of external materials (Textual, Audio, Video, XML, and Image). Provides the appropriate start, stop, or region definitions for each type.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Textual" type="ddi:TextualType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines the segment of textual content used by the parent object. Can identify a set of lines and or characters used to define the segment.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Audio" type="ddi:AudioType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the type and length of the audio segment.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Video" type="ddi:VideoType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the type and length of the video segment.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="XML" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An X-Pointer expression identifying a node in the XML document.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ImageArea" type="ddi:ImageAreaType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines the shape and area of an image used as part of a location representation. The shape is defined as a Rectangle, Circle, or Polygon and Coordinates provides the information required to define it.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SelectDimensionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">For each dimension in the grid define the applicable values as "all values", a "specific value" or a range. If a rangeMinimum or rangeMaximum is provided without the other, the assumption is unbounded for the object not included.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="1" maxOccurs="1" name="Rank" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The rank value of the dimension for which the selection criteria apply.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AllValues" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If set to "true" applies to the full set of dimension values. If set to "false" use specificValue, rangeMinimum and rangeMaximum as appropriate to define the subset of values needed.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="SpecificValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">May contain a single value or a delimited array of values.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="RangeMinimum" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The inclusive minimum value of the range. Use when the values or subset of values are ordered and contiguous and may be expressed as a range.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="RangeMaximum" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The inclusive maximum value of the range. Use when the values or subset of values are ordered and contiguous and may be expressed as a range.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SeriesStatementType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Series statement contains information about the series to which a study unit or group of study units belongs. You may point to the URL of a series repository and then use the SeriesName field to indicate the series itself as identified in that repository. Fields also exist for describing the series and providing abbreviations.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="SeriesRepositoryLocation" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Location of the repository containing the series. This may be repeated for multiple repository locations.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="SeriesName" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The full name of the series. The structure supports the use of multiple language versions of the content. If the name varies depending upon the context or is known by multiple names, this element may be repeated.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="SeriesAbbreviation" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Abbreviation of the series name. Repeat for multiple abbreviations for the SAME series Name.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="SeriesDescription" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describe the purpose of coverage of the series.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SimilarConceptType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A reference to a concept with similar meaning and a description of their differences. Formal comparison is done using a ConceptMap. The similar concept structure allows specification of similar concepts to address cases where confusion may affect the appropriate use of the concept.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="SimilarConceptReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a concept with a similar definition.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Concept" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Difference" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the difference between the two concepts. </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SizeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Consists of an integer value and specification of the unit. The unit may be specified using a controlled vocabulary.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="UnitTypeReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to an existing UnitType using the Reference structure. TypeOfObject should be set to UnitType.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="UnitType" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="NumberOfUnits" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicate the number of units of the UnitType specified.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SoftwareType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a specific software package, which may be commercially available or custom-made.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="SoftwareName" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The name of the software package, including its producer.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="SoftwarePackage" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A coded value from a controlled vocabulary, describing the software package. The DDI Alliance has provided a controlled vocabulary (SoftwarePackage) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="SoftwareVersion" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The version of the software package. Defaults to '1.0'.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the content and purpose of the software.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Date" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Supported date of the software package with, at minimum, a release date if known.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Function" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the functions handled by this software. Repeat for multiple functions. It may be advisable to note only those functions used in the specific usage of the software.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Lang" type="ddi:language">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Language (human language) of the software package.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SourceObjectType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the Source organization or individual in the relationship. References either an Organization or an Individual and specifies their relationship in terms of parent, child, or sibling.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OrganizationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to an Organization described in DDI.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IndividualReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to an Individual described in DDI.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="RelationshipCode">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A specification of the relationship of the Source to the Target in terms of Parent (superior), Child (subordinate), or Sibling (on par).</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Parent" />
                        <xs:enumeration value="Child" />
                        <xs:enumeration value="Sibling" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SourceRepresentationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides a reference to the managed content of a representation which may be a ManagedRepresentation or a specific CodeList, GeographicRepresentation, or GeographicLocation. Allows for the optional reference to a Concept when context is important. For example, a ManagedNumericRepresentation within the context of Age.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="ManagedRepresentationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Substitution group head for referencing Managed Representations. For example, ManagedTextRepresentationReference, ManagedNumericRepresentationReference, etc.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ManagedCategoryRepresentation" />
                                    <xs:enumeration value="ManagedCodeRepresentation" />
                                    <xs:enumeration value="ManagedDateTimeRepresentation" />
                                    <xs:enumeration value="ManagedDistributionRepresentation" />
                                    <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                    <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                    <xs:enumeration value="ManagedGeographicRepresentation" />
                                    <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                    <xs:enumeration value="ManagedLocationRepresentation" />
                                    <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                    <xs:enumeration value="ManagedNominalRepresentation" />
                                    <xs:enumeration value="ManagedNumericRepresentation" />
                                    <xs:enumeration value="ManagedRankingRepresentation" />
                                    <xs:enumeration value="ManagedScaleRepresentation" />
                                    <xs:enumeration value="ManagedTextRepresentation" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CategorySchemeReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a CategoryScheme as the managed component of a representation.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="CategoryScheme" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CodeListReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a CodeList as the managed component of a representation.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="CodeList" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="GeographicStructureReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a GeographicStructure as the managed component of a representation.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="GeographicStructure" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="GeographicLocationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a GeographicLocation as the managed component of a representation.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="GeographicLocation" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ConceptReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a Concept which provides a context for the representation, e.g. Age for a numeric representation.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Concept" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SourceTargetLinkType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a set of variables, one from the source record and one from the target record used as all or part of a link between the source and target records.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="SourceLinkVariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the variable in the Source Record containing the value that is equal to the value in the identified variable in the Target Record.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="TargetLinkVariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to the variable in the Target Record containing the value that is equal to the value in the identified variable in the Source Record.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SpatialCoordinateType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Lists the value and format type for the coordinate value. Note that this is a single value (X coordinate or Y coordinate) rather than a coordinate pair.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="CoordinateValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value of the coordinate expressed as a string.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="CoordinateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the type of point coordinate system using a controlled vocabulary. Point formats include decimal degree, degrees minutes seconds, decimal minutes, meters, and feet.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="DecimalDegree" />
                        <xs:enumeration value="DegreesMinutesSeconds" />
                        <xs:enumeration value="DecimalMinutes" />
                        <xs:enumeration value="Meters" />
                        <xs:enumeration value="Feet" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SpecificSequenceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the ordering of items when not otherwise indicated. There are a set number of values for ItemSequenceType, but also a provision for describing an alternate ordering using a command language.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="ItemSequenceType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the type of sequence to use. Values include InOrderOfAppearance, Random, Rotate, and Other.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="InOrderOfAppearance" />
                        <xs:enumeration value="Random" />
                        <xs:enumeration value="Rotate" />
                        <xs:enumeration value="Other" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AlternateSequenceType" type="ddi:CommandCodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Information on the command used to generate an alternative means of determining sequence changes. If used, the ItemSequenceType should be "Other".</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StandardKeyValuePairType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A basic data representation for computing systems and applications expressed as a tuple (attribute key, value). Attribute keys may or may not be unique.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AttributeKey" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This key (sometimes referred to as a name) expressed as a string. Supports the use of an external controlled vocabulary which is the recommended approach.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AttributeValue" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value assigned to the named Key expressed as a string. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StandardUsedType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provide the citation and location of the published standard using the OtherMaterialType.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OtherMaterialReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description and link to the StandardUsed using the DDI Other Material structure.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="OtherMaterial" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StandardWeightType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides an identified value for a standard weight expressed as an xs:float. This object may be referenced by a variable or statistic and used as a weight for analysis.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="StandardWeightValue">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Provides the standard weight used for weighted analysis of data expressed as an xs:float. This element is referenced by the variable and/or statistics calculated using the standard weight.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="ddi:float">
                                <xs:pattern value="[+-]?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))([eE][+-]?[0-9]+)?" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="StatisticDoubleType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The value (expressed as a double) of the statistics and whether it is weighted and/or includes missing values.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="DoubleValue">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:double">
                        <xs:pattern value="[+-]?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))([eE][+-]?[0-9]+)?" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsWeighted" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Set to "true" if the statistic is weighted using the weight designated in VariableStatistics.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ComputationBase">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines the cases included in determining the statistic. The options are total=all cases, valid and missing (invalid); validOnly=Only valid values, missing (invalid) are not included in the calculation; missingOnly=Only missing (invalid) cases included in the calculation.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="total" />
                        <xs:enumeration value="validOnly" />
                        <xs:enumeration value="missingOnly" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StatisticType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The value (expressed as a decimal) of the statistics and whether it is weighted and/or includes missing values.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="DecimalValue">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="ddi:decimal" />
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsWeighted" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Set to "true" if the statistic is weighted using the weight designated in VariableStatistics.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ComputationBase">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines the cases included in determining the statistic. The options are total=all cases, valid and missing (invalid); validOnly=Only valid values, missing (invalid) are not included in the calculation; missingOnly=Only missing (invalid) cases included in the calculation.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="total" />
                        <xs:enumeration value="validOnly" />
                        <xs:enumeration value="missingOnly" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StatisticalDataLocationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">References a PhysicalInstance module that describes a data file containing the summary and/or category statistics OR contains the statistics in-line.  For example, when the same data are stored as an ASCII file and as an ORACLE file, the summary and category statistics would only be listed in one of the physical instance files, and referenced in the other(s).</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="PhysicalInstanceReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">References a physical instance containing the statistics inline or that identifies the data file which contains the statistics.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="PhysicalInstance" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="IsInline" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Set to "true" if the summary/category statistics are found inline in the referenced physical instance. Set to "false" if they are in the data file associated with the physical instance.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StatisticalSummaryType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides a statistical summary of the data in the related file as a set of variable level and category level statistics. May refer to a set of statistics provided in another physical instance (for example if the same data is held in multiple storage formats) or if the summary statistics are held as a separate data set.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="StatisticalDataLocation" type="ddi:StatisticalDataLocationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a PhysicalInstance that describes a data file containing the summary and/or category statistics OR contains the statistics in-line as in the case of the same data stored as an ASCII file and as an ORACLE file where the summary and category statistics are listed only in one of the physical instance files.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableStatisticsReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">One or more statistical measures that describe the responses to a particular variable. Include both variable and category level statistics.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="VariableStatistics" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StimulusMaterialType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Description and link to the StimulusMaterial using the DDI Other Material structure.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OtherMaterialReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description and link to the StimulusMaterial using the DDI Other Material structure.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="OtherMaterial" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StratificationRationaleType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describe the purpose for stratifying your sample frame prior to sampling.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A full description of the purpose for stratifying your sample frame prior to sampling</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="UniverseReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference each sub universe which defines a strata of the population. For example if you are stratifying on gender there would be 2 Universe references, one to Males and one to Females.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Universe" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="PopulationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to each population that defines a stratum of the population being sampled. For example, when stratifying by gender, separate Population references may identify males and females in the United States in January 2026.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Population" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StratificationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describe all stratifications here. Note that each stratified group will be sampled using the same sampling plan. For example stratifying a state by ZIP Code areas in each of 5 mean income quintiles and then doing a random sample of the households in set of ZIP Codes. Allows for oversampling of identified subpopulations. Example: urban/rural, gender, state, marital status. Might be defined at the SamplngScheme level.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StratificationRationale" type="ddi:StratificationRationaleType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describe the purpose for stratifying your sample frame prior to sampling.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="AllocationMethod" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Method to determine how the sample should be allocated/distributed (Source: US Census Metadata Standard document)</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="StrataNumber" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Assign a number to the strata being described</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructuredMixedGridResponseDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains a mixture of response domains for the grid cells. Each response domain can be attached to a specific region of the grid, for example a single column or row. It is assumed that each cell will contain either a resonse domain or be declared as containing No Data By Definition. Any cell may also contain an internal label.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="GridResponseDomainInMixed" type="ddi:GridResponseDomainInMixedType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies a response type found in the grid and defines the cell or cells that contain it.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="NoDataByDefinition" type="ddi:GridAttachmentType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the cell or cells in the grid that by definition contain no response domains. These cells MAY contain a label.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructuredMixedResponseDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A structure to allow for mixing multiple response domains in a single question. These may also include intervening text statements that are tightly bound to a response domain. A common example is the use of a CodeDomain and a TextDomain where the TextDomain is associated with the value with the label "Other" in the CodeDomain. ResponseDomains should be chosen that do NOT duplicate responses such as CodeLists with overlapping codes. Be aware that certain instruments may collect responses in such a way that confusion between a code response and text response may be possible. The process of resolving such conflicts should be addressed in the data processing instructions. There is an assumption that if a text or numeric response duplicates a coded response to a question, that the value is that of the coded category. At least one ResponseDomain must be provided.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ResponseTextSet" type="ddi:ResponseTextSetType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Text closely related to the content of the ResponseDomain(s), in general, text required to make sense of the related response domain. ResponseTextSet provides a means of bundling multiple language versions of ResponseText together. This wrapper serves to differentiate between a case where multiple language content for a single ResponseText are provided and when two differing sets of ResponseText are in immediate sequence (with no intervening question).  Note that when using ResponseText, the full ResponseText must be repeated for multi-language versions of the content within the same ResponseTextSet.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ResponseDomainInMixed" type="ddi:ResponseDomainInMixedType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A structure that provides both the response domain and information on how it should be attached, or related, to other specified response domains in the question.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StudyClassType">
        <xs:annotation>
            <xs:documentation xml:lang="en">An archive specific classification. This may be a topical classification, a classification of intended processing levels, or information on the processing status. Consists of a description of the study class and a term used to specify the class type.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the purpose in classifying the object and how it conforms to the classification.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ClassType" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A term used to classify the study class. As these are archive specific, DDI strongly recommends the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SummaryStatisticType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes a summary statistic for a variable.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfSummaryStatistic" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Type of summary statistic, such as count, mean, mode, median, etc. Supports the use of an external controlled vocabulary. DDI strongly recommends the use of a controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (SummaryStatisticType) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="Statistic" type="ddi:StatisticType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value (expressed as a decimal) of the statistics and whether it is weighted and/or includes missing values.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StatisticDouble" type="ddi:StatisticDoubleType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value (expressed as a double) of the statistics and whether it is weighted and/or includes missing values.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TargetObjectType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the Target organization or individual in the relationship. References either an Organiztion or an Individual and specifies the role of the Target in relationship to the Source. Multiple roles for specified periods may be identified.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OrganizationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to an Organization described in DDI.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Organization" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IndividualReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to an Individual described in DDI.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Individual" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Role" type="ddi:RoleType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the role of Target Individual or Organization in relation to the Source Object.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TargetRepresentationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides a reference to a codified representation. Supports the ability to limit code coverage as appropriate for the coding structure referenced.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="ManagedRepresentationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Substitution group head for referencing Managed Representations. For example, ManagedTextRepresentationReference, ManagedNumericRepresentationReference, etc.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ManagedCategoryRepresentation" />
                                    <xs:enumeration value="ManagedCodeRepresentation" />
                                    <xs:enumeration value="ManagedDateTimeRepresentation" />
                                    <xs:enumeration value="ManagedDistributionRepresentation" />
                                    <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                    <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                    <xs:enumeration value="ManagedGeographicRepresentation" />
                                    <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                    <xs:enumeration value="ManagedLocationRepresentation" />
                                    <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                    <xs:enumeration value="ManagedNominalRepresentation" />
                                    <xs:enumeration value="ManagedNumericRepresentation" />
                                    <xs:enumeration value="ManagedRankingRepresentation" />
                                    <xs:enumeration value="ManagedScaleRepresentation" />
                                    <xs:enumeration value="ManagedTextRepresentation" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CategorySchemeReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a CategoryScheme as the managed component of a representation.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="CategoryScheme" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CodeListReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a CodeList as the managed component of a representation.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="CodeList" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CodeSubsetInformation" type="ddi:CodeSubsetInformationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows further specification of the codes to use from the CodeList.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IncludedGeographicStructureCodes" type="ddi:IncludedGeographicStructureCodesType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the Geographic Structure codes included by the Authorized source of the code, the geographic location being used and the locations to exclude.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="IncludedGeographicLocationCodes" type="ddi:IncludedGeographicLocationCodesType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the Geographic Location codes included by the Authorized source of the code, the geographic location being used and the locations to exclude.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TargetSampleSizeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The desired sample size for this particular sample plan express in relation to its strata number if relevant. Provides means of expressing the formula used for determining the sample size.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="StrataNumber" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicate specific strata if the sample frame has been stratified prior to sampling within the specified stage.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DesiredSampleSize" type="ddi:SizeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The number and type of sample units.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="SampleSizeFormulaReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the General or GenerationInstruction containing the formula or instruction used to determine sample size. The basic Reference structure is extended to allow for the use of Binding to link specific source parameters to the InParameter of the instruction at the point of use. If there is a conflict between a Binding in the instruction of a specific source to an InParameter and the Binding information provided in the ProcessingInstructionReference, the Binding information in the reference overrides that found in the instruction. TypeOfObject should be set to GeneralInstruction or GenerationInstruction.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="GeneralInstruction" />
                                    <xs:enumeration value="GenerationInstruction" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TelephoneType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Details of a telephone number including the number, type of number, a privacy setting and an indication of whether this is the preferred contact number.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="TelephoneNumber" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The telephone number including country code if appropriate.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfTelephone" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates type of telephone number provided (home, fax, office, cell, etc.). Supports the use of a controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (TypeOfTelephone) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EffectivePeriod" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Clarifies when the identification information is accurate.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Privacy">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A basic set of privacy codes for the parent element. These may be stricter than the general access restrictions for the overall metadata. If available codes are insufficient this may also contain any string.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="public" />
                        <xs:enumeration value="restricted" />
                        <xs:enumeration value="private" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsPreferred" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Set to "true" if this is the preferred telephone number for contact.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TemporalCoverageType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the temporal coverage of the data described in a particular DDI module. A date may have a subject attached to it if the referent date has limited application.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="ReferenceDate" type="ddi:ReferenceDateType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The time period to which the data refer. This item reflects the time period covered by the data, not dates in the life cycle of a study or collection.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TextContentType" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="en">Abstract type existing as the head of a substitution group. May be replaced by any valid member of the substitution group TextContent. Provides the common element Description to all members using TextContent as an extension base.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the content and purpose of the text segment.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TextDomainType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A response domain capturing a textual response. Contains the equivalent content of a TextRepresentation including the length of the text and restriction of content using a regular expression. Adds a set of elements available to all Response Domains; Label, Description, OutParameter, designation of response cardinality, and a declaration of an offset date for the data content. Has an equivalent TextDomainReference which references a ManagedTextRepresentation.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:TextRepresentationBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A display label for the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A description of the content and purpose of the domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="OutParameter" type="ddi:ParameterType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows for the response to be bound to one of the QuestionItem's OutParameters, so the collected information can be used elsewhere, for example as inputs to subsequent questions in an Instrument or to a GenerationInstruction. If multiple responses are possible, this would represent and ordered array of the responses.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ResponseCardinality" type="ddi:ResponseCardinalityType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows the designation of the minimum and maximum number of responses allowed for this response domain.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TextRepresentationBaseType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Structures a textual representation. MinLength and maxlength attributes are inclusive integers describing the number of permitted characters. The regExp attribute holds a regular expression describing the valid contents of the string.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:RepresentationType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" name="MaxLength" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The maximum number of characters allowed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="MinLength" type="ddi:nonNegativeInteger">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The minimum number of characters allowed.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="1" name="RegExp" type="xs:string">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A regular expression limiting the allowed characters or character order of the content.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TextualType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines the segment of textual content used by the parent object. Can identify a set of lines and or characters used to define the segment.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="LineParameter" type="ddi:LineParameterType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specification of the line and offset for the beginning and end of the segment.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CharacterParameter" type="ddi:CharacterParameterType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specification of the character offset for the beginning and end of the segment.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TimeMethodType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the time method or time dimension of the data collection. This may cover specific timing issues such as when a data collection instrument is fielded (time of year, month, week, day), intended repetition, length of data collection period etc. In addition to the descriptive narrative supports the use of a brief term or external controlled vocabulary to classify the methodology used.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfTimeMethod" type="ddi:CodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Allows brief identification of time method used with the option of using a controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (TimeMethod) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Full description of the data time method used.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TopLeftTableAnchorType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Notes the column and row position of the top left corner of the data table in the spreadsheet.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="1" maxOccurs="1" name="Column" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The column identifier expressed as a string.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Row" type="ddi:nonNegativeInteger">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The row number expressed as an integer.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TopicalCoverageType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the topical coverage of the module using Subject and Keyword. Note that upper level modules should include all the members of lower level modules. Subjects are members of structured classification systems such as formal subject headings in libraries or topical thesauri. Keywords are generally unstructured and reflect the terminology found in the document and other related (broader or similar) terms.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
            <xs:extension base="ddi:IdentifiableType">
                <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Subject" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A subject or list of subjects that indicate the topical coverage of the data described in a particular module/section. Uses and InternationalCodeValue and may indicate the language of the code used.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A keyword that indicates the topical coverage of the data described in a particular module/section. Uses and InternationalCodeValue and may indicate the language of the code used.</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TranslationAidResourceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides a reference to the translation aid resource using the structure of OtherMaterial.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OtherMaterialReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description and link to the complexType using the DDI Other Material structure.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="OtherMaterial" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TranslationAidType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes available aids for translation typed by a controlled vocabulary and supporting a description and resource identification where appropriate. This may include items such as the availability of an interpreter, key word material, etc.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfTranslationAid" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the type of translation aid available. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the translation aid.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TranslationAidResource" type="ddi:TranslationAidResourceType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provides a reference to the translation aid resource using the structure of OtherMaterial.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TranslationMethodType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes both minimum and preferred language abilities sought for the translation work as a set of source and target language requirements.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfTranslationMethod" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specifies the type of translation method used. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the translation method.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TranslationRequirementsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides a detailed description of the requirements for an acceptable translation and indicate if the translation should be oral and/or written.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the Translation Requirements.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsOral" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates if the translation is an oral translation.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsWritten" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates if the translation is a written translation.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TranslationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides the language of translation as well as a description of translation for the contents of the DDI Instance.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Language" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Uses the more generic Language element found in a Citation. Allows for use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="I18nText" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Value of the language identifier used.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="I18nCatalog" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the l18n catalog used.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the translation process of the data and metadata.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Lang" type="ddi:language">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Language of the tag content.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TranslatorRequirementsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes both minimum and preferred language abilities sought for the translation work as a set of source and target language requirements.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TranslationSourceLanguageAbility" type="ddi:LanguageAbilitySoughtType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes both minimum and preferred language abilities sought for the translation work for the source language.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TranslationTargetLanguageAbility" type="ddi:LanguageAbilitySoughtType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes both minimum and preferred language abilities sought for the translation work for the target language.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="URIType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A URN or URL for a file with a flag to indicate if it is a public copy.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="AnyURIValue" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsPublic" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Set to "true" (default value) if this file is publicly available. This does not imply that there are not restrictions to access. Set to "false" if this is not publicly available, such as a backup copy, an internal processing data file, etc.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="URLType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A web site URL</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="AnyURIValue" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Privacy">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A basic set of privacy codes for the parent element. These may be stricter than the general access restrictions for the overall metadata. If available codes are insufficient this may also contain any string.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="public" />
                        <xs:enumeration value="restricted" />
                        <xs:enumeration value="private" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsPreferred" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Set to "true" if this is the preferred URL.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="UnfilteredCategoryStatisticsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The unfiltered values of any number of statistics by category value representing the full response distribution of the variable.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="VariableCategory" type="ddi:VariableCategoryType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A structure that is repeated for each category value for which one or more statistics are recorded. Each VariableCategory has one category value and any number of associated statistics.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="UsageGuideType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A guide to the appropriate usage of the weights generated by the processing event.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="UsageExample" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provide relevant illustrations of the use of the weights described produced in the weighting process.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="UsageRestrictions" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Note specific rules or restrictions for use.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="UsageRecommendations" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Recommend best practices for the use of the weights described produced in the weighting process.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CommandCode" type="ddi:CommandCodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Use CommandCode content to describe and/or specify code for using weights. Allows specification of input variables using parameters and binding as well description, code snippets or a link to external code.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="UsedType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Specifies a DDI object and all its sub-objects supported by the DDIProfile. May specify an alternate local name and description of an object, instructions for its use, and set limits on its allowed usage.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="AlternateName" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provides an alternate name for the element, for presentation purposes (not for use in the XML instance).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the content and purpose of the object.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Instructions" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Instructions for the use of the object within the context of the profile.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="DefaultValue" type="ddi:ValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This field provides a default value for the specified element or attribute if it holds simple content, and the value must be a valid one per the DDI schemas. This assumes that the value is not specified in the DDI instance itself, which would override the default. The value should also be provided as part of the XPath expression supplied for the field.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="IsRequired" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">If true indicates that an element described as optional in DDI is required by the profile.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" name="Xpath" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Contains an XPath which points to an element or attribute in DDI instances which is used by the profile. All subelements of a used element are assumed to be supported unless explicitly addressed by the profile. The number of supported repetitions may be included in the XPath expression.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="LimitMaxOccurs" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This field allows for limiting the maximum occurrences of this field. If the number is greater than the maxOccurs value in DDI it will be ignored and the DDI specification will remain in use.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="FixedValue" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This field, if set to true, provides an indication that the default value supplied in the fixedValue attribute is the only one which is allowed for the profile - other values will be overridden with the default (a warning should be issued to the creator of the instance); the value must be a valid one per the DDI schemas.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="UserIDType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A user provided identifier that is locally unique within its specific type. The required type attribute points to the local user identification system that defines the values. The optional userIDVersion allows specification of a version number for the identifier. If multiple UserIDs are used they must be differentiated by the type attribute.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="StringValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="1" maxOccurs="1" block="extension restriction" name="TypeOfUserID" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is a required attribute containing the local user identification system that maintains and defines the UserID.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="UserIDVersion" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The UserID may designate the version number of the UserID. This is important in cases where the DDI identification system and the UserID system use different structures to record version numbers or if there is a difference between the DDI version number and the UserID's version number.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfUserVersion" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">This is the name of the versioning scheme as defined by the user's system, in cases where the user's system employs more than one versioning scheme. It is specific to the system identified by the typeOfUserID attribute</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ValueType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The Value expressed as an xs:string with the ability to preserve whitespace if critical to the understanding of the content.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="StringValue" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en"></xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VariableAttributeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">An attribute may be any other Variable which should be attached to or coupled with a Variable such as a weight, filter, or other related variable. The VariableAttribute may be typed using a Controlled Vocabulary structure.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfVariableAttribute" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A brief textual identification of the variable attribute type. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="VariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to a variable that describes the attribute.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VariableCategoryType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A category value for which one or more statistics are recorded. Each VariableCategory has one category value and any number of associated statistics.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="CategoryValue" type="ddi:CategoryValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value of the category.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="CategoryStatistic" type="ddi:CategoryStatisticType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The value of a statistic associated with the category value indicated in the sibling CategoryValue element.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VariableItemType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The set of values associated with a single variable (one for each record in storage order of records).</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="VariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the variable associated with the values given.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Value" type="ddi:ValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Value associated with the referenced variable in record storage order.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VariableOrderType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A set of References to Variable found in the record in storage order.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">References variables in storage order. One reference per variable.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VariableRepresentationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the representation of the variable in the data set. Describes the function of the variable, variables or standard weights that may be used to weight this variable during analysis, imputation and processing information, other variables used to create the value of this variable through concatenation, valid value representations (valid for analysis of respondents), missing value representations, aggregation methods used to generate the content of the variable, and additivity information.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="VariableRole" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes a specific function of the variable, such as identity, weight, geographic variable, time, date, currency, etc. This is a more extensive means of identifying the function of the variable than the Boolean indicators on the variable. Allows for agency specific designations. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="WeightVariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to one or more weight variables that may be used in analyzing this variable.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="StandardWeightReference" type="ddi:StandardWeightType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the StandardWeight found in the Weighting description, which is relevant for analyzing this variable. A standard weight is a single weight used for all variables of a specific type or for a specified sub-universe.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="VariableAttribute" type="ddi:VariableAttributeType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An attribute may be any object which should be attached to or coupled with a Variable such as a related suppression flag, source flag, footnote, etc. It may be defined as a Variable or contain textual content (such as a footnote).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ImputationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the imputation process described as a General Instruction in a ProcessingInstructionScheme.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="GeneralInstruction" />
                                    <xs:enumeration value="GenerationInstruction" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ConcatenatedValue" type="ddi:ConcatenatedValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Provides a reference to other variables and describes the method for deriving the value of this variable by concatenating a collection of other variables. This is useful in creating concatenated keys.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ProcessingInstructionReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A reference to either a general or generation instruction that was provided to those who converted information from one form to another to create a particular variable. This might include the reordering of numeric information into another form or the conversion of textual information into numeric information. TypeOfObject should be set to GeneralInstruction or GenerationInstruction.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="GeneralInstruction" />
                                    <xs:enumeration value="GenerationInstruction" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ValueRepresentation" type="ddi:RepresentationType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the actual representation of the variables' values. Allows for the listing of values to be treated as missing in order to support 3.1 structures. The preferred method is the use of a reference to ManagedMissingValues description using MissingValuesReference. If both are used and there is a conflict in the content, MissingValuesReference will override the content provided in the ValueRepresentationReference.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="ValueRepresentationReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows for the use of a ManagedRepresentation by reference. ValueRepresentationReference is the abstract head of a substitution group and may be replaced with any valid substitution for ValueRepresentationReference.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ManagedCategoryRepresentation" />
                                    <xs:enumeration value="ManagedCodeRepresentation" />
                                    <xs:enumeration value="ManagedDateTimeRepresentation" />
                                    <xs:enumeration value="ManagedDistributionRepresentation" />
                                    <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                                    <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                                    <xs:enumeration value="ManagedGeographicRepresentation" />
                                    <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                                    <xs:enumeration value="ManagedLocationRepresentation" />
                                    <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                    <xs:enumeration value="ManagedNominalRepresentation" />
                                    <xs:enumeration value="ManagedNumericRepresentation" />
                                    <xs:enumeration value="ManagedRankingRepresentation" />
                                    <xs:enumeration value="ManagedScaleRepresentation" />
                                    <xs:enumeration value="ManagedTextRepresentation" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="MissingValuesReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to an existing MissingValuesRepresentation using the Reference structure. If this content conflicts with content provided in the ValueRepresentation regarding Missing Values the content of the MissingValuesRepresentation overrides. TypeOfObject will be MissingValuesRepresentation</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="ManagedMissingValuesRepresentation" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="ContentDateOffset" type="ddi:ContentDateOffsetType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the difference between the date applied to the data as a whole and this specific item such as previous year's income or residence 5 years ago.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="AggregationMethod" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates the type of aggregation method used. Supports the use of a controlled vocabulary. The DDI Alliance has provided a controlled vocabulary (AggregationMethod) to support this element at http://www.ddialliance.org/controlled-vocabularies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Additivity">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Records type of additivity, such as 'stock', 'flow', 'non-additive'.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Stock" />
                        <xs:enumeration value="Flow" />
                        <xs:enumeration value="NonAdditive" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VariableSetType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Storage format arranged variable by variable. Item values are listed in record order with the assumption that each record will occupy the position in each array.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="VariableItem" type="ddi:VariableItemType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The set of values associated with a single variable (one for each record in storage order of records).</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VariableValueReferenceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A reference to the variable containing the record type locator and the value being used. TypeOfObject should be set to Variable.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="VariableReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to the variable containing the record type locator.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="RelatedValue" type="ddi:RelatedValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Value of variable indicating this record type, multiple entries allow for multiple valid values or ranges. Indicates if the variable should be equal to, greater than, less than, greater than or equal to, less than or equal to, or not equal to the stated value.(default value is "Equal"). Also allows the conditional value to be defined as blank (or no content).</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VariablesInRecordType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the variables contained in the logical record by indicating that all variable contained in the logical product are included, inclusion of a scheme of variable to include, or listing individual variables to include. When the attribute allVariablesInLogicalProduct is set to "false" use the VariableSchemeReference (which allows for exclusions) and VariableUsedReference to specify the included variables.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableSchemeReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a VariableScheme whose members are included in the logical record. Note that individual items may be excluded from the scheme if not used by the logical record.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="VariableScheme" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="VariableUsedReference">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Reference to a variable to include in the logical record. This may be used to supplement the contents of an included VariableScheme or to list all the variables individually.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:group ref="ddi:IdentificationGroup" />
                        <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Variable" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="AllVariablesInLogicalProduct" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Set to "true" when the logical record contains all the variables identified within the logical product module.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VersionDistinctionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the data versioning scheme(s) used by an organization. If more than one, Name should differentiate between a standard versioning structure used by the organization and special structures used by specific projects or studies. Information on what drives and major and minor change and how they are structured.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="VersionDistinctionName" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A name for the Version Distinction.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Label" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A display label for the Version Distinction.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the content and purpose of the Version Distinction.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="EffectivePeriod" type="ddi:DateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Clarifies when the identification information is accurate.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="RegExp" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Allows the version structure to be defined by a regular expression.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VersionRationaleType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Textual description of the rationale/purpose for the version change and a coded value to provide an internal processing flag within and organization or system. Note that versioning can only take place on objects owned by the specified DDI Agency. If you are creating a local instance of an object from another agency for current or future modification use BasedOnObject. If the changes being made result in what you determine to be new object rather than a version of a previous object, i.e. the change is too extensive to consider it a version of the existing object, create a new object and use BasedOnObject to provide a link to the object or objects that were a basis for the new object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="RationaleDescription" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Textual description of the rationale/purpose for the version change to inform users as to the extent and implication of the version change.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="RationaleCode" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">RationaleCode is primarily for internal processing flags within an organization or system. Supports the use of an external controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VideoType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the type and length of the video segment.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" block="extension restriction" name="TypeOfVideoClip" type="ddi:CodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The type of video clip provided. Supports the use of a controlled vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="VideoClipBegin" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The point to begin the video clip. If no point is provided the assumption is that the start point is the beginning of the clip provided.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="VideoClipEnd" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The point to end the video clip. If no point is provided the assumption is that the end point is the end of the clip provided.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VocabularyType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides information about the vocabulary used to create a concept scheme.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="VocabularyTitle" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Full title of vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Abbreviation" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Abbreviation of vocabulary title.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" block="extension restriction" name="Keyword" type="ddi:InternationalCodeValueType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Keywords that describe the vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A description of the content and purpose of the Vocabulary.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="URI" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en">URI to external resource providing information about the vocabulary (general description, main web page).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="XMLURI" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en">URI to the vocabulary represented as an XML document.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="Scheme" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Textual description of the XML scheme in which the classification is written.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="SchemeURI" type="ddi:anyURI">
                <xs:annotation>
                    <xs:documentation xml:lang="en">URI to the XML scheme used in the vocabulary (DTD or XML Schema for the XML document above; schemes like DDI, Claset, Neuchatel, and DocBook). Typically, this will be an XML namespace.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Comments" type="ddi:LangString">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Information regarding the selection and usage of the vocabulary including appropriate usage constraints.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="XMLPrefixMapType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Maps a specified prefix to a namespace. For each XML namespace used in the profile's XPath expressions, the XML namespaces must have their prefix specified using this element.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="XMLPrefix" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specify the exact prefix used.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="XMLNamespace" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Specify the namespace which the prefix represents.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReferenceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">An identification-only reference to any concrete item.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:group ref="ddi:IdentificationGroup" />
            <xs:element minOccurs="1" maxOccurs="1" name="TypeOfObject">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="ApprovalReview" />
                        <xs:enumeration value="Archive" />
                        <xs:enumeration value="Category" />
                        <xs:enumeration value="CategoryGroup" />
                        <xs:enumeration value="CategoryScheme" />
                        <xs:enumeration value="ClassificationCorrespondenceTable" />
                        <xs:enumeration value="ClassificationFamily" />
                        <xs:enumeration value="ClassificationIndex" />
                        <xs:enumeration value="ClassificationItem" />
                        <xs:enumeration value="ClassificationLevel" />
                        <xs:enumeration value="ClassificationSeries" />
                        <xs:enumeration value="CodeList" />
                        <xs:enumeration value="CodeListGroup" />
                        <xs:enumeration value="CodeListScheme" />
                        <xs:enumeration value="CognitiveExpertReviewActivity" />
                        <xs:enumeration value="CognitiveInterviewActivity" />
                        <xs:enumeration value="Comparison" />
                        <xs:enumeration value="ComputationItem" />
                        <xs:enumeration value="Concept" />
                        <xs:enumeration value="ConceptGroup" />
                        <xs:enumeration value="ConceptScheme" />
                        <xs:enumeration value="ConceptualComponent" />
                        <xs:enumeration value="ConceptualVariable" />
                        <xs:enumeration value="ConceptualVariableGroup" />
                        <xs:enumeration value="ConceptualVariableScheme" />
                        <xs:enumeration value="ContentReviewActivity" />
                        <xs:enumeration value="ControlConstructGroup" />
                        <xs:enumeration value="ControlConstructScheme" />
                        <xs:enumeration value="DDIInstance" />
                        <xs:enumeration value="DDIProfile" />
                        <xs:enumeration value="DataCaptureDevelopment" />
                        <xs:enumeration value="DataCollection" />
                        <xs:enumeration value="DataRelationship" />
                        <xs:enumeration value="DataSet" />
                        <xs:enumeration value="DevelopmentActivityGroup" />
                        <xs:enumeration value="DevelopmentActivityScheme" />
                        <xs:enumeration value="DevelopmentImplementation" />
                        <xs:enumeration value="DevelopmentPlan" />
                        <xs:enumeration value="DevelopmentResults" />
                        <xs:enumeration value="DevelopmentStep" />
                        <xs:enumeration value="FocusGroupActivity" />
                        <xs:enumeration value="GeneralInstruction" />
                        <xs:enumeration value="GenerationInstruction" />
                        <xs:enumeration value="GenericMap" />
                        <xs:enumeration value="GeographicLocation" />
                        <xs:enumeration value="GeographicLocationGroup" />
                        <xs:enumeration value="GeographicLocationScheme" />
                        <xs:enumeration value="GeographicStructure" />
                        <xs:enumeration value="GeographicStructureGroup" />
                        <xs:enumeration value="GeographicStructureScheme" />
                        <xs:enumeration value="Group" />
                        <xs:enumeration value="IfThenElse" />
                        <xs:enumeration value="InLineNCubeRecordLayout" />
                        <xs:enumeration value="Individual" />
                        <xs:enumeration value="InformationClassification" />
                        <xs:enumeration value="Instruction" />
                        <xs:enumeration value="InstructionGroup" />
                        <xs:enumeration value="Instrument" />
                        <xs:enumeration value="InstrumentGroup" />
                        <xs:enumeration value="InstrumentScheme" />
                        <xs:enumeration value="InterviewerInstructionScheme" />
                        <xs:enumeration value="LocalHoldingPackage" />
                        <xs:enumeration value="LogicalProduct" />
                        <xs:enumeration value="Loop" />
                        <xs:enumeration value="ManagedCategoryRepresentation" />
                        <xs:enumeration value="ManagedCodeRepresentation" />
                        <xs:enumeration value="ManagedDateTimeRepresentation" />
                        <xs:enumeration value="ManagedDistributionRepresentation" />
                        <xs:enumeration value="ManagedExternalCategoryRepresentation" />
                        <xs:enumeration value="ManagedGeographicLocationCodeRepresentation" />
                        <xs:enumeration value="ManagedGeographicRepresentation" />
                        <xs:enumeration value="ManagedGeographicStructureCodeRepresentation" />
                        <xs:enumeration value="ManagedLocationRepresentation" />
                        <xs:enumeration value="ManagedMissingValuesRepresentation" />
                        <xs:enumeration value="ManagedNominalRepresentation" />
                        <xs:enumeration value="ManagedNumericRepresentation" />
                        <xs:enumeration value="ManagedRankingRepresentation" />
                        <xs:enumeration value="ManagedRepresentationGroup" />
                        <xs:enumeration value="ManagedRepresentationScheme" />
                        <xs:enumeration value="ManagedScaleRepresentation" />
                        <xs:enumeration value="ManagedTextRepresentation" />
                        <xs:enumeration value="MeasurementConstruct" />
                        <xs:enumeration value="MeasurementGroup" />
                        <xs:enumeration value="MeasurementItem" />
                        <xs:enumeration value="MeasurementScheme" />
                        <xs:enumeration value="Methodology" />
                        <xs:enumeration value="NCube" />
                        <xs:enumeration value="NCubeGroup" />
                        <xs:enumeration value="NCubeInstance" />
                        <xs:enumeration value="NCubeInstanceI" />
                        <xs:enumeration value="NCubeInstanceT" />
                        <xs:enumeration value="NCubeScheme" />
                        <xs:enumeration value="Organization" />
                        <xs:enumeration value="OrganizationGroup" />
                        <xs:enumeration value="OrganizationScheme" />
                        <xs:enumeration value="OtherMaterial" />
                        <xs:enumeration value="OtherMaterialGroup" />
                        <xs:enumeration value="OtherMaterialScheme" />
                        <xs:enumeration value="PhysicalDataProduct" />
                        <xs:enumeration value="PhysicalInstance" />
                        <xs:enumeration value="PhysicalInstanceGroup" />
                        <xs:enumeration value="PhysicalStructure" />
                        <xs:enumeration value="PhysicalStructureGroup" />
                        <xs:enumeration value="PhysicalStructureScheme" />
                        <xs:enumeration value="Population" />
                        <xs:enumeration value="PopulationGroup" />
                        <xs:enumeration value="PopulationScheme" />
                        <xs:enumeration value="PretestActivity" />
                        <xs:enumeration value="ProcessingEvent" />
                        <xs:enumeration value="ProcessingEventGroup" />
                        <xs:enumeration value="ProcessingEventScheme" />
                        <xs:enumeration value="ProcessingInstructionGroup" />
                        <xs:enumeration value="ProcessingInstructionScheme" />
                        <xs:enumeration value="ProprietaryRecordLayout" />
                        <xs:enumeration value="QualityScheme" />
                        <xs:enumeration value="QualityStandard" />
                        <xs:enumeration value="QualityStandardGroup" />
                        <xs:enumeration value="QualityStatement" />
                        <xs:enumeration value="QualityStatementGroup" />
                        <xs:enumeration value="QuestionBlock" />
                        <xs:enumeration value="QuestionConstruct" />
                        <xs:enumeration value="QuestionGrid" />
                        <xs:enumeration value="QuestionGroup" />
                        <xs:enumeration value="QuestionItem" />
                        <xs:enumeration value="QuestionScheme" />
                        <xs:enumeration value="RecordLayout" />
                        <xs:enumeration value="RecordLayoutGroup" />
                        <xs:enumeration value="RecordLayoutScheme" />
                        <xs:enumeration value="Relation" />
                        <xs:enumeration value="RepeatUntil" />
                        <xs:enumeration value="RepeatWhile" />
                        <xs:enumeration value="RepresentationMap" />
                        <xs:enumeration value="RepresentedVariable" />
                        <xs:enumeration value="RepresentedVariableGroup" />
                        <xs:enumeration value="RepresentedVariableScheme" />
                        <xs:enumeration value="ResourcePackage" />
                        <xs:enumeration value="Sample" />
                        <xs:enumeration value="SampleFrame" />
                        <xs:enumeration value="SampleStep" />
                        <xs:enumeration value="SamplingInformationGroup" />
                        <xs:enumeration value="SamplingInformationScheme" />
                        <xs:enumeration value="SamplingPlan" />
                        <xs:enumeration value="SamplingStage" />
                        <xs:enumeration value="Sequence" />
                        <xs:enumeration value="Split" />
                        <xs:enumeration value="SplitJoin" />
                        <xs:enumeration value="StatementItem" />
                        <xs:enumeration value="StatisticalClassification" />
                        <xs:enumeration value="StudyUnit" />
                        <xs:enumeration value="SubUniverseClass" />
                        <xs:enumeration value="TabularNCubeRecordLayout" />
                        <xs:enumeration value="TranslationActivity" />
                        <xs:enumeration value="UnitType" />
                        <xs:enumeration value="UnitTypeGroup" />
                        <xs:enumeration value="UnitTypeScheme" />
                        <xs:enumeration value="Universe" />
                        <xs:enumeration value="UniverseGroup" />
                        <xs:enumeration value="UniverseScheme" />
                        <xs:enumeration value="Variable" />
                        <xs:enumeration value="VariableGroup" />
                        <xs:enumeration value="VariableScheme" />
                        <xs:enumeration value="VariableStatistics" />
                        <xs:enumeration value="Weighting" />
                        <xs:enumeration value="WeightingMethodology" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
        <xs:attribute fixed="true" name="isReference" type="xs:boolean" />
    </xs:complexType>
    <xs:complexType name="ItemContainerType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A sequence of top-level references followed by concrete item definitions.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="TopLevelReference" type="ddi:ReferenceType" />
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="ApprovalReview" type="ddi:ApprovalReview" />
                <xs:element name="Archive" type="ddi:Archive" />
                <xs:element name="Category" type="ddi:Category" />
                <xs:element name="CategoryGroup" type="ddi:CategoryGroup" />
                <xs:element name="CategoryScheme" type="ddi:CategoryScheme" />
                <xs:element name="ClassificationCorrespondenceTable" type="ddi:ClassificationCorrespondenceTable" />
                <xs:element name="ClassificationFamily" type="ddi:ClassificationFamily" />
                <xs:element name="ClassificationIndex" type="ddi:ClassificationIndex" />
                <xs:element name="ClassificationItem" type="ddi:ClassificationItem" />
                <xs:element name="ClassificationLevel" type="ddi:ClassificationLevel" />
                <xs:element name="ClassificationSeries" type="ddi:ClassificationSeries" />
                <xs:element name="CodeList" type="ddi:CodeList" />
                <xs:element name="CodeListGroup" type="ddi:CodeListGroup" />
                <xs:element name="CodeListScheme" type="ddi:CodeListScheme" />
                <xs:element name="CognitiveExpertReviewActivity" type="ddi:CognitiveExpertReviewActivity" />
                <xs:element name="CognitiveInterviewActivity" type="ddi:CognitiveInterviewActivity" />
                <xs:element name="Comparison" type="ddi:Comparison" />
                <xs:element name="ComputationItem" type="ddi:ComputationItem" />
                <xs:element name="Concept" type="ddi:Concept" />
                <xs:element name="ConceptGroup" type="ddi:ConceptGroup" />
                <xs:element name="ConceptScheme" type="ddi:ConceptScheme" />
                <xs:element name="ConceptualComponent" type="ddi:ConceptualComponent" />
                <xs:element name="ConceptualVariable" type="ddi:ConceptualVariable" />
                <xs:element name="ConceptualVariableGroup" type="ddi:ConceptualVariableGroup" />
                <xs:element name="ConceptualVariableScheme" type="ddi:ConceptualVariableScheme" />
                <xs:element name="ContentReviewActivity" type="ddi:ContentReviewActivity" />
                <xs:element name="ControlConstructGroup" type="ddi:ControlConstructGroup" />
                <xs:element name="ControlConstructScheme" type="ddi:ControlConstructScheme" />
                <xs:element name="DDIInstance" type="ddi:DDIInstance" />
                <xs:element name="DDIProfile" type="ddi:DDIProfile" />
                <xs:element name="DataCaptureDevelopment" type="ddi:DataCaptureDevelopment" />
                <xs:element name="DataCollection" type="ddi:DataCollection" />
                <xs:element name="DataRelationship" type="ddi:DataRelationship" />
                <xs:element name="DataSet" type="ddi:DataSet" />
                <xs:element name="DevelopmentActivityGroup" type="ddi:DevelopmentActivityGroup" />
                <xs:element name="DevelopmentActivityScheme" type="ddi:DevelopmentActivityScheme" />
                <xs:element name="DevelopmentImplementation" type="ddi:DevelopmentImplementation" />
                <xs:element name="DevelopmentPlan" type="ddi:DevelopmentPlan" />
                <xs:element name="DevelopmentResults" type="ddi:DevelopmentResults" />
                <xs:element name="DevelopmentStep" type="ddi:DevelopmentStep" />
                <xs:element name="FocusGroupActivity" type="ddi:FocusGroupActivity" />
                <xs:element name="GeneralInstruction" type="ddi:GeneralInstruction" />
                <xs:element name="GenerationInstruction" type="ddi:GenerationInstruction" />
                <xs:element name="GenericMap" type="ddi:GenericMap" />
                <xs:element name="GeographicLocation" type="ddi:GeographicLocation" />
                <xs:element name="GeographicLocationGroup" type="ddi:GeographicLocationGroup" />
                <xs:element name="GeographicLocationScheme" type="ddi:GeographicLocationScheme" />
                <xs:element name="GeographicStructure" type="ddi:GeographicStructure" />
                <xs:element name="GeographicStructureGroup" type="ddi:GeographicStructureGroup" />
                <xs:element name="GeographicStructureScheme" type="ddi:GeographicStructureScheme" />
                <xs:element name="Group" type="ddi:Group" />
                <xs:element name="IfThenElse" type="ddi:IfThenElse" />
                <xs:element name="InLineNCubeRecordLayout" type="ddi:InLineNCubeRecordLayout" />
                <xs:element name="Individual" type="ddi:Individual" />
                <xs:element name="InformationClassification" type="ddi:InformationClassification" />
                <xs:element name="Instruction" type="ddi:Instruction" />
                <xs:element name="InstructionGroup" type="ddi:InstructionGroup" />
                <xs:element name="Instrument" type="ddi:Instrument" />
                <xs:element name="InstrumentGroup" type="ddi:InstrumentGroup" />
                <xs:element name="InstrumentScheme" type="ddi:InstrumentScheme" />
                <xs:element name="InterviewerInstructionScheme" type="ddi:InterviewerInstructionScheme" />
                <xs:element name="LocalHoldingPackage" type="ddi:LocalHoldingPackage" />
                <xs:element name="LogicalProduct" type="ddi:LogicalProduct" />
                <xs:element name="Loop" type="ddi:Loop" />
                <xs:element name="ManagedCategoryRepresentation" type="ddi:ManagedCategoryRepresentation" />
                <xs:element name="ManagedCodeRepresentation" type="ddi:ManagedCodeRepresentation" />
                <xs:element name="ManagedDateTimeRepresentation" type="ddi:ManagedDateTimeRepresentation" />
                <xs:element name="ManagedDistributionRepresentation" type="ddi:ManagedDistributionRepresentation" />
                <xs:element name="ManagedExternalCategoryRepresentation" type="ddi:ManagedExternalCategoryRepresentation" />
                <xs:element name="ManagedGeographicLocationCodeRepresentation" type="ddi:ManagedGeographicLocationCodeRepresentation" />
                <xs:element name="ManagedGeographicRepresentation" type="ddi:ManagedGeographicRepresentation" />
                <xs:element name="ManagedGeographicStructureCodeRepresentation" type="ddi:ManagedGeographicStructureCodeRepresentation" />
                <xs:element name="ManagedLocationRepresentation" type="ddi:ManagedLocationRepresentation" />
                <xs:element name="ManagedMissingValuesRepresentation" type="ddi:ManagedMissingValuesRepresentation" />
                <xs:element name="ManagedNominalRepresentation" type="ddi:ManagedNominalRepresentation" />
                <xs:element name="ManagedNumericRepresentation" type="ddi:ManagedNumericRepresentation" />
                <xs:element name="ManagedRankingRepresentation" type="ddi:ManagedRankingRepresentation" />
                <xs:element name="ManagedRepresentationGroup" type="ddi:ManagedRepresentationGroup" />
                <xs:element name="ManagedRepresentationScheme" type="ddi:ManagedRepresentationScheme" />
                <xs:element name="ManagedScaleRepresentation" type="ddi:ManagedScaleRepresentation" />
                <xs:element name="ManagedTextRepresentation" type="ddi:ManagedTextRepresentation" />
                <xs:element name="MeasurementConstruct" type="ddi:MeasurementConstruct" />
                <xs:element name="MeasurementGroup" type="ddi:MeasurementGroup" />
                <xs:element name="MeasurementItem" type="ddi:MeasurementItem" />
                <xs:element name="MeasurementScheme" type="ddi:MeasurementScheme" />
                <xs:element name="Methodology" type="ddi:Methodology" />
                <xs:element name="NCube" type="ddi:NCube" />
                <xs:element name="NCubeGroup" type="ddi:NCubeGroup" />
                <xs:element name="NCubeInstance" type="ddi:NCubeInstance" />
                <xs:element name="NCubeInstanceI" type="ddi:NCubeInstanceI" />
                <xs:element name="NCubeInstanceT" type="ddi:NCubeInstanceT" />
                <xs:element name="NCubeScheme" type="ddi:NCubeScheme" />
                <xs:element name="Organization" type="ddi:Organization" />
                <xs:element name="OrganizationGroup" type="ddi:OrganizationGroup" />
                <xs:element name="OrganizationScheme" type="ddi:OrganizationScheme" />
                <xs:element name="OtherMaterial" type="ddi:OtherMaterial" />
                <xs:element name="OtherMaterialGroup" type="ddi:OtherMaterialGroup" />
                <xs:element name="OtherMaterialScheme" type="ddi:OtherMaterialScheme" />
                <xs:element name="PhysicalDataProduct" type="ddi:PhysicalDataProduct" />
                <xs:element name="PhysicalInstance" type="ddi:PhysicalInstance" />
                <xs:element name="PhysicalInstanceGroup" type="ddi:PhysicalInstanceGroup" />
                <xs:element name="PhysicalStructure" type="ddi:PhysicalStructure" />
                <xs:element name="PhysicalStructureGroup" type="ddi:PhysicalStructureGroup" />
                <xs:element name="PhysicalStructureScheme" type="ddi:PhysicalStructureScheme" />
                <xs:element name="Population" type="ddi:Population" />
                <xs:element name="PopulationGroup" type="ddi:PopulationGroup" />
                <xs:element name="PopulationScheme" type="ddi:PopulationScheme" />
                <xs:element name="PretestActivity" type="ddi:PretestActivity" />
                <xs:element name="ProcessingEvent" type="ddi:ProcessingEvent" />
                <xs:element name="ProcessingEventGroup" type="ddi:ProcessingEventGroup" />
                <xs:element name="ProcessingEventScheme" type="ddi:ProcessingEventScheme" />
                <xs:element name="ProcessingInstructionGroup" type="ddi:ProcessingInstructionGroup" />
                <xs:element name="ProcessingInstructionScheme" type="ddi:ProcessingInstructionScheme" />
                <xs:element name="ProprietaryRecordLayout" type="ddi:ProprietaryRecordLayout" />
                <xs:element name="QualityScheme" type="ddi:QualityScheme" />
                <xs:element name="QualityStandard" type="ddi:QualityStandard" />
                <xs:element name="QualityStandardGroup" type="ddi:QualityStandardGroup" />
                <xs:element name="QualityStatement" type="ddi:QualityStatement" />
                <xs:element name="QualityStatementGroup" type="ddi:QualityStatementGroup" />
                <xs:element name="QuestionBlock" type="ddi:QuestionBlock" />
                <xs:element name="QuestionConstruct" type="ddi:QuestionConstruct" />
                <xs:element name="QuestionGrid" type="ddi:QuestionGrid" />
                <xs:element name="QuestionGroup" type="ddi:QuestionGroup" />
                <xs:element name="QuestionItem" type="ddi:QuestionItem" />
                <xs:element name="QuestionScheme" type="ddi:QuestionScheme" />
                <xs:element name="RecordLayout" type="ddi:RecordLayout" />
                <xs:element name="RecordLayoutGroup" type="ddi:RecordLayoutGroup" />
                <xs:element name="RecordLayoutScheme" type="ddi:RecordLayoutScheme" />
                <xs:element name="Relation" type="ddi:Relation" />
                <xs:element name="RepeatUntil" type="ddi:RepeatUntil" />
                <xs:element name="RepeatWhile" type="ddi:RepeatWhile" />
                <xs:element name="RepresentationMap" type="ddi:RepresentationMap" />
                <xs:element name="RepresentedVariable" type="ddi:RepresentedVariable" />
                <xs:element name="RepresentedVariableGroup" type="ddi:RepresentedVariableGroup" />
                <xs:element name="RepresentedVariableScheme" type="ddi:RepresentedVariableScheme" />
                <xs:element name="ResourcePackage" type="ddi:ResourcePackage" />
                <xs:element name="Sample" type="ddi:Sample" />
                <xs:element name="SampleFrame" type="ddi:SampleFrame" />
                <xs:element name="SampleStep" type="ddi:SampleStep" />
                <xs:element name="SamplingInformationGroup" type="ddi:SamplingInformationGroup" />
                <xs:element name="SamplingInformationScheme" type="ddi:SamplingInformationScheme" />
                <xs:element name="SamplingPlan" type="ddi:SamplingPlan" />
                <xs:element name="SamplingStage" type="ddi:SamplingStage" />
                <xs:element name="Sequence" type="ddi:Sequence" />
                <xs:element name="Split" type="ddi:Split" />
                <xs:element name="SplitJoin" type="ddi:SplitJoin" />
                <xs:element name="StatementItem" type="ddi:StatementItem" />
                <xs:element name="StatisticalClassification" type="ddi:StatisticalClassification" />
                <xs:element name="StudyUnit" type="ddi:StudyUnit" />
                <xs:element name="SubUniverseClass" type="ddi:SubUniverseClass" />
                <xs:element name="TabularNCubeRecordLayout" type="ddi:TabularNCubeRecordLayout" />
                <xs:element name="TranslationActivity" type="ddi:TranslationActivity" />
                <xs:element name="UnitType" type="ddi:UnitType" />
                <xs:element name="UnitTypeGroup" type="ddi:UnitTypeGroup" />
                <xs:element name="UnitTypeScheme" type="ddi:UnitTypeScheme" />
                <xs:element name="Universe" type="ddi:Universe" />
                <xs:element name="UniverseGroup" type="ddi:UniverseGroup" />
                <xs:element name="UniverseScheme" type="ddi:UniverseScheme" />
                <xs:element name="Variable" type="ddi:Variable" />
                <xs:element name="VariableGroup" type="ddi:VariableGroup" />
                <xs:element name="VariableScheme" type="ddi:VariableScheme" />
                <xs:element name="VariableStatistics" type="ddi:VariableStatistics" />
                <xs:element name="Weighting" type="ddi:Weighting" />
                <xs:element name="WeightingMethodology" type="ddi:WeightingMethodology" />
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="ItemContainer" type="ddi:ItemContainerType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The root element for XML instances, containing the item type instances.</xs:documentation>
        </xs:annotation>
    </xs:element>
</xs:schema>