    AcknowledgementResponseCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    AcknowledgementResponseCodeContentType ::= ENUMERATED {
      orderResponse, orderResponseSimple}

    AcknowledgementResponseCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("UBL") DEFAULT "UBL",
      codeListAgencyName
        XSD.String("OASIS Universal Business Language")
          DEFAULT "OASIS Universal Business Language",
      codeListID
        XSD.NormalizedString("Acknowledgement Response")
          DEFAULT "Acknowledgement Response",
      codeListName
        XSD.String("Acknowledgement Response") DEFAULT "Acknowledgement Response",
      codeListSchemeURI
        XSD.AnyURI
          ("urn:oasis:names:specification:ubl:schema:xsd:AcknowledgementResponseCode-1.0")
          DEFAULT
            "urn:oasis:names:specification:ubl:schema:xsd:AcknowledgementResponseCode-1.0",
      codeListURI         XSD.AnyURI OPTIONAL,
      codeListVersionID   XSD.NormalizedString("1.0") DEFAULT "1.0",
      languageID          XSD.Language("en") DEFAULT "en",
      name                XSD.String OPTIONAL,
      base                ENUMERATED {orderResponse, orderResponseSimple}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
          AS "urn:oasis:names:specification:ubl:schema:xsd:AcknowledgementResponseCode-1.0"
        ATTRIBUTE ALL IN AcknowledgementResponseCodeType
        NOT ATTRIBUTE AcknowledgementResponseCodeType.base
        UNTAGGED AcknowledgementResponseCodeType.base
        TEXT AcknowledgementResponseCodeContentType:ALL,
    	AcknowledgementResponseCodeType.base:ALL AS CAPITALIZED
        WHITESPACE AcknowledgementResponseCodeContentType,
    	AcknowledgementResponseCodeType.base REPLACE
    END

    AllowanceChargeReasonCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    AllowanceChargeReasonCodeContentType ::= ENUMERATED {
      x1, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x2, x20, x21,
      x22, x23, x24, x25, x26, x27, x28, x29, x3, x30, x31, x32, x33, x34,
      x35, x36, x37, x38, x39, x4, x40, x41, x42, x43, x44, x45, x46, x47,
      x48, x49, x5, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x6,
      x60, x61, x62, x63, x64, x65, x66, x67, x68, x69, x7, x70, x71, x72,
      x73, x74, x75, x76, x77, x78, x79, x8, x80, x81, x82, x83, x84, x85,
      x86, x87, x88, x89, x9, zZZ}

    AllowanceChargeReasonCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("6") DEFAULT "6",
      codeListAgencyName
        XSD.String("United Nations Economic Commission for Europe")
          DEFAULT "United Nations Economic Commission for Europe",
      codeListID          XSD.NormalizedString("UN/ECE 4465") DEFAULT "UN/ECE 4465",
      codeListName
        XSD.String("Adjustment Reason Description")
          DEFAULT "Adjustment Reason Description",
      codeListSchemeURI
        XSD.AnyURI
          ("urn:oasis:names:specification:ubl:schema:xsd:AllowanceChargeReasonCode-1.0")
          DEFAULT
            "urn:oasis:names:specification:ubl:schema:xsd:AllowanceChargeReasonCode-1.0",
      codeListURI
        XSD.AnyURI("http://www.unece.org/trade/untdid/d03a/tred/tred4465.htm")
          DEFAULT "http://www.unece.org/trade/untdid/d03a/tred/tred4465.htm",
      codeListVersionID   XSD.NormalizedString("D03A") DEFAULT "D03A",
      languageID          XSD.Language OPTIONAL,
      name                XSD.String OPTIONAL,
      base
        ENUMERATED {x1, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19,
                    x2, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29,
                    x3, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39,
                    x4, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49,
                    x5, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59,
                    x6, x60, x61, x62, x63, x64, x65, x66, x67, x68, x69,
                    x7, x70, x71, x72, x73, x74, x75, x76, x77, x78, x79,
                    x8, x80, x81, x82, x83, x84, x85, x86, x87, x88, x89,
                    x9, zZZ}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
          AS "urn:oasis:names:specification:ubl:schema:xsd:AllowanceChargeReasonCode-1.0"
          PREFIX "rsn"
        ATTRIBUTE ALL IN AllowanceChargeReasonCodeType
        NOT ATTRIBUTE AllowanceChargeReasonCodeType.base
        UNTAGGED AllowanceChargeReasonCodeType.base
        TEXT AllowanceChargeReasonCodeContentType:x1 AS "1"
        TEXT AllowanceChargeReasonCodeContentType:x10 AS "10"
        TEXT AllowanceChargeReasonCodeContentType:x11 AS "11"
        TEXT AllowanceChargeReasonCodeContentType:x12 AS "12"
        TEXT AllowanceChargeReasonCodeContentType:x13 AS "13"
        TEXT AllowanceChargeReasonCodeContentType:x14 AS "14"
        TEXT AllowanceChargeReasonCodeContentType:x15 AS "15"
        TEXT AllowanceChargeReasonCodeContentType:x16 AS "16"
        TEXT AllowanceChargeReasonCodeContentType:x17 AS "17"
        TEXT AllowanceChargeReasonCodeContentType:x18 AS "18"
        TEXT AllowanceChargeReasonCodeContentType:x19 AS "19"
        TEXT AllowanceChargeReasonCodeContentType:x2 AS "2"
        TEXT AllowanceChargeReasonCodeContentType:x20 AS "20"
        TEXT AllowanceChargeReasonCodeContentType:x21 AS "21"
        TEXT AllowanceChargeReasonCodeContentType:x22 AS "22"
        TEXT AllowanceChargeReasonCodeContentType:x23 AS "23"
        TEXT AllowanceChargeReasonCodeContentType:x24 AS "24"
        TEXT AllowanceChargeReasonCodeContentType:x25 AS "25"
        TEXT AllowanceChargeReasonCodeContentType:x26 AS "26"
        TEXT AllowanceChargeReasonCodeContentType:x27 AS "27"
        TEXT AllowanceChargeReasonCodeContentType:x28 AS "28"
        TEXT AllowanceChargeReasonCodeContentType:x29 AS "29"
        TEXT AllowanceChargeReasonCodeContentType:x3 AS "3"
        TEXT AllowanceChargeReasonCodeContentType:x30 AS "30"
        TEXT AllowanceChargeReasonCodeContentType:x31 AS "31"
        TEXT AllowanceChargeReasonCodeContentType:x32 AS "32"
        TEXT AllowanceChargeReasonCodeContentType:x33 AS "33"
        TEXT AllowanceChargeReasonCodeContentType:x34 AS "34"
        TEXT AllowanceChargeReasonCodeContentType:x35 AS "35"
        TEXT AllowanceChargeReasonCodeContentType:x36 AS "36"
        TEXT AllowanceChargeReasonCodeContentType:x37 AS "37"
        TEXT AllowanceChargeReasonCodeContentType:x38 AS "38"
        TEXT AllowanceChargeReasonCodeContentType:x39 AS "39"
        TEXT AllowanceChargeReasonCodeContentType:x4 AS "4"
        TEXT AllowanceChargeReasonCodeContentType:x40 AS "40"
        TEXT AllowanceChargeReasonCodeContentType:x41 AS "41"
        TEXT AllowanceChargeReasonCodeContentType:x42 AS "42"
        TEXT AllowanceChargeReasonCodeContentType:x43 AS "43"
        TEXT AllowanceChargeReasonCodeContentType:x44 AS "44"
        TEXT AllowanceChargeReasonCodeContentType:x45 AS "45"
        TEXT AllowanceChargeReasonCodeContentType:x46 AS "46"
        TEXT AllowanceChargeReasonCodeContentType:x47 AS "47"
        TEXT AllowanceChargeReasonCodeContentType:x48 AS "48"
        TEXT AllowanceChargeReasonCodeContentType:x49 AS "49"
        TEXT AllowanceChargeReasonCodeContentType:x5 AS "5"
        TEXT AllowanceChargeReasonCodeContentType:x50 AS "50"
        TEXT AllowanceChargeReasonCodeContentType:x51 AS "51"
        TEXT AllowanceChargeReasonCodeContentType:x52 AS "52"
        TEXT AllowanceChargeReasonCodeContentType:x53 AS "53"
        TEXT AllowanceChargeReasonCodeContentType:x54 AS "54"
        TEXT AllowanceChargeReasonCodeContentType:x55 AS "55"
        TEXT AllowanceChargeReasonCodeContentType:x56 AS "56"
        TEXT AllowanceChargeReasonCodeContentType:x57 AS "57"
        TEXT AllowanceChargeReasonCodeContentType:x58 AS "58"
        TEXT AllowanceChargeReasonCodeContentType:x59 AS "59"
        TEXT AllowanceChargeReasonCodeContentType:x6 AS "6"
        TEXT AllowanceChargeReasonCodeContentType:x60 AS "60"
        TEXT AllowanceChargeReasonCodeContentType:x61 AS "61"
        TEXT AllowanceChargeReasonCodeContentType:x62 AS "62"
        TEXT AllowanceChargeReasonCodeContentType:x63 AS "63"
        TEXT AllowanceChargeReasonCodeContentType:x64 AS "64"
        TEXT AllowanceChargeReasonCodeContentType:x65 AS "65"
        TEXT AllowanceChargeReasonCodeContentType:x66 AS "66"
        TEXT AllowanceChargeReasonCodeContentType:x67 AS "67"
        TEXT AllowanceChargeReasonCodeContentType:x68 AS "68"
        TEXT AllowanceChargeReasonCodeContentType:x69 AS "69"
        TEXT AllowanceChargeReasonCodeContentType:x7 AS "7"
        TEXT AllowanceChargeReasonCodeContentType:x70 AS "70"
        TEXT AllowanceChargeReasonCodeContentType:x71 AS "71"
        TEXT AllowanceChargeReasonCodeContentType:x72 AS "72"
        TEXT AllowanceChargeReasonCodeContentType:x73 AS "73"
        TEXT AllowanceChargeReasonCodeContentType:x74 AS "74"
        TEXT AllowanceChargeReasonCodeContentType:x75 AS "75"
        TEXT AllowanceChargeReasonCodeContentType:x76 AS "76"
        TEXT AllowanceChargeReasonCodeContentType:x77 AS "77"
        TEXT AllowanceChargeReasonCodeContentType:x78 AS "78"
        TEXT AllowanceChargeReasonCodeContentType:x79 AS "79"
        TEXT AllowanceChargeReasonCodeContentType:x8 AS "8"
        TEXT AllowanceChargeReasonCodeContentType:x80 AS "80"
        TEXT AllowanceChargeReasonCodeContentType:x81 AS "81"
        TEXT AllowanceChargeReasonCodeContentType:x82 AS "82"
        TEXT AllowanceChargeReasonCodeContentType:x83 AS "83"
        TEXT AllowanceChargeReasonCodeContentType:x84 AS "84"
        TEXT AllowanceChargeReasonCodeContentType:x85 AS "85"
        TEXT AllowanceChargeReasonCodeContentType:x86 AS "86"
        TEXT AllowanceChargeReasonCodeContentType:x87 AS "87"
        TEXT AllowanceChargeReasonCodeContentType:x88 AS "88"
        TEXT AllowanceChargeReasonCodeContentType:x89 AS "89"
        TEXT AllowanceChargeReasonCodeContentType:x9 AS "9"
        TEXT AllowanceChargeReasonCodeContentType:zZZ,
    	AllowanceChargeReasonCodeType.base:zZZ AS CAPITALIZED
        TEXT AllowanceChargeReasonCodeType.base:x1 AS "1"
        TEXT AllowanceChargeReasonCodeType.base:x10 AS "10"
        TEXT AllowanceChargeReasonCodeType.base:x11 AS "11"
        TEXT AllowanceChargeReasonCodeType.base:x12 AS "12"
        TEXT AllowanceChargeReasonCodeType.base:x13 AS "13"
        TEXT AllowanceChargeReasonCodeType.base:x14 AS "14"
        TEXT AllowanceChargeReasonCodeType.base:x15 AS "15"
        TEXT AllowanceChargeReasonCodeType.base:x16 AS "16"
        TEXT AllowanceChargeReasonCodeType.base:x17 AS "17"
        TEXT AllowanceChargeReasonCodeType.base:x18 AS "18"
        TEXT AllowanceChargeReasonCodeType.base:x19 AS "19"
        TEXT AllowanceChargeReasonCodeType.base:x2 AS "2"
        TEXT AllowanceChargeReasonCodeType.base:x20 AS "20"
        TEXT AllowanceChargeReasonCodeType.base:x21 AS "21"
        TEXT AllowanceChargeReasonCodeType.base:x22 AS "22"
        TEXT AllowanceChargeReasonCodeType.base:x23 AS "23"
        TEXT AllowanceChargeReasonCodeType.base:x24 AS "24"
        TEXT AllowanceChargeReasonCodeType.base:x25 AS "25"
        TEXT AllowanceChargeReasonCodeType.base:x26 AS "26"
        TEXT AllowanceChargeReasonCodeType.base:x27 AS "27"
        TEXT AllowanceChargeReasonCodeType.base:x28 AS "28"
        TEXT AllowanceChargeReasonCodeType.base:x29 AS "29"
        TEXT AllowanceChargeReasonCodeType.base:x3 AS "3"
        TEXT AllowanceChargeReasonCodeType.base:x30 AS "30"
        TEXT AllowanceChargeReasonCodeType.base:x31 AS "31"
        TEXT AllowanceChargeReasonCodeType.base:x32 AS "32"
        TEXT AllowanceChargeReasonCodeType.base:x33 AS "33"
        TEXT AllowanceChargeReasonCodeType.base:x34 AS "34"
        TEXT AllowanceChargeReasonCodeType.base:x35 AS "35"
        TEXT AllowanceChargeReasonCodeType.base:x36 AS "36"
        TEXT AllowanceChargeReasonCodeType.base:x37 AS "37"
        TEXT AllowanceChargeReasonCodeType.base:x38 AS "38"
        TEXT AllowanceChargeReasonCodeType.base:x39 AS "39"
        TEXT AllowanceChargeReasonCodeType.base:x4 AS "4"
        TEXT AllowanceChargeReasonCodeType.base:x40 AS "40"
        TEXT AllowanceChargeReasonCodeType.base:x41 AS "41"
        TEXT AllowanceChargeReasonCodeType.base:x42 AS "42"
        TEXT AllowanceChargeReasonCodeType.base:x43 AS "43"
        TEXT AllowanceChargeReasonCodeType.base:x44 AS "44"
        TEXT AllowanceChargeReasonCodeType.base:x45 AS "45"
        TEXT AllowanceChargeReasonCodeType.base:x46 AS "46"
        TEXT AllowanceChargeReasonCodeType.base:x47 AS "47"
        TEXT AllowanceChargeReasonCodeType.base:x48 AS "48"
        TEXT AllowanceChargeReasonCodeType.base:x49 AS "49"
        TEXT AllowanceChargeReasonCodeType.base:x5 AS "5"
        TEXT AllowanceChargeReasonCodeType.base:x50 AS "50"
        TEXT AllowanceChargeReasonCodeType.base:x51 AS "51"
        TEXT AllowanceChargeReasonCodeType.base:x52 AS "52"
        TEXT AllowanceChargeReasonCodeType.base:x53 AS "53"
        TEXT AllowanceChargeReasonCodeType.base:x54 AS "54"
        TEXT AllowanceChargeReasonCodeType.base:x55 AS "55"
        TEXT AllowanceChargeReasonCodeType.base:x56 AS "56"
        TEXT AllowanceChargeReasonCodeType.base:x57 AS "57"
        TEXT AllowanceChargeReasonCodeType.base:x58 AS "58"
        TEXT AllowanceChargeReasonCodeType.base:x59 AS "59"
        TEXT AllowanceChargeReasonCodeType.base:x6 AS "6"
        TEXT AllowanceChargeReasonCodeType.base:x60 AS "60"
        TEXT AllowanceChargeReasonCodeType.base:x61 AS "61"
        TEXT AllowanceChargeReasonCodeType.base:x62 AS "62"
        TEXT AllowanceChargeReasonCodeType.base:x63 AS "63"
        TEXT AllowanceChargeReasonCodeType.base:x64 AS "64"
        TEXT AllowanceChargeReasonCodeType.base:x65 AS "65"
        TEXT AllowanceChargeReasonCodeType.base:x66 AS "66"
        TEXT AllowanceChargeReasonCodeType.base:x67 AS "67"
        TEXT AllowanceChargeReasonCodeType.base:x68 AS "68"
        TEXT AllowanceChargeReasonCodeType.base:x69 AS "69"
        TEXT AllowanceChargeReasonCodeType.base:x7 AS "7"
        TEXT AllowanceChargeReasonCodeType.base:x70 AS "70"
        TEXT AllowanceChargeReasonCodeType.base:x71 AS "71"
        TEXT AllowanceChargeReasonCodeType.base:x72 AS "72"
        TEXT AllowanceChargeReasonCodeType.base:x73 AS "73"
        TEXT AllowanceChargeReasonCodeType.base:x74 AS "74"
        TEXT AllowanceChargeReasonCodeType.base:x75 AS "75"
        TEXT AllowanceChargeReasonCodeType.base:x76 AS "76"
        TEXT AllowanceChargeReasonCodeType.base:x77 AS "77"
        TEXT AllowanceChargeReasonCodeType.base:x78 AS "78"
        TEXT AllowanceChargeReasonCodeType.base:x79 AS "79"
        TEXT AllowanceChargeReasonCodeType.base:x8 AS "8"
        TEXT AllowanceChargeReasonCodeType.base:x80 AS "80"
        TEXT AllowanceChargeReasonCodeType.base:x81 AS "81"
        TEXT AllowanceChargeReasonCodeType.base:x82 AS "82"
        TEXT AllowanceChargeReasonCodeType.base:x83 AS "83"
        TEXT AllowanceChargeReasonCodeType.base:x84 AS "84"
        TEXT AllowanceChargeReasonCodeType.base:x85 AS "85"
        TEXT AllowanceChargeReasonCodeType.base:x86 AS "86"
        TEXT AllowanceChargeReasonCodeType.base:x87 AS "87"
        TEXT AllowanceChargeReasonCodeType.base:x88 AS "88"
        TEXT AllowanceChargeReasonCodeType.base:x89 AS "89"
        TEXT AllowanceChargeReasonCodeType.base:x9 AS "9"
        WHITESPACE AllowanceChargeReasonCodeContentType,
    	AllowanceChargeReasonCodeType.base REPLACE
    END

    ChannelCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    ChannelCodeContentType ::= ENUMERATED {
      aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK, aL, aM, aN, aO, aP, cA,
      eI, eM, eX, fT, fX, gM, iE, iM, mA, pB, pS, sW, tE, tG, tL, tM, tT,
      tX, xF, xG, xH, xI, xJ}

    ChannelCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("6") DEFAULT "6",
      codeListAgencyName
        XSD.String("United Nations Economic Commission for Europe")
          DEFAULT "United Nations Economic Commission for Europe",
      codeListID          XSD.NormalizedString("UN/ECE 3155") DEFAULT "UN/ECE 3155",
      codeListName
        XSD.String("Communication Address Code Qualifier")
          DEFAULT "Communication Address Code Qualifier",
      codeListSchemeURI
        XSD.AnyURI("urn:oasis:names:specification:ubl:schema:xsd:ChannelCode-1.0")
          DEFAULT "urn:oasis:names:specification:ubl:schema:xsd:ChannelCode-1.0",
      codeListURI
        XSD.AnyURI("http://www.unece.org/trade/untdid/d03a/tred/tred3155.htm")
          DEFAULT "http://www.unece.org/trade/untdid/d03a/tred/tred3155.htm",
      codeListVersionID   XSD.NormalizedString("D03A") DEFAULT "D03A",
      languageID          XSD.Language OPTIONAL,
      name                XSD.String OPTIONAL,
      base
        ENUMERATED {aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK, aL, aM, aN,
                    aO, aP, cA, eI, eM, eX, fT, fX, gM, iE, iM, mA, pB, pS,
                    sW, tE, tG, tL, tM, tT, tX, xF, xG, xH, xI, xJ}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:ChannelCode-1.0"
    	PREFIX "chn"
        ATTRIBUTE ALL IN ChannelCodeType
        NOT ATTRIBUTE ChannelCodeType.base
        UNTAGGED ChannelCodeType.base
        TEXT ChannelCodeContentType:ALL, ChannelCodeType.base:ALL AS CAPITALIZED
        WHITESPACE ChannelCodeContentType, ChannelCodeType.base REPLACE
    END

    ChipCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    ChipCodeContentType ::= ENUMERATED {chip, magneticStripe}

    ChipCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("UBL") DEFAULT "UBL",
      codeListAgencyName
        XSD.String("OASIS Universal Business Language")
          DEFAULT "OASIS Universal Business Language",
      codeListID          XSD.NormalizedString("Chip") DEFAULT "Chip",
      codeListName        XSD.String("Chip") DEFAULT "Chip",
      codeListSchemeURI
        XSD.AnyURI("urn:oasis:names:specification:ubl:schema:xsd:ChipCode-1.0")
          DEFAULT "urn:oasis:names:specification:ubl:schema:xsd:ChipCode-1.0",
      codeListURI         XSD.AnyURI OPTIONAL,
      codeListVersionID   XSD.NormalizedString("1.0") DEFAULT "1.0",
      languageID          XSD.Language("en") DEFAULT "en",
      name                XSD.String OPTIONAL,
      base                ENUMERATED {chip, magneticStripe}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:ChipCode-1.0"
    	PREFIX "chc"
        ATTRIBUTE ALL IN ChipCodeType
        NOT ATTRIBUTE ChipCodeType.base
        UNTAGGED ChipCodeType.base
        TEXT ChipCodeContentType:ALL, ChipCodeType.base:ALL AS CAPITALIZED
        WHITESPACE ChipCodeContentType, ChipCodeType.base REPLACE
    END

    CountryIdentificationCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    CountryIdentificationCodeContentType ::= ENUMERATED {
      aD, aE, aF, aG, aI, aL, aM, aN, aO, aQ, aR, aS, aT, aU, aW, aZ, bA,
      bB, bD, bE, bF, bG, bH, bI, bJ, bM, bN, bO, bR, bS, bT, bV, bW, bY,
      bZ, cA, cC, cD, cF, cG, cH, cI, cK, cL, cM, cN, cO, cR, cU, cV, cX,
      cY, cZ, dE, dJ, dK, dM, dO, dZ, eC, eE, eG, eH, eR, eS, eT, fI, fJ,
      fK, fM, fO, fR, gA, gB, gD, gE, gF, gH, gI, gL, gM, gN, gP, gQ, gR,
      gS, gT, gU, gW, gY, hK, hM, hN, hR, hT, hU, iD, iE, iL, iN, iO, iQ,
      iR, iS, iT, jM, jO, jP, kE, kG, kH, kI, kM, kN, kP, kR, kW, kY, kZ,
      lA, lB, lC, lI, lK, lR, lS, lT, lU, lV, lY, mA, mC, mD, mG, mH, mK,
      mL, mM, mN, mO, mP, mQ, mR, mS, mT, mU, mV, mW, mX, mY, mZ, nA, nC,
      nE, nF, nG, nI, nL, nO, nP, nR, nU, nZ, oM, pA, pE, pF, pG, pH, pK,
      pL, pM, pN, pR, pS, pT, pW, pY, qA, rE, rO, rU, rW, sA, sB, sC, sD,
      sE, sG, sH, sI, sJ, sK, sL, sM, sN, sO, sR, sT, sV, sY, sZ, tC, tD,
      tF, tG, tH, tJ, tK, tL, tM, tN, tO, tR, tT, tV, tW, tZ, uA, uG, uM,
      uS, uY, uZ, vA, vC, vE, vG, vI, vN, vU, wF, wS, yE, yT, yU, zA, zM,
      zW}

    CountryIdentificationCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("6") DEFAULT "6",
      codeListAgencyName
        XSD.String("United Nations Economic Commission for Europe")
          DEFAULT "United Nations Economic Commission for Europe",
      codeListID          XSD.NormalizedString("ISO3166-1") DEFAULT "ISO3166-1",
      codeListName        XSD.String("Country") DEFAULT "Country",
      codeListSchemeURI
        XSD.AnyURI
          ("urn:oasis:names:specification:ubl:schema:xsd:CountryIdentificationCode-1.0")
          DEFAULT
            "urn:oasis:names:specification:ubl:schema:xsd:CountryIdentificationCode-1.0",
      codeListURI
        XSD.AnyURI
          ("http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1-semic.txt")
          DEFAULT
            "http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1-semic.txt",
      codeListVersionID   XSD.NormalizedString("0.3") DEFAULT "0.3",
      languageID          XSD.Language("en") DEFAULT "en",
      name                XSD.String OPTIONAL,
      base
        ENUMERATED {aD, aE, aF, aG, aI, aL, aM, aN, aO, aQ, aR, aS, aT, aU,
                    aW, aZ, bA, bB, bD, bE, bF, bG, bH, bI, bJ, bM, bN, bO,
                    bR, bS, bT, bV, bW, bY, bZ, cA, cC, cD, cF, cG, cH, cI,
                    cK, cL, cM, cN, cO, cR, cU, cV, cX, cY, cZ, dE, dJ, dK,
                    dM, dO, dZ, eC, eE, eG, eH, eR, eS, eT, fI, fJ, fK, fM,
                    fO, fR, gA, gB, gD, gE, gF, gH, gI, gL, gM, gN, gP, gQ,
                    gR, gS, gT, gU, gW, gY, hK, hM, hN, hR, hT, hU, iD, iE,
                    iL, iN, iO, iQ, iR, iS, iT, jM, jO, jP, kE, kG, kH, kI,
                    kM, kN, kP, kR, kW, kY, kZ, lA, lB, lC, lI, lK, lR, lS,
                    lT, lU, lV, lY, mA, mC, mD, mG, mH, mK, mL, mM, mN, mO,
                    mP, mQ, mR, mS, mT, mU, mV, mW, mX, mY, mZ, nA, nC, nE,
                    nF, nG, nI, nL, nO, nP, nR, nU, nZ, oM, pA, pE, pF, pG,
                    pH, pK, pL, pM, pN, pR, pS, pT, pW, pY, qA, rE, rO, rU,
                    rW, sA, sB, sC, sD, sE, sG, sH, sI, sJ, sK, sL, sM, sN,
                    sO, sR, sT, sV, sY, sZ, tC, tD, tF, tG, tH, tJ, tK, tL,
                    tM, tN, tO, tR, tT, tV, tW, tZ, uA, uG, uM, uS, uY, uZ,
                    vA, vC, vE, vG, vI, vN, vU, wF, wS, yE, yT, yU, zA, zM,
                    zW}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
            AS "urn:oasis:names:specification:ubl:schema:xsd:CountryIdentificationCode-1.0"
            PREFIX "cnt"
        ATTRIBUTE ALL IN CountryIdentificationCodeType
        NOT ATTRIBUTE CountryIdentificationCodeType.base
        UNTAGGED CountryIdentificationCodeType.base
        TEXT CountryIdentificationCodeContentType:ALL,
    	CountryIdentificationCodeType.base:ALL AS CAPITALIZED
        WHITESPACE CountryIdentificationCodeContentType,
    	CountryIdentificationCodeType.base REPLACE
    END

    CurrencyCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    CurrencyCodeContentType ::= ENUMERATED {
      aED, aFN, aLL, aMD, aNG, aOA, aRS, aUD, aWG, aZM, bAM, bBD, bDT, bGN,
      bHD, bIF, bMD, bND, bOB, bRL, bSD, bTN, bWP, bYR, bZD, cAD, cDF, cHF,
      cLP, cNY, cOP, cRC, cUP, cVE, cYP, cZK, dJF, dKK, dOP, dZD, eEK, eGP,
      eRN, eTB, eUR, fJD, fKP, gBP, gEL, gHC, gIP, gMD, gNF, gTQ, gYD, hKD,
      hNL, hRK, hTG, hUF, iDR, iLS, iNR, iQD, iRR, iSK, jMD, jOD, jPY, kES,
      kGS, kHR, kMF, kPW, kRW, kWD, kYD, kZT, lAK, lBP, lKR, lRD, lSL, lTL,
      lVL, lYD, mAD, mDL, mGF, mKD, mMK, mNT, mOP, mRO, mTL, mUR, mVR, mWK,
      mXN, mYR, mZM, nAD, nGN, nIO, nOK, nPR, nZD, oMR, pAB, pEN, pGK, pHP,
      pKR, pLN, pYG, qAR, rOL, rUB, rWF, sAR, sBD, sCR, sDD, sEK, sGD, sHP,
      sIT, sKK, sLL, sOS, sRG, sTD, sVC, sYP, sZL, tHB, tJS, tMM, tND, tOP,
      tRL, tTD, tWD, tZS, uAH, uGX, uSD, uYU, uZS, vEB, vND, vUV, wST, xAF,
      xAG, xAU, xCD, xDR, xOF, xPD, xPF, xPT, yER, yUM, zAR, zMK, zWD}

    CurrencyCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("6") DEFAULT "6",
      codeListAgencyName
        XSD.String("United Nations Economic Commission for Europe")
          DEFAULT "United Nations Economic Commission for Europe",
      codeListID
        XSD.NormalizedString("ISO 4217 Alpha") DEFAULT "ISO 4217 Alpha",
      codeListName        XSD.String("Currency") DEFAULT "Currency",
      codeListSchemeURI
        XSD.AnyURI("urn:oasis:names:specification:ubl:schema:xsd:CurrencyCode-1.0")
          DEFAULT "urn:oasis:names:specification:ubl:schema:xsd:CurrencyCode-1.0",
      codeListURI
        XSD.AnyURI
          ("http://www.bsi-global.com/Technical%2BInformation/Publications/_Publications/tig90x.doc")
          DEFAULT
            "http://www.bsi-global.com/Technical%2BInformation/Publications/_Publications/tig90x.doc",
      codeListVersionID   XSD.NormalizedString("0.3") DEFAULT "0.3",
      languageID          XSD.Language("en") DEFAULT "en",
      name                XSD.String OPTIONAL,
      base
        ENUMERATED {aED, aFN, aLL, aMD, aNG, aOA, aRS, aUD, aWG, aZM, bAM,
                    bBD, bDT, bGN, bHD, bIF, bMD, bND, bOB, bRL, bSD, bTN,
                    bWP, bYR, bZD, cAD, cDF, cHF, cLP, cNY, cOP, cRC, cUP,
                    cVE, cYP, cZK, dJF, dKK, dOP, dZD, eEK, eGP, eRN, eTB,
                    eUR, fJD, fKP, gBP, gEL, gHC, gIP, gMD, gNF, gTQ, gYD,
                    hKD, hNL, hRK, hTG, hUF, iDR, iLS, iNR, iQD, iRR, iSK,
                    jMD, jOD, jPY, kES, kGS, kHR, kMF, kPW, kRW, kWD, kYD,
                    kZT, lAK, lBP, lKR, lRD, lSL, lTL, lVL, lYD, mAD, mDL,
                    mGF, mKD, mMK, mNT, mOP, mRO, mTL, mUR, mVR, mWK, mXN,
                    mYR, mZM, nAD, nGN, nIO, nOK, nPR, nZD, oMR, pAB, pEN,
                    pGK, pHP, pKR, pLN, pYG, qAR, rOL, rUB, rWF, sAR, sBD,
                    sCR, sDD, sEK, sGD, sHP, sIT, sKK, sLL, sOS, sRG, sTD,
                    sVC, sYP, sZL, tHB, tJS, tMM, tND, tOP, tRL, tTD, tWD,
                    tZS, uAH, uGX, uSD, uYU, uZS, vEB, vND, vUV, wST, xAF,
                    xAG, xAU, xCD, xDR, xOF, xPD, xPF, xPT, yER, yUM, zAR,
                    zMK, zWD}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CurrencyCode-1.0"
    	PREFIX "cur"
        ATTRIBUTE ALL IN CurrencyCodeType
        NOT ATTRIBUTE CurrencyCodeType.base
        UNTAGGED CurrencyCodeType.base
        TEXT CurrencyCodeContentType:ALL, CurrencyCodeType.base:ALL AS CAPITALIZED
        WHITESPACE CurrencyCodeContentType, CurrencyCodeType.base REPLACE
    END

    DocumentStatusCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    DocumentStatusCodeContentType ::= ENUMERATED {
      cancelled, disputed, noStatus, revised}

    DocumentStatusCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("UBL") DEFAULT "UBL",
      codeListAgencyName
        XSD.String("OASIS Universal Business Language")
          DEFAULT "OASIS Universal Business Language",
      codeListID
        XSD.NormalizedString("Document Status") DEFAULT "Document Status",
      codeListName        XSD.String("Document Status") DEFAULT "Document Status",
      codeListSchemeURI
        XSD.AnyURI
          ("urn:oasis:names:specification:ubl:schema:xsd:DocumentStatusCode-1.0")
          DEFAULT
            "urn:oasis:names:specification:ubl:schema:xsd:DocumentStatusCode-1.0",
      codeListURI         XSD.AnyURI OPTIONAL,
      codeListVersionID   XSD.NormalizedString("1.0") DEFAULT "1.0",
      languageID          XSD.Language("en") DEFAULT "en",
      name                XSD.String OPTIONAL,
      base                ENUMERATED {cancelled, disputed, noStatus, revised}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
            AS "urn:oasis:names:specification:ubl:schema:xsd:DocumentStatusCode-1.0"
            PREFIX "stat"
        ATTRIBUTE ALL IN DocumentStatusCodeType
        NOT ATTRIBUTE DocumentStatusCodeType.base
        UNTAGGED DocumentStatusCodeType.base
        TEXT DocumentStatusCodeContentType:ALL, DocumentStatusCodeType.base:ALL
    	AS CAPITALIZED
        WHITESPACE DocumentStatusCodeContentType, DocumentStatusCodeType.base
    	REPLACE
    END

    LatitudeDirectionCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    LatitudeDirectionCodeContentType ::= ENUMERATED {north, south}

    LatitudeDirectionCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("UBL") DEFAULT "UBL",
      codeListAgencyName
        XSD.String("OASIS Universal Business Language")
          DEFAULT "OASIS Universal Business Language",
      codeListID
        XSD.NormalizedString("Latitude Direction") DEFAULT "Latitude Direction",
      codeListName
        XSD.String("Latitude Direction") DEFAULT "Latitude Direction",
      codeListSchemeURI
        XSD.AnyURI
          ("urn:oasis:names:specification:ubl:schema:xsd:LatitudeDirectionCode-1.0")
          DEFAULT
            "urn:oasis:names:specification:ubl:schema:xsd:LatitudeDirectionCode-1.0",
      codeListURI         XSD.AnyURI OPTIONAL,
      codeListVersionID   XSD.NormalizedString("1.0") DEFAULT "1.0",
      languageID          XSD.Language("en") DEFAULT "en",
      name                XSD.String OPTIONAL,
      base                ENUMERATED {north, south}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
            AS "urn:oasis:names:specification:ubl:schema:xsd:LatitudeDirectionCode-1.0"
            PREFIX "lat"
        ATTRIBUTE ALL IN LatitudeDirectionCodeType
        NOT ATTRIBUTE LatitudeDirectionCodeType.base
        UNTAGGED LatitudeDirectionCodeType.base
        TEXT LatitudeDirectionCodeContentType:ALL,
    	LatitudeDirectionCodeType.base:ALL AS CAPITALIZED
        WHITESPACE LatitudeDirectionCodeContentType,
    	LatitudeDirectionCodeType.base REPLACE
    END

    LineStatusCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    LineStatusCodeContentType ::= ENUMERATED {
      added, cancelled, disputed, noStatus, revised}

    LineStatusCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("UBL") DEFAULT "UBL",
      codeListAgencyName
        XSD.String("OASIS Universal Business Language")
          DEFAULT "OASIS Universal Business Language",
      codeListID          XSD.NormalizedString("Line Status") DEFAULT "Line Status",
      codeListName        XSD.String("Line Status") DEFAULT "Line Status",
      codeListSchemeURI
        XSD.AnyURI
          ("urn:oasis:names:specification:ubl:schema:xsd:LineStatusCode-1.0")
          DEFAULT "urn:oasis:names:specification:ubl:schema:xsd:LineStatusCode-1.0",
      codeListURI         XSD.AnyURI OPTIONAL,
      codeListVersionID   XSD.NormalizedString("1.0") DEFAULT "1.0",
      languageID          XSD.Language("en") DEFAULT "en",
      name                XSD.String OPTIONAL,
      base
        ENUMERATED {added, cancelled, disputed, noStatus, revised}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:LineStatusCode-1.0"
    	PREFIX "lstat"
        ATTRIBUTE ALL IN LineStatusCodeType
        NOT ATTRIBUTE LineStatusCodeType.base
        UNTAGGED LineStatusCodeType.base
        TEXT LineStatusCodeContentType:ALL, LineStatusCodeType.base:ALL
    	AS CAPITALIZED
        WHITESPACE LineStatusCodeContentType, LineStatusCodeType.base REPLACE
    END

    LongitudeDirectionCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    LongitudeDirectionCodeContentType ::= ENUMERATED {east, west}

    LongitudeDirectionCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("UBL") DEFAULT "UBL",
      codeListAgencyName
        XSD.String("OASIS Universal Business Language")
          DEFAULT "OASIS Universal Business Language",
      codeListID
        XSD.NormalizedString("Longitude Direction") DEFAULT "Longitude Direction",
      codeListName
        XSD.String("Longitude Direction") DEFAULT "Longitude Direction",
      codeListSchemeURI
        XSD.AnyURI
          ("urn:oasis:names:specification:ubl:schema:xsd:LongitudeDirectionCode-1.0")
          DEFAULT
            "urn:oasis:names:specification:ubl:schema:xsd:LongitudeDirectionCode-1.0",
      codeListURI         XSD.AnyURI OPTIONAL,
      codeListVersionID   XSD.NormalizedString("1.0") DEFAULT "1.0",
      languageID          XSD.Language("en") DEFAULT "en",
      name                XSD.String OPTIONAL,
      base                ENUMERATED {east, west}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:LongitudeDirectionCode-1.0"
            PREFIX "lon"
        ATTRIBUTE ALL IN LongitudeDirectionCodeType
        NOT ATTRIBUTE LongitudeDirectionCodeType.base
        UNTAGGED LongitudeDirectionCodeType.base
        TEXT LongitudeDirectionCodeContentType:ALL,
    	LongitudeDirectionCodeType.base:ALL AS CAPITALIZED
        WHITESPACE LongitudeDirectionCodeContentType,
    	LongitudeDirectionCodeType.base REPLACE
    END

    OperatorCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    OperatorCodeContentType ::= ENUMERATED {divide, multiply}

    OperatorCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("UBL") DEFAULT "UBL",
      codeListAgencyName
        XSD.String("OASIS Universal Business Language")
          DEFAULT "OASIS Universal Business Language",
      codeListID          XSD.NormalizedString("Operator") DEFAULT "Operator",
      codeListName        XSD.String("Operator") DEFAULT "Operator",
      codeListSchemeURI
        XSD.AnyURI("urn:oasis:names:specification:ubl:schema:xsd:OperatorCode-1.0")
          DEFAULT "urn:oasis:names:specification:ubl:schema:xsd:OperatorCode-1.0",
      codeListURI         XSD.AnyURI OPTIONAL,
      codeListVersionID   XSD.NormalizedString("1.0") DEFAULT "1.0",
      languageID          XSD.Language("en") DEFAULT "en",
      name                XSD.String OPTIONAL,
      base                ENUMERATED {divide, multiply}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:OperatorCode-1.0"
    	PREFIX "ero"
        ATTRIBUTE ALL IN OperatorCodeType
        NOT ATTRIBUTE OperatorCodeType.base
        UNTAGGED OperatorCodeType.base
        TEXT OperatorCodeContentType:ALL, OperatorCodeType.base:ALL AS CAPITALIZED
        WHITESPACE OperatorCodeContentType, OperatorCodeType.base REPLACE
    END

    PaymentMeansCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    PaymentMeansCodeContentType ::= ENUMERATED {
      x1, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x2, x20, x21,
      x22, x23, x24, x25, x26, x27, x28, x29, x3, x30, x31, x32, x33, x34,
      x35, x36, x37, x38, x39, x4, x40, x41, x42, x43, x44, x45, x46, x47,
      x48, x49, x5, x50, x51, x52, x53, x6, x60, x61, x62, x63, x64, x65,
      x66, x67, x7, x70, x74, x75, x76, x77, x78, x8, x9, x91, x92, x93,
      x94, x95, x96, x97, zZZ}

    PaymentMeansCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("6") DEFAULT "6",
      codeListAgencyName
        XSD.String("United Nations Economic Commission for Europe")
          DEFAULT "United Nations Economic Commission for Europe",
      codeListID          XSD.NormalizedString("UN/ECE 4461") DEFAULT "UN/ECE 4461",
      codeListName        XSD.String("Payment Means") DEFAULT "Payment Means",
      codeListSchemeURI
        XSD.AnyURI
          ("urn:oasis:names:specification:ubl:schema:xsd:PaymentMeansCode-1.0")
          DEFAULT
            "urn:oasis:names:specification:ubl:schema:xsd:PaymentMeansCode-1.0",
      codeListURI
        XSD.AnyURI("http://www.unece.org/trade/untdid/d03a/tred/tred4461.htm")
          DEFAULT "http://www.unece.org/trade/untdid/d03a/tred/tred4461.htm",
      codeListVersionID   XSD.NormalizedString("D03A") DEFAULT "D03A",
      languageID          XSD.Language OPTIONAL,
      name                XSD.String OPTIONAL,
      base
        ENUMERATED {x1, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19,
                    x2, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29,
                    x3, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39,
                    x4, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49,
                    x5, x50, x51, x52, x53, x6, x60, x61, x62, x63, x64,
                    x65, x66, x67, x7, x70, x74, x75, x76, x77, x78, x8,
                    x9, x91, x92, x93, x94, x95, x96, x97, zZZ}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
            AS "urn:oasis:names:specification:ubl:schema:xsd:PaymentMeansCode-1.0"
            PREFIX "pty"
        ATTRIBUTE ALL IN PaymentMeansCodeType
        NOT ATTRIBUTE PaymentMeansCodeType.base
        UNTAGGED PaymentMeansCodeType.base
        TEXT PaymentMeansCodeContentType:x1 AS "1"
        TEXT PaymentMeansCodeContentType:x10 AS "10"
        TEXT PaymentMeansCodeContentType:x11 AS "11"
        TEXT PaymentMeansCodeContentType:x12 AS "12"
        TEXT PaymentMeansCodeContentType:x13 AS "13"
        TEXT PaymentMeansCodeContentType:x14 AS "14"
        TEXT PaymentMeansCodeContentType:x15 AS "15"
        TEXT PaymentMeansCodeContentType:x16 AS "16"
        TEXT PaymentMeansCodeContentType:x17 AS "17"
        TEXT PaymentMeansCodeContentType:x18 AS "18"
        TEXT PaymentMeansCodeContentType:x19 AS "19"
        TEXT PaymentMeansCodeContentType:x2 AS "2"
        TEXT PaymentMeansCodeContentType:x20 AS "20"
        TEXT PaymentMeansCodeContentType:x21 AS "21"
        TEXT PaymentMeansCodeContentType:x22 AS "22"
        TEXT PaymentMeansCodeContentType:x23 AS "23"
        TEXT PaymentMeansCodeContentType:x24 AS "24"
        TEXT PaymentMeansCodeContentType:x25 AS "25"
        TEXT PaymentMeansCodeContentType:x26 AS "26"
        TEXT PaymentMeansCodeContentType:x27 AS "27"
        TEXT PaymentMeansCodeContentType:x28 AS "28"
        TEXT PaymentMeansCodeContentType:x29 AS "29"
        TEXT PaymentMeansCodeContentType:x3 AS "3"
        TEXT PaymentMeansCodeContentType:x30 AS "30"
        TEXT PaymentMeansCodeContentType:x31 AS "31"
        TEXT PaymentMeansCodeContentType:x32 AS "32"
        TEXT PaymentMeansCodeContentType:x33 AS "33"
        TEXT PaymentMeansCodeContentType:x34 AS "34"
        TEXT PaymentMeansCodeContentType:x35 AS "35"
        TEXT PaymentMeansCodeContentType:x36 AS "36"
        TEXT PaymentMeansCodeContentType:x37 AS "37"
        TEXT PaymentMeansCodeContentType:x38 AS "38"
        TEXT PaymentMeansCodeContentType:x39 AS "39"
        TEXT PaymentMeansCodeContentType:x4 AS "4"
        TEXT PaymentMeansCodeContentType:x40 AS "40"
        TEXT PaymentMeansCodeContentType:x41 AS "41"
        TEXT PaymentMeansCodeContentType:x42 AS "42"
        TEXT PaymentMeansCodeContentType:x43 AS "43"
        TEXT PaymentMeansCodeContentType:x44 AS "44"
        TEXT PaymentMeansCodeContentType:x45 AS "45"
        TEXT PaymentMeansCodeContentType:x46 AS "46"
        TEXT PaymentMeansCodeContentType:x47 AS "47"
        TEXT PaymentMeansCodeContentType:x48 AS "48"
        TEXT PaymentMeansCodeContentType:x49 AS "49"
        TEXT PaymentMeansCodeContentType:x5 AS "5"
        TEXT PaymentMeansCodeContentType:x50 AS "50"
        TEXT PaymentMeansCodeContentType:x51 AS "51"
        TEXT PaymentMeansCodeContentType:x52 AS "52"
        TEXT PaymentMeansCodeContentType:x53 AS "53"
        TEXT PaymentMeansCodeContentType:x6 AS "6"
        TEXT PaymentMeansCodeContentType:x60 AS "60"
        TEXT PaymentMeansCodeContentType:x61 AS "61"
        TEXT PaymentMeansCodeContentType:x62 AS "62"
        TEXT PaymentMeansCodeContentType:x63 AS "63"
        TEXT PaymentMeansCodeContentType:x64 AS "64"
        TEXT PaymentMeansCodeContentType:x65 AS "65"
        TEXT PaymentMeansCodeContentType:x66 AS "66"
        TEXT PaymentMeansCodeContentType:x67 AS "67"
        TEXT PaymentMeansCodeContentType:x7 AS "7"
        TEXT PaymentMeansCodeContentType:x70 AS "70"
        TEXT PaymentMeansCodeContentType:x74 AS "74"
        TEXT PaymentMeansCodeContentType:x75 AS "75"
        TEXT PaymentMeansCodeContentType:x76 AS "76"
        TEXT PaymentMeansCodeContentType:x77 AS "77"
        TEXT PaymentMeansCodeContentType:x78 AS "78"
        TEXT PaymentMeansCodeContentType:x8 AS "8"
        TEXT PaymentMeansCodeContentType:x9 AS "9"
        TEXT PaymentMeansCodeContentType:x91 AS "91"
        TEXT PaymentMeansCodeContentType:x92 AS "92"
        TEXT PaymentMeansCodeContentType:x93 AS "93"
        TEXT PaymentMeansCodeContentType:x94 AS "94"
        TEXT PaymentMeansCodeContentType:x95 AS "95"
        TEXT PaymentMeansCodeContentType:x96 AS "96"
        TEXT PaymentMeansCodeContentType:x97 AS "97"
        TEXT PaymentMeansCodeContentType:zZZ, PaymentMeansCodeType.base:zZZ
    	AS CAPITALIZED
        TEXT PaymentMeansCodeType.base:x1 AS "1"
        TEXT PaymentMeansCodeType.base:x10 AS "10"
        TEXT PaymentMeansCodeType.base:x11 AS "11"
        TEXT PaymentMeansCodeType.base:x12 AS "12"
        TEXT PaymentMeansCodeType.base:x13 AS "13"
        TEXT PaymentMeansCodeType.base:x14 AS "14"
        TEXT PaymentMeansCodeType.base:x15 AS "15"
        TEXT PaymentMeansCodeType.base:x16 AS "16"
        TEXT PaymentMeansCodeType.base:x17 AS "17"
        TEXT PaymentMeansCodeType.base:x18 AS "18"
        TEXT PaymentMeansCodeType.base:x19 AS "19"
        TEXT PaymentMeansCodeType.base:x2 AS "2"
        TEXT PaymentMeansCodeType.base:x20 AS "20"
        TEXT PaymentMeansCodeType.base:x21 AS "21"
        TEXT PaymentMeansCodeType.base:x22 AS "22"
        TEXT PaymentMeansCodeType.base:x23 AS "23"
        TEXT PaymentMeansCodeType.base:x24 AS "24"
        TEXT PaymentMeansCodeType.base:x25 AS "25"
        TEXT PaymentMeansCodeType.base:x26 AS "26"
        TEXT PaymentMeansCodeType.base:x27 AS "27"
        TEXT PaymentMeansCodeType.base:x28 AS "28"
        TEXT PaymentMeansCodeType.base:x29 AS "29"
        TEXT PaymentMeansCodeType.base:x3 AS "3"
        TEXT PaymentMeansCodeType.base:x30 AS "30"
        TEXT PaymentMeansCodeType.base:x31 AS "31"
        TEXT PaymentMeansCodeType.base:x32 AS "32"
        TEXT PaymentMeansCodeType.base:x33 AS "33"
        TEXT PaymentMeansCodeType.base:x34 AS "34"
        TEXT PaymentMeansCodeType.base:x35 AS "35"
        TEXT PaymentMeansCodeType.base:x36 AS "36"
        TEXT PaymentMeansCodeType.base:x37 AS "37"
        TEXT PaymentMeansCodeType.base:x38 AS "38"
        TEXT PaymentMeansCodeType.base:x39 AS "39"
        TEXT PaymentMeansCodeType.base:x4 AS "4"
        TEXT PaymentMeansCodeType.base:x40 AS "40"
        TEXT PaymentMeansCodeType.base:x41 AS "41"
        TEXT PaymentMeansCodeType.base:x42 AS "42"
        TEXT PaymentMeansCodeType.base:x43 AS "43"
        TEXT PaymentMeansCodeType.base:x44 AS "44"
        TEXT PaymentMeansCodeType.base:x45 AS "45"
        TEXT PaymentMeansCodeType.base:x46 AS "46"
        TEXT PaymentMeansCodeType.base:x47 AS "47"
        TEXT PaymentMeansCodeType.base:x48 AS "48"
        TEXT PaymentMeansCodeType.base:x49 AS "49"
        TEXT PaymentMeansCodeType.base:x5 AS "5"
        TEXT PaymentMeansCodeType.base:x50 AS "50"
        TEXT PaymentMeansCodeType.base:x51 AS "51"
        TEXT PaymentMeansCodeType.base:x52 AS "52"
        TEXT PaymentMeansCodeType.base:x53 AS "53"
        TEXT PaymentMeansCodeType.base:x6 AS "6"
        TEXT PaymentMeansCodeType.base:x60 AS "60"
        TEXT PaymentMeansCodeType.base:x61 AS "61"
        TEXT PaymentMeansCodeType.base:x62 AS "62"
        TEXT PaymentMeansCodeType.base:x63 AS "63"
        TEXT PaymentMeansCodeType.base:x64 AS "64"
        TEXT PaymentMeansCodeType.base:x65 AS "65"
        TEXT PaymentMeansCodeType.base:x66 AS "66"
        TEXT PaymentMeansCodeType.base:x67 AS "67"
        TEXT PaymentMeansCodeType.base:x7 AS "7"
        TEXT PaymentMeansCodeType.base:x70 AS "70"
        TEXT PaymentMeansCodeType.base:x74 AS "74"
        TEXT PaymentMeansCodeType.base:x75 AS "75"
        TEXT PaymentMeansCodeType.base:x76 AS "76"
        TEXT PaymentMeansCodeType.base:x77 AS "77"
        TEXT PaymentMeansCodeType.base:x78 AS "78"
        TEXT PaymentMeansCodeType.base:x8 AS "8"
        TEXT PaymentMeansCodeType.base:x9 AS "9"
        TEXT PaymentMeansCodeType.base:x91 AS "91"
        TEXT PaymentMeansCodeType.base:x92 AS "92"
        TEXT PaymentMeansCodeType.base:x93 AS "93"
        TEXT PaymentMeansCodeType.base:x94 AS "94"
        TEXT PaymentMeansCodeType.base:x95 AS "95"
        TEXT PaymentMeansCodeType.base:x96 AS "96"
        TEXT PaymentMeansCodeType.base:x97 AS "97"
        WHITESPACE PaymentMeansCodeContentType, PaymentMeansCodeType.base REPLACE
    END

    SubstitutionStatusCode-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    SubstitutionStatusCodeContentType ::= ENUMERATED {original, substitution}

    SubstitutionStatusCodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString("UBL") DEFAULT "UBL",
      codeListAgencyName
        XSD.String("OASIS Universal Business Language")
          DEFAULT "OASIS Universal Business Language",
      codeListID
        XSD.NormalizedString("Substitution Status") DEFAULT "Substitution Status",
      codeListName
        XSD.String("Substitution Status") DEFAULT "Substitution Status",
      codeListSchemeURI
        XSD.AnyURI
          ("urn:oasis:names:specification:ubl:schema:xsd:SubstitutionStatusCode-1.0")
          DEFAULT
            "urn:oasis:names:specification:ubl:schema:xsd:SubstitutionStatusCode-1.0",
      codeListURI         XSD.AnyURI OPTIONAL,
      codeListVersionID   XSD.NormalizedString("1.0") DEFAULT "1.0",
      languageID          XSD.Language("en") DEFAULT "en",
      name                XSD.String OPTIONAL,
      base                ENUMERATED {original, substitution}}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:SubstitutionStatusCode-1.0"
            PREFIX "sst"
        ATTRIBUTE ALL IN SubstitutionStatusCodeType
        NOT ATTRIBUTE SubstitutionStatusCodeType.base
        UNTAGGED SubstitutionStatusCodeType.base
        TEXT SubstitutionStatusCodeContentType:ALL,
    	SubstitutionStatusCodeType.base:ALL AS CAPITALIZED
        WHITESPACE SubstitutionStatusCodeContentType,
    	SubstitutionStatusCodeType.base REPLACE
    END

    CommonAggregateComponents-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS
      Line, Postbox, Floor, Room, StreetName, AdditionalStreetName, BuildingName,
        BuildingNumber, InhouseMail, Department, CityName, PostalZone,
        CountrySubentity, Region, District, TimezoneOffset, ChargeIndicator,
        MultiplierFactorNumeric, PrepaidIndicator, SequenceNumeric, Amount,
        PriceAmount, BaseQuantity, MaximumQuantity, MinimumQuantity, MaximumAmount,
        MinimumAmount, Name, ValidityStartDate, ExpiryDate, HolderName, Value,
        Telephone, Telefax, ElectronicMail, IssueDate, RelevantLocation,
        SpecialTerms, LossRisk, Quantity, RequestedDeliveryDateTime,
        PromisedDateTime, ActualDeliveryDateTime, DeliveredQuantity,
        BackorderQuantity, BackorderReason, Note, Measure, Description,
        MinimumMeasure, MaximumMeasure, CopyIndicator, SourceCurrencyBaseRate,
        TargetUnitBaseRate, CalculationRate, Date, PlacardNotation,
        PlacardEndorsement, AdditionalInformation, TechnicalName, InvoicedQuantity,
        LineExtensionAmount, PackQuantity, PackSizeNumeric, CatalogueIndicator,
        LineExtensionTotalAmount, TaxExclusiveTotalAmount, TaxInclusiveTotalAmount,
        TaxTotalAmount, MaximumBackorderQuantity, MinimumBackorderQuantity,
        LatitudeDegreesMeasure, LatitudeMinutesMeasure, LongitudeDegreesMeasure,
        LongitudeMinutesMeasure, ReturnableMaterialIndicator, RegistrationName,
        ExemptionReason, MarkCareIndicator, MarkAttentionIndicator, DuePaymentDate,
        SettlementDiscountPercent, PenaltySurchargePercent, PaidAmount,
        ReceivedDate, StartDateTime, EndDateTime, DurationMeasure,
        ReceivedQuantity, ShortQuantity, RejectedQuantity, Extension,
        HandlingInstructions, Information, GrossWeightMeasure, NetWeightMeasure,
        NetNetWeightMeasure, GrossVolumeMeasure, NetVolumeMeasure, Percent,
        TaxableAmount, TaxAmount, TotalTaxAmount, Condition,
        RefrigerationOnIndicator
        FROM CommonBasicComponents-1-0
      IdentifierType, CodeType
        FROM UnspecializedDatatypes-1-0
      AllowanceChargeReasonCodeType
        FROM AllowanceChargeReasonCode-1-0
      CurrencyCodeType
        FROM CurrencyCode-1-0
      ChipCodeType
        FROM ChipCode-1-0
      ChannelCodeType
        FROM ChannelCode-1-0
      CountryIdentificationCodeType
        FROM CountryIdentificationCode-1-0
      LineStatusCodeType
        FROM LineStatusCode-1-0
      OperatorCodeType
        FROM OperatorCode-1-0
      LatitudeDirectionCodeType
        FROM LatitudeDirectionCode-1-0
      LongitudeDirectionCodeType
        FROM LongitudeDirectionCode-1-0
      SubstitutionStatusCodeType
        FROM SubstitutionStatusCode-1-0
      DocumentStatusCodeType
        FROM DocumentStatusCode-1-0
      PaymentMeansCodeType
        FROM PaymentMeansCode-1-0;

    AccountsContact ::= ContactType

    ActualPackage ::= PackageType

    AdditionalItemIdentification ::= ItemIdentificationType

    AdditionalTemperature ::= TemperatureType

    Address ::= AddressType

    AddressLine ::= AddressLineType

    AllowanceCharge ::= AllowanceChargeType

    BasePrice ::= BasePriceType

    Branch ::= BranchType

    BuyerParty ::= BuyerPartyType

    BuyerProposedSubstituteLineItem ::= LineItemType

    BuyersItemIdentification ::= ItemIdentificationType

    CardAccount ::= CardAccountType

    CarrierParty ::= PartyType

    CatalogueDocumentReference ::= DocumentReferenceType

    CatalogueItemIdentification ::= ItemIdentificationType

    CommodityClassification ::= CommodityClassificationType

    Communication ::= CommunicationType

    Contact ::= ContactType

    ContactParty ::= PartyType

    ContainedPackage ::= PackageType

    Contract ::= ContractType

    Country ::= CountryType

    CreditAccount ::= CreditAccountType

    Delivery ::= DeliveryType

    DeliveryAddress ::= AddressType

    DeliveryTerms ::= DeliveryTermsType

    DespatchAddress ::= AddressType

    DespatchLine ::= DespatchLineType

    DespatchLineReference ::= LineReferenceType

    DestinationParty ::= PartyType

    Dimension ::= DimensionType

    DocumentReference ::= DocumentReferenceType

    EmergencyTemperature ::= TemperatureType

    ExchangeRate ::= ExchangeRateType

    FinancialAccount ::= FinancialAccountType

    FinancialInstitution ::= FinancialInstitutionType

    FinancialInstitutionBranch ::= BranchType

    FlashpointTemperature ::= TemperatureType

    ForeignExchangeContract ::= ContractType

    HandlingUnitDespatchLine ::= DespatchLineType

    HazardousGoodsTransit ::= HazardousGoodsTransitType

    HazardousItem ::= HazardousItemType

    InvoiceLine ::= InvoiceLineType

    IssuerParty ::= PartyType

    Item ::= ItemType

    ItemIdentification ::= ItemIdentificationType

    JurisdictionAddress ::= AddressType

    Language ::= LanguageType

    LegalTotal ::= LegalTotalType

    LineItem ::= LineItemType

    LineReference ::= LineReferenceType

    LocationCoordinate ::= LocationCoordinateType

    LotIdentification ::= LotIdentificationType

    ManufacturersItemIdentification ::= ItemIdentificationType

    MaximumTemperature ::= TemperatureType

    MeasurementDimension ::= DimensionType

    MinimumTemperature ::= TemperatureType

    OrderContact ::= ContactType

    OrderedItemIdentification ::= ItemIdentificationType

    OrderedShipment ::= OrderedShipmentType

    OrderLine ::= OrderLineType

    OrderLineReference ::= OrderLineReferenceType

    OrderReference ::= OrderReferenceType

    OriginCountry ::= CountryType

    OtherCommunication ::= CommunicationType

    Package ::= PackageType

    Party ::= PartyType

    PartyIdentification ::= PartyIdentificationType

    PartyName ::= PartyNameType

    PartyTaxScheme ::= PartyTaxSchemeType

    PayeeFinancialAccount ::= FinancialAccountType

    PayerFinancialAccount ::= FinancialAccountType

    Payment ::= PaymentType

    PaymentMeans ::= PaymentMeansType

    PaymentTerms ::= PaymentTermsType

    PenaltyPeriod ::= PeriodType

    Period ::= PeriodType

    PhysicalAttribute ::= PhysicalAttributeType

    ReceiptLine ::= ReceiptLineType

    ReceiptLineReference ::= LineReferenceType

    ReceivedHandlingUnitReceiptLine ::= ReceiptLineType

    RegistrationAddress ::= AddressType

    SalesConditions ::= SalesConditionsType

    SecondaryHazard ::= SecondaryHazardType

    SellerParty ::= SellerPartyType

    SellerProposedSubstituteLineItem ::= LineItemType

    SellersItemIdentification ::= ItemIdentificationType

    SellerSubstitutedLineItem ::= LineItemType

    SettlementPeriod ::= PeriodType

    Shipment ::= ShipmentType

    ShipmentStage ::= ShipmentStageType

    ShippingContact ::= ContactType

    StandardItemIdentification ::= ItemIdentificationType

    TaxCategory ::= TaxCategoryType

    TaxScheme ::= TaxSchemeType

    TaxSubTotal ::= TaxSubTotalType

    TaxTotal ::= TaxTotalType

    Temperature ::= TemperatureType

    TransitPeriod ::= PeriodType

    TransportContract ::= ContractType

    TransportEquipment ::= TransportEquipmentType

    TransportEquipmentSeal ::= TransportEquipmentSealType

    TransportHandlingUnit ::= TransportHandlingUnitType

    ValidityPeriod ::= PeriodType

    AddressLineType ::= SEQUENCE {line-list  SEQUENCE (SIZE (1..7)) OF line Line}

    AddressType ::= SEQUENCE {
      iD                    IdentifierType OPTIONAL,
      postbox               Postbox OPTIONAL,
      floor                 Floor OPTIONAL,
      room                  Room OPTIONAL,
      streetName            StreetName OPTIONAL,
      additionalStreetName  AdditionalStreetName OPTIONAL,
      buildingName          BuildingName OPTIONAL,
      buildingNumber        BuildingNumber OPTIONAL,
      inhouseMail           InhouseMail OPTIONAL,
      department            Department OPTIONAL,
      cityName              CityName OPTIONAL,
      postalZone            PostalZone OPTIONAL,
      countrySubentity      CountrySubentity OPTIONAL,
      countrySubentityCode  CodeType OPTIONAL,
      region                Region OPTIONAL,
      district              District OPTIONAL,
      timezoneOffset        TimezoneOffset OPTIONAL,
      addressLine           AddressLine OPTIONAL,
      country               Country OPTIONAL,
      locationCoordinate    LocationCoordinate OPTIONAL}

    AllowanceChargeType ::= SEQUENCE {
      iD                       IdentifierType OPTIONAL,
      chargeIndicator          ChargeIndicator,
      reasonCode               AllowanceChargeReasonCodeType OPTIONAL,
      multiplierFactorNumeric  MultiplierFactorNumeric OPTIONAL,
      currencyCode             CurrencyCodeType OPTIONAL,
      prepaidIndicator         PrepaidIndicator OPTIONAL,
      sequenceNumeric          SequenceNumeric OPTIONAL,
      amount                   Amount OPTIONAL,
      taxCategory-list         SEQUENCE OF taxCategory TaxCategory,
      paymentMeans-list        SEQUENCE OF paymentMeans PaymentMeans}

    BasePriceType ::= SEQUENCE {
      priceAmount      PriceAmount,
      baseQuantity     BaseQuantity OPTIONAL,
      maximumQuantity  MaximumQuantity OPTIONAL,
      minimumQuantity  MinimumQuantity OPTIONAL,
      maximumAmount    MaximumAmount OPTIONAL,
      minimumAmount    MinimumAmount OPTIONAL}

    BranchType ::= SEQUENCE {
      iD                    IdentifierType OPTIONAL,
      name                  Name OPTIONAL,
      financialInstitution  FinancialInstitution OPTIONAL,
      address               Address OPTIONAL}

    BuyerPartyType ::= SEQUENCE {
      buyerAssignedAccountID    IdentifierType OPTIONAL,
      sellerAssignedAccountID   IdentifierType OPTIONAL,
      additionalAccountID-list  SEQUENCE OF additionalAccountID IdentifierType,
      party                     Party OPTIONAL}

    CardAccountType ::= SEQUENCE {
      primaryAccountNumberID  IdentifierType,
      networkID               IdentifierType,
      cardTypeCode            CodeType OPTIONAL,
      customerID              IdentifierType OPTIONAL,
      validityStartDate       ValidityStartDate OPTIONAL,
      expiryDate              ExpiryDate OPTIONAL,
      issuerID                IdentifierType OPTIONAL,
      issueNumberID           IdentifierType OPTIONAL,
      cV2ID                   IdentifierType OPTIONAL,
      chipCode                ChipCodeType OPTIONAL,
      chipApplicationID       IdentifierType OPTIONAL,
      holderName              HolderName OPTIONAL}

    CommodityClassificationType ::= SEQUENCE {
      natureCode     CodeType OPTIONAL,
      cargoTypeCode  CodeType OPTIONAL,
      commodityCode  CodeType OPTIONAL}

    CommunicationType ::= SEQUENCE {
      channelCode  ChannelCodeType,
      value        Value OPTIONAL}

    ContactType ::= SEQUENCE {
      iD                       IdentifierType OPTIONAL,
      name                     Name OPTIONAL,
      telephone                Telephone OPTIONAL,
      telefax                  Telefax OPTIONAL,
      electronicMail           ElectronicMail OPTIONAL,
      otherCommunication-list  SEQUENCE OF otherCommunication OtherCommunication}

    ContractType ::= SEQUENCE {
      iD                IdentifierType OPTIONAL,
      issueDate         IssueDate OPTIONAL,
      contractTypeCode  CodeType OPTIONAL,
      validityPeriod    ValidityPeriod OPTIONAL}

    CountryType ::= SEQUENCE {
      identificationCode  CountryIdentificationCodeType OPTIONAL,
      name                Name OPTIONAL}

    CreditAccountType ::= SEQUENCE {accountID  IdentifierType OPTIONAL}

    DeliveryTermsType ::= SEQUENCE {
      iD                          IdentifierType OPTIONAL,
      relevantLocation            RelevantLocation OPTIONAL,
      specialTerms                SpecialTerms OPTIONAL,
      lossRiskResponsibilityCode  CodeType OPTIONAL,
      lossRisk                    LossRisk OPTIONAL,
      allowanceCharge             AllowanceCharge OPTIONAL}

    DeliveryType ::= SEQUENCE {
      iD                         IdentifierType OPTIONAL,
      quantity                   Quantity OPTIONAL,
      minimumQuantity            MinimumQuantity OPTIONAL,
      maximumQuantity            MaximumQuantity OPTIONAL,
      requestedDeliveryDateTime  RequestedDeliveryDateTime OPTIONAL,
      promisedDateTime           PromisedDateTime OPTIONAL,
      actualDeliveryDateTime     ActualDeliveryDateTime OPTIONAL,
      deliveryAddress            DeliveryAddress OPTIONAL,
      despatchAddress            DespatchAddress OPTIONAL,
      orderLineReference-list    SEQUENCE OF orderLineReference OrderLineReference}

    DespatchLineType ::= SEQUENCE {
      iD                       IdentifierType,
      lineStatusCode           LineStatusCodeType OPTIONAL,
      deliveredQuantity        DeliveredQuantity OPTIONAL,
      backorderQuantity        BackorderQuantity OPTIONAL,
      backorderReason          BackorderReason OPTIONAL,
      note                     Note OPTIONAL,
      orderLineReference-list
        SEQUENCE (SIZE (1..MAX)) OF orderLineReference OrderLineReference,
      delivery-list            SEQUENCE OF delivery Delivery,
      deliveryTerms            DeliveryTerms OPTIONAL,
      item                     Item,
      transportHandlingUnit    TransportHandlingUnit OPTIONAL}

    DimensionType ::= SEQUENCE {
      attributeID     IdentifierType,
      measure         Measure OPTIONAL,
      description     Description OPTIONAL,
      minimumMeasure  MinimumMeasure OPTIONAL,
      maximumMeasure  MaximumMeasure OPTIONAL}

    DocumentReferenceType ::= SEQUENCE {
      iD             IdentifierType,
      copyIndicator  CopyIndicator OPTIONAL,
      issueDate      IssueDate OPTIONAL,
      gUID           IdentifierType OPTIONAL}

    ExchangeRateType ::= SEQUENCE {
      sourceCurrencyCode       CurrencyCodeType,
      sourceCurrencyBaseRate   SourceCurrencyBaseRate OPTIONAL,
      targetCurrencyCode       CurrencyCodeType,
      targetUnitBaseRate       TargetUnitBaseRate OPTIONAL,
      exchangeMarketID         IdentifierType OPTIONAL,
      calculationRate          CalculationRate OPTIONAL,
      operatorCode             OperatorCodeType OPTIONAL,
      date                     Date OPTIONAL,
      foreignExchangeContract  ForeignExchangeContract OPTIONAL}

    FinancialAccountType ::= SEQUENCE {
      iD                          IdentifierType OPTIONAL,
      name                        Name OPTIONAL,
      accountTypeCode             CodeType OPTIONAL,
      currencyCode                CurrencyCodeType OPTIONAL,
      financialInstitutionBranch  FinancialInstitutionBranch OPTIONAL,
      country                     Country OPTIONAL}

    FinancialInstitutionType ::= SEQUENCE {
      iD       IdentifierType OPTIONAL,
      name     Name OPTIONAL,
      address  Address OPTIONAL}

    HazardousGoodsTransitType ::= SEQUENCE {
      transportEmergencyCardCode  CodeType OPTIONAL,
      packingCriteriaCode         CodeType OPTIONAL,
      regulationCode              CodeType OPTIONAL,
      inhalationToxicityZoneCode  CodeType OPTIONAL,
      maximumTemperature          MaximumTemperature OPTIONAL,
      minimumTemperature          MinimumTemperature OPTIONAL}

    HazardousItemType ::= SEQUENCE {
      iD                          IdentifierType OPTIONAL,
      placardNotation             PlacardNotation OPTIONAL,
      placardEndorsement          PlacardEndorsement OPTIONAL,
      additionalInformation       AdditionalInformation OPTIONAL,
      uNDGCode                    CodeType OPTIONAL,
      emergencyProceduresCode     CodeType OPTIONAL,
      medicalFirstAidGuideCode    CodeType OPTIONAL,
      technicalName               TechnicalName OPTIONAL,
      contactParty                ContactParty OPTIONAL,
      secondaryHazard-list        SEQUENCE OF secondaryHazard SecondaryHazard,
      hazardousGoodsTransit-list
        SEQUENCE OF hazardousGoodsTransit HazardousGoodsTransit,
      emergencyTemperature        EmergencyTemperature OPTIONAL,
      flashpointTemperature       FlashpointTemperature OPTIONAL,
      additionalTemperature-list
        SEQUENCE OF additionalTemperature AdditionalTemperature}

    InvoiceLineType ::= SEQUENCE {
      iD                          IdentifierType,
      lineStatusCode              LineStatusCodeType OPTIONAL,
      invoicedQuantity            InvoicedQuantity OPTIONAL,
      lineExtensionAmount         LineExtensionAmount,
      note                        Note OPTIONAL,
      orderLineReference-list     SEQUENCE OF orderLineReference OrderLineReference,
      despatchLineReference-list
        SEQUENCE OF despatchLineReference DespatchLineReference,
      receiptLineReference-list
        SEQUENCE OF receiptLineReference ReceiptLineReference,
      delivery-list               SEQUENCE OF delivery Delivery,
      paymentTerms-list           SEQUENCE OF paymentTerms PaymentTerms,
      allowanceCharge-list        SEQUENCE OF allowanceCharge AllowanceCharge,
      taxTotal-list               SEQUENCE OF taxTotal TaxTotal,
      item                        Item,
      basePrice                   BasePrice OPTIONAL}

    ItemIdentificationType ::= SEQUENCE {
      iD                         IdentifierType,
      physicalAttribute-list     SEQUENCE OF physicalAttribute PhysicalAttribute,
      measurementDimension-list
        SEQUENCE OF measurementDimension MeasurementDimension,
      issuerParty                IssuerParty OPTIONAL}

    ItemType ::= SEQUENCE {
      description                        Description OPTIONAL,
      packQuantity                       PackQuantity OPTIONAL,
      packSizeNumeric                    PackSizeNumeric OPTIONAL,
      catalogueIndicator                 CatalogueIndicator OPTIONAL,
      buyersItemIdentification           BuyersItemIdentification OPTIONAL,
      sellersItemIdentification          SellersItemIdentification OPTIONAL,
      manufacturersItemIdentification    ManufacturersItemIdentification OPTIONAL,
      standardItemIdentification         StandardItemIdentification OPTIONAL,
      catalogueItemIdentification        CatalogueItemIdentification OPTIONAL,
      additionalItemIdentification-list
        SEQUENCE OF additionalItemIdentification AdditionalItemIdentification,
      catalogueDocumentReference         CatalogueDocumentReference OPTIONAL,
      lotIdentification                  LotIdentification OPTIONAL,
      originCountry                      OriginCountry OPTIONAL,
      commodityClassification            CommodityClassification OPTIONAL,
      salesConditions-list
        SEQUENCE OF salesConditions SalesConditions,
      hazardousItem-list                 SEQUENCE OF hazardousItem HazardousItem,
      taxCategory-list                   SEQUENCE OF taxCategory TaxCategory,
      basePrice-list                     SEQUENCE OF basePrice BasePrice}

    LanguageType ::= SEQUENCE {
      iD          IdentifierType OPTIONAL,
      name        Name OPTIONAL,
      localeCode  CodeType OPTIONAL}

    LegalTotalType ::= SEQUENCE {
      lineExtensionTotalAmount  LineExtensionTotalAmount OPTIONAL,
      taxExclusiveTotalAmount   TaxExclusiveTotalAmount OPTIONAL,
      taxInclusiveTotalAmount   TaxInclusiveTotalAmount}

    LineItemType ::= SEQUENCE {
      buyersID                  IdentifierType OPTIONAL,
      sellersID                 IdentifierType OPTIONAL,
      lineStatusCode            LineStatusCodeType OPTIONAL,
      quantity                  Quantity OPTIONAL,
      lineExtensionAmount       LineExtensionAmount OPTIONAL,
      taxTotalAmount            TaxTotalAmount OPTIONAL,
      minimumQuantity           MinimumQuantity OPTIONAL,
      maximumQuantity           MaximumQuantity OPTIONAL,
      maximumBackorderQuantity  MaximumBackorderQuantity OPTIONAL,
      minimumBackorderQuantity  MinimumBackorderQuantity OPTIONAL,
      note                      Note OPTIONAL,
      delivery-list             SEQUENCE OF delivery Delivery,
      deliveryTerms             DeliveryTerms OPTIONAL,
      destinationParty          DestinationParty OPTIONAL,
      orderedShipment-list      SEQUENCE OF orderedShipment OrderedShipment,
      allowanceCharge-list      SEQUENCE OF allowanceCharge AllowanceCharge,
      basePrice                 BasePrice OPTIONAL,
      item                      Item}

    LineReferenceType ::= SEQUENCE {
      lineID             IdentifierType,
      lineStatusCode     LineStatusCodeType OPTIONAL,
      documentReference  DocumentReference OPTIONAL}

    LocationCoordinateType ::= SEQUENCE {
      coordinateSystemCode     CodeType OPTIONAL,
      latitudeDegreesMeasure   LatitudeDegreesMeasure OPTIONAL,
      latitudeMinutesMeasure   LatitudeMinutesMeasure OPTIONAL,
      latitudeDirectionCode    LatitudeDirectionCodeType OPTIONAL,
      longitudeDegreesMeasure  LongitudeDegreesMeasure OPTIONAL,
      longitudeMinutesMeasure  LongitudeMinutesMeasure OPTIONAL,
      longitudeDirectionCode   LongitudeDirectionCodeType OPTIONAL}

    LotIdentificationType ::= SEQUENCE {
      lotNumberID  IdentifierType OPTIONAL,
      expiryDate   ExpiryDate OPTIONAL}

    OrderedShipmentType ::= SEQUENCE {
      shipment      Shipment,
      package-list  SEQUENCE OF package Package}

    OrderLineReferenceType ::= SEQUENCE {
      buyersLineID    IdentifierType OPTIONAL,
      sellersLineID   IdentifierType OPTIONAL,
      lineStatusCode  LineStatusCodeType OPTIONAL,
      orderReference  OrderReference OPTIONAL}

    OrderLineType ::= SEQUENCE {
      substitutionStatusCode                 SubstitutionStatusCodeType OPTIONAL,
      note                                   Note OPTIONAL,
      lineItem                               LineItem,
      sellerProposedSubstituteLineItem-list
        SEQUENCE OF sellerProposedSubstituteLineItem
          SellerProposedSubstituteLineItem,
      sellerSubstitutedLineItem-list
        SEQUENCE OF sellerSubstitutedLineItem SellerSubstitutedLineItem,
      buyerProposedSubstituteLineItem-list
        SEQUENCE OF buyerProposedSubstituteLineItem BuyerProposedSubstituteLineItem}

    OrderReferenceType ::= SEQUENCE {
      buyersID            IdentifierType OPTIONAL,
      sellersID           IdentifierType OPTIONAL,
      copyIndicator       CopyIndicator OPTIONAL,
      documentStatusCode  DocumentStatusCodeType OPTIONAL,
      issueDate           IssueDate OPTIONAL,
      gUID                IdentifierType OPTIONAL}

    PackageType ::= SEQUENCE {
      iD                           IdentifierType OPTIONAL,
      quantity                     Quantity OPTIONAL,
      returnableMaterialIndicator  ReturnableMaterialIndicator OPTIONAL,
      containedPackage             ContainedPackage OPTIONAL}

    PartyIdentificationType ::= SEQUENCE {iD  IdentifierType}

    PartyNameType ::= SEQUENCE {name-list  SEQUENCE (SIZE (1..MAX)) OF name Name}

    PartyTaxSchemeType ::= SEQUENCE {
      registrationName     RegistrationName OPTIONAL,
      companyID            IdentifierType OPTIONAL,
      taxLevelCode         CodeType OPTIONAL,
      exemptionReason      ExemptionReason OPTIONAL,
      registrationAddress  RegistrationAddress OPTIONAL,
      taxScheme            TaxScheme}

    PartyType ::= SEQUENCE {
      markCareIndicator         MarkCareIndicator OPTIONAL,
      markAttentionIndicator    MarkAttentionIndicator OPTIONAL,
      partyIdentification-list  SEQUENCE OF partyIdentification PartyIdentification,
      partyName                 PartyName OPTIONAL,
      address                   Address OPTIONAL,
      partyTaxScheme-list       SEQUENCE OF partyTaxScheme PartyTaxScheme,
      contact                   Contact OPTIONAL,
      language                  Language OPTIONAL}

    PaymentMeansType ::= SEQUENCE {
      paymentMeansCode       PaymentMeansCodeType,
      duePaymentDate         DuePaymentDate OPTIONAL,
      paymentChannelCode     CodeType OPTIONAL,
      cardAccount            CardAccount OPTIONAL,
      payerFinancialAccount  PayerFinancialAccount OPTIONAL,
      payeeFinancialAccount  PayeeFinancialAccount OPTIONAL,
      creditAccount          CreditAccount OPTIONAL,
      payment                Payment OPTIONAL}

    PaymentTermsType ::= SEQUENCE {
      iD                         IdentifierType OPTIONAL,
      note                       Note OPTIONAL,
      referenceEventCode         CodeType OPTIONAL,
      settlementDiscountPercent  SettlementDiscountPercent OPTIONAL,
      penaltySurchargePercent    PenaltySurchargePercent OPTIONAL,
      settlementPeriod           SettlementPeriod OPTIONAL,
      penaltyPeriod              PenaltyPeriod OPTIONAL}

    PaymentType ::= SEQUENCE {
      iD            IdentifierType OPTIONAL,
      paidAmount    PaidAmount OPTIONAL,
      receivedDate  ReceivedDate OPTIONAL}

    PeriodType ::= SEQUENCE {
      startDateTime         StartDateTime OPTIONAL,
      endDateTime           EndDateTime OPTIONAL,
      durationMeasure       DurationMeasure OPTIONAL,
      descriptionCode-list  SEQUENCE OF descriptionCode CodeType}

    PhysicalAttributeType ::= SEQUENCE {
      attributeID      IdentifierType,
      positionCode     CodeType OPTIONAL,
      descriptionCode  CodeType OPTIONAL,
      description      Description OPTIONAL}

    ReceiptLineType ::= SEQUENCE {
      iD                              IdentifierType,
      lineStatusCode                  LineStatusCodeType OPTIONAL,
      receivedQuantity                ReceivedQuantity OPTIONAL,
      shortQuantity                   ShortQuantity OPTIONAL,
      shortageActionCode              CodeType OPTIONAL,
      rejectedQuantity                RejectedQuantity OPTIONAL,
      rejectReasonCode                CodeType OPTIONAL,
      rejectActionCode                CodeType OPTIONAL,
      receivedDate                    ReceivedDate OPTIONAL,
      timingComplaintCode             CodeType OPTIONAL,
      note                            Note OPTIONAL,
      orderLineReference-list
        SEQUENCE OF orderLineReference OrderLineReference,
      despatchLineReference-list
        SEQUENCE OF despatchLineReference DespatchLineReference,
      delivery-list                   SEQUENCE OF delivery Delivery,
      transportHandlingUnit-list
        SEQUENCE OF transportHandlingUnit TransportHandlingUnit,
      orderedItemIdentification-list
        SEQUENCE OF orderedItemIdentification OrderedItemIdentification}

    SalesConditionsType ::= SEQUENCE {
      iD           IdentifierType OPTIONAL,
      actionCode   CodeType OPTIONAL,
      description  Description OPTIONAL}

    SecondaryHazardType ::= SEQUENCE {
      iD                       IdentifierType OPTIONAL,
      placardNotation          PlacardNotation OPTIONAL,
      placardEndorsement       PlacardEndorsement OPTIONAL,
      emergencyProceduresCode  CodeType OPTIONAL,
      extension                Extension OPTIONAL}

    SellerPartyType ::= SEQUENCE {
      buyerAssignedAccountID    IdentifierType OPTIONAL,
      sellerAssignedAccountID   IdentifierType OPTIONAL,
      additionalAccountID-list  SEQUENCE OF additionalAccountID IdentifierType,
      party                     Party OPTIONAL,
      shippingContact           ShippingContact OPTIONAL,
      accountsContact           AccountsContact OPTIONAL,
      orderContact              OrderContact OPTIONAL}

    ShipmentStageType ::= SEQUENCE {
      iD                      IdentifierType OPTIONAL,
      transportModeCode       CodeType OPTIONAL,
      transportMeansTypeCode  CodeType OPTIONAL,
      transitDirectionCode    CodeType OPTIONAL,
      transitPeriod           TransitPeriod OPTIONAL,
      carrierParty-list       SEQUENCE OF carrierParty CarrierParty}

    ShipmentType ::= SEQUENCE {
      iD                       IdentifierType,
      priorityLevelCode        CodeType OPTIONAL,
      handlingCode             CodeType OPTIONAL,
      handlingInstructions     HandlingInstructions OPTIONAL,
      information              Information OPTIONAL,
      grossWeightMeasure       GrossWeightMeasure OPTIONAL,
      netWeightMeasure         NetWeightMeasure OPTIONAL,
      netNetWeightMeasure      NetNetWeightMeasure OPTIONAL,
      grossVolumeMeasure       GrossVolumeMeasure OPTIONAL,
      netVolumeMeasure         NetVolumeMeasure OPTIONAL,
      delivery                 Delivery OPTIONAL,
      transportContract        TransportContract OPTIONAL,
      shipmentStage-list       SEQUENCE OF shipmentStage ShipmentStage,
      transportEquipment-list  SEQUENCE OF transportEquipment TransportEquipment}

    TaxCategoryType ::= SEQUENCE {
      iD               IdentifierType,
      percent          Percent OPTIONAL,
      exemptionReason  ExemptionReason OPTIONAL,
      taxScheme        TaxScheme}

    TaxSchemeType ::= SEQUENCE {
      iD                   IdentifierType OPTIONAL,
      taxTypeCode          CodeType OPTIONAL,
      currencyCode         CurrencyCodeType OPTIONAL,
      jurisdictionAddress  JurisdictionAddress OPTIONAL}

    TaxSubTotalType ::= SEQUENCE {
      taxableAmount  TaxableAmount OPTIONAL,
      taxAmount      TaxAmount,
      taxCategory    TaxCategory}

    TaxTotalType ::= SEQUENCE {
      totalTaxAmount    TotalTaxAmount,
      taxSubTotal-list  SEQUENCE OF taxSubTotal TaxSubTotal}

    TemperatureType ::= SEQUENCE {
      attributeID  IdentifierType,
      measure      Measure,
      description  Description OPTIONAL}

    TransportEquipmentSealType ::= SEQUENCE {
      iD              IdentifierType,
      issuerTypeCode  CodeType OPTIONAL,
      condition       Condition OPTIONAL,
      sealStatusCode  CodeType OPTIONAL}

    TransportEquipmentType ::= SEQUENCE {
      iD                           IdentifierType OPTIONAL,
      providerTypeCode             CodeType OPTIONAL,
      ownerTypeCode                CodeType OPTIONAL,
      sizeTypeCode                 CodeType OPTIONAL,
      dispositionCode              CodeType OPTIONAL,
      fullnessIndicationCode       CodeType OPTIONAL,
      refrigerationOnIndicator     RefrigerationOnIndicator OPTIONAL,
      information                  Information OPTIONAL,
      dimension-list               SEQUENCE OF dimension Dimension,
      transportEquipmentSeal-list
        SEQUENCE OF transportEquipmentSeal TransportEquipmentSeal}

    TransportHandlingUnitType ::= SEQUENCE {
      iD                                    IdentifierType OPTIONAL,
      unitTypeCode                          CodeType OPTIONAL,
      handlingUnitDespatchLine-list
        SEQUENCE OF handlingUnitDespatchLine HandlingUnitDespatchLine,
      actualPackage-list                    SEQUENCE OF actualPackage ActualPackage,
      receivedHandlingUnitReceiptLine-list
        SEQUENCE OF receivedHandlingUnitReceiptLine ReceivedHandlingUnitReceiptLine}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL, ALL IN ALL AS "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"
            PREFIX "cac"
        NAMESPACE AddressLineType.line-list.line, AddressType.postbox,
    	AddressType.floor, AddressType.room, AddressType.streetName,
    	AddressType.additionalStreetName, AddressType.buildingName,
    	AddressType.buildingNumber, AddressType.inhouseMail,
    	AddressType.department, AddressType.cityName, AddressType.postalZone,
    	AddressType.countrySubentity, AddressType.region, AddressType.district,
    	AddressType.timezoneOffset, AllowanceChargeType.chargeIndicator,
    	AllowanceChargeType.multiplierFactorNumeric,
    	AllowanceChargeType.prepaidIndicator,
    	AllowanceChargeType.sequenceNumeric, AllowanceChargeType.amount,
    	BasePriceType.priceAmount, BasePriceType.baseQuantity,
    	BasePriceType.maximumQuantity, BasePriceType.minimumQuantity,
    	BasePriceType.maximumAmount, BasePriceType.minimumAmount,
    	BranchType.name, CardAccountType.validityStartDate,
    	CardAccountType.expiryDate, CardAccountType.holderName,
    	CommunicationType.value, ContactType.name, ContactType.telephone,
    	ContactType.telefax, ContactType.electronicMail,
    	ContractType.issueDate, CountryType.name,
    	DeliveryTermsType.relevantLocation, DeliveryTermsType.specialTerms,
    	DeliveryTermsType.lossRisk, DeliveryType.quantity,
    	DeliveryType.minimumQuantity, DeliveryType.maximumQuantity,
    	DeliveryType.requestedDeliveryDateTime, DeliveryType.promisedDateTime,
    	DeliveryType.actualDeliveryDateTime,
    	DespatchLineType.deliveredQuantity, DespatchLineType.backorderQuantity,
    	DespatchLineType.backorderReason, DespatchLineType.note,
    	DimensionType.measure, DimensionType.description,
    	DimensionType.minimumMeasure, DimensionType.maximumMeasure,
    	DocumentReferenceType.copyIndicator, DocumentReferenceType.issueDate,
    	ExchangeRateType.sourceCurrencyBaseRate,
    	ExchangeRateType.targetUnitBaseRate, ExchangeRateType.calculationRate,
    	ExchangeRateType.date, FinancialAccountType.name,
    	FinancialInstitutionType.name, HazardousItemType.placardNotation,
    	HazardousItemType.placardEndorsement,
    	HazardousItemType.additionalInformation,
    	HazardousItemType.technicalName, InvoiceLineType.invoicedQuantity,
    	InvoiceLineType.lineExtensionAmount, InvoiceLineType.note,
    	ItemType.description, ItemType.packQuantity, ItemType.packSizeNumeric,
    	ItemType.catalogueIndicator, LanguageType.name,
    	LegalTotalType.lineExtensionTotalAmount,
    	LegalTotalType.taxExclusiveTotalAmount,
    	LegalTotalType.taxInclusiveTotalAmount, LineItemType.quantity,
    	LineItemType.lineExtensionAmount, LineItemType.taxTotalAmount,
    	LineItemType.minimumQuantity, LineItemType.maximumQuantity,
    	LineItemType.maximumBackorderQuantity,
    	LineItemType.minimumBackorderQuantity, LineItemType.note,
    	LocationCoordinateType.latitudeDegreesMeasure,
    	LocationCoordinateType.latitudeMinutesMeasure,
    	LocationCoordinateType.longitudeDegreesMeasure,
    	LocationCoordinateType.longitudeMinutesMeasure,
    	LotIdentificationType.expiryDate, OrderLineType.note,
    	OrderReferenceType.copyIndicator, OrderReferenceType.issueDate,
    	PackageType.quantity, PackageType.returnableMaterialIndicator,
    	PartyNameType.name-list.name, PartyTaxSchemeType.registrationName,
    	PartyTaxSchemeType.exemptionReason, PartyType.markCareIndicator,
    	PartyType.markAttentionIndicator, PaymentMeansType.duePaymentDate,
    	PaymentTermsType.note, PaymentTermsType.settlementDiscountPercent,
    	PaymentTermsType.penaltySurchargePercent, PaymentType.paidAmount,
    	PaymentType.receivedDate, PeriodType.startDateTime,
    	PeriodType.endDateTime, PeriodType.durationMeasure,
    	PhysicalAttributeType.description, ReceiptLineType.receivedQuantity,
    	ReceiptLineType.shortQuantity, ReceiptLineType.rejectedQuantity,
    	ReceiptLineType.receivedDate, ReceiptLineType.note,
    	SalesConditionsType.description, SecondaryHazardType.placardNotation,
    	SecondaryHazardType.placardEndorsement, SecondaryHazardType.extension,
    	ShipmentType.handlingInstructions, ShipmentType.information,
    	ShipmentType.grossWeightMeasure, ShipmentType.netWeightMeasure,
    	ShipmentType.netNetWeightMeasure, ShipmentType.grossVolumeMeasure,
    	ShipmentType.netVolumeMeasure, TaxCategoryType.percent,
    	TaxCategoryType.exemptionReason, TaxSubTotalType.taxableAmount,
    	TaxSubTotalType.taxAmount, TaxTotalType.totalTaxAmount,
    	TemperatureType.measure, TemperatureType.description,
    	TransportEquipmentSealType.condition,
    	TransportEquipmentType.refrigerationOnIndicator,
    	TransportEquipmentType.information
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
            PREFIX "cbc"
        NAME ALL IN ALL AS CAPITALIZED
        UNTAGGED SEQUENCE OF
    END

    CommonBasicComponents-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS
      NormalizedString, Decimal, String, Language
        FROM XSD
      CurrencyCodeContentType
        FROM CurrencyCode-1-0
      RateType, IndicatorType, DateTimeType, DateType, PercentType, NumericType
        FROM UnspecializedDatatypes-1-0;

    ActualDeliveryDateTime ::= DeliveryDateTimeType

    AdditionalInformation ::= InformationType

    AdditionalStreetName ::= StreetNameType

    Amount ::= AmountType

    BackorderQuantity ::= QuantityType

    BackorderReason ::= ReasonType

    BaseQuantity ::= QuantityType

    BuildingName ::= BuildingNameType

    BuildingNumber ::= BuildingNumberType

    CalculationRate ::= CalculationRateType

    CatalogueIndicator ::= IndicatorType

    ChargeIndicator ::= ChargeIndicatorType

    CityName ::= CityNameType

    Condition ::= ConditionType

    CopyIndicator ::= CopyIndicatorType

    CountrySubentity ::= CountrySubentityType

    CurrencyBaseRate ::= CurrencyBaseRateType

    Date ::= DateType

    DateTime ::= DateTimeType

    DeliveredQuantity ::= QuantityType

    DeliveryDateTime ::= DeliveryDateTimeType

    Department ::= DepartmentType

    Description ::= DescriptionType

    DiscountPercent ::= DiscountPercentType

    District ::= DistrictType

    DuePaymentDate ::= PaymentDateType

    DurationMeasure ::= DurationMeasureType

    ElectronicMail ::= MailType

    EndDateTime ::= EndDateTimeType

    ExemptionReason ::= ReasonType

    ExpiryDate ::= ExpiryDateType

    Extension ::= ExtensionType

    ExtensionAmount ::= ExtensionAmountType

    ExtensionTotalAmount ::= ExtensionTotalAmountType

    Floor ::= FloorType

    GrossVolumeMeasure ::= VolumeMeasureType

    GrossWeightMeasure ::= WeightMeasureType

    HandlingInstructions ::= InstructionsType

    HolderName ::= HolderNameType

    Indicator ::= IndicatorType

    Information ::= InformationType

    InhouseMail ::= MailType

    Instructions ::= InstructionsType

    InvoicedQuantity ::= QuantityType

    IssueDate ::= IssueDateType

    LatitudeDegreesMeasure ::= LatitudeDegreesMeasureType

    LatitudeMinutesMeasure ::= LatitudeMinutesMeasureType

    Line ::= LineType

    LineExtensionAmount ::= ExtensionAmountType

    LineExtensionTotalAmount ::= ExtensionTotalAmountType

    Location ::= LocationType

    LongitudeDegreesMeasure ::= LongitudeDegreesMeasureType

    LongitudeMinutesMeasure ::= LongitudeMinutesMeasureType

    LossRisk ::= LossRiskType

    Mail ::= MailType

    MarkAttentionIndicator ::= MarkAttentionIndicatorType

    MarkCareIndicator ::= MarkCareIndicatorType

    MaterialIndicator ::= MaterialIndicatorType

    MaximumAmount ::= AmountType

    MaximumBackorderQuantity ::= BackorderQuantityType

    MaximumMeasure ::= MeasureType

    MaximumQuantity ::= QuantityType

    Measure ::= MeasureType

    MinimumAmount ::= AmountType

    MinimumBackorderQuantity ::= BackorderQuantityType

    MinimumMeasure ::= MeasureType

    MinimumQuantity ::= QuantityType

    MultiplierFactorNumeric ::= MultiplierFactorNumericType

    Name ::= NameType

    NetNetWeightMeasure ::= WeightMeasureType

    NetVolumeMeasure ::= VolumeMeasureType

    NetWeightMeasure ::= WeightMeasureType

    Note ::= NoteType

    PackQuantity ::= PackQuantityType

    PackSizeNumeric ::= PackSizeNumericType

    PaidAmount ::= AmountType

    PaymentDate ::= PaymentDateType

    PenaltySurchargePercent ::= SurchargePercentType

    Percent ::= PercentType

    PlacardEndorsement ::= PlacardEndorsementType

    PlacardNotation ::= PlacardNotationType

    PostalZone ::= ZoneType

    Postbox ::= PostboxType

    PrepaidIndicator ::= IndicatorType

    PriceAmount ::= PriceAmountType

    PromisedDateTime ::= DateTimeType

    Quantity ::= QuantityType

    Reason ::= ReasonType

    ReceivedDate ::= DateType

    ReceivedQuantity ::= QuantityType

    RefrigerationOnIndicator ::= RefrigerationOnIndicatorType

    Region ::= RegionType

    RegistrationName ::= RegistrationNameType

    RejectedQuantity ::= QuantityType

    RelevantLocation ::= LocationType

    RequestedDeliveryDateTime ::= DeliveryDateTimeType

    ReturnableMaterialIndicator ::= MaterialIndicatorType

    Room ::= RoomType

    SequenceNumeric ::= SequenceNumericType

    SettlementDiscountPercent ::= DiscountPercentType

    ShortQuantity ::= QuantityType

    SourceCurrencyBaseRate ::= CurrencyBaseRateType

    SpecialTerms ::= TermsType

    StartDateTime ::= StartDateTimeType

    StreetName ::= StreetNameType

    SurchargePercent ::= SurchargePercentType

    TargetUnitBaseRate ::= UnitBaseRateType

    TaxableAmount ::= AmountType

    TaxAmount ::= TaxAmountType

    TaxExclusiveTotalAmount ::= TotalAmountType

    TaxInclusiveTotalAmount ::= TotalAmountType

    TaxTotalAmount ::= TaxTotalAmountType

    TechnicalName ::= NameType

    Telefax ::= TelefaxType

    Telephone ::= TelephoneType

    Terms ::= TermsType

    TimezoneOffset ::= TimezoneOffsetType

    TotalAmount ::= TotalAmountType

    TotalTaxAmount ::= TaxAmountType

    UnitBaseRate ::= UnitBaseRateType

    ValidityStartDate ::= ValidityStartDateType

    Value ::= ValueType

    VolumeMeasure ::= VolumeMeasureType

    WeightMeasure ::= WeightMeasureType

    Zone ::= ZoneType

    AmountType ::= SEQUENCE {
      amountCurrencyCodeListVersionID  XSD.NormalizedString("0.3") DEFAULT "0.3",
      amountCurrencyID                 CurrencyCodeContentType,
      base                             XSD.Decimal}

    BackorderQuantityType ::= SEQUENCE {
      quantityUnitCode                XSD.NormalizedString,
      quantityUnitCodeListAgencyID    XSD.NormalizedString OPTIONAL,
      quantityUnitCodeListAgencyName  XSD.String OPTIONAL,
      quantityUnitCodeListID          XSD.NormalizedString OPTIONAL,
      base                            XSD.Decimal}

    BuildingNameType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    BuildingNumberType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    CalculationRateType ::= SEQUENCE {base  RateType}

    ChargeIndicatorType ::= SEQUENCE {
      base  UnspecializedDatatypes-1-0.IndicatorType}

    CityNameType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    ConditionType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    CopyIndicatorType ::= SEQUENCE {base  UnspecializedDatatypes-1-0.IndicatorType}

    CountrySubentityType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    CurrencyBaseRateType ::= SEQUENCE {base  RateType}

    DateTimeType ::= SEQUENCE {base  UnspecializedDatatypes-1-0.DateTimeType}

    DateType ::= SEQUENCE {base  UnspecializedDatatypes-1-0.DateType}

    DeliveryDateTimeType ::= SEQUENCE {
      base  UnspecializedDatatypes-1-0.DateTimeType}

    DepartmentType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    DescriptionType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    DiscountPercentType ::= SEQUENCE {base  UnspecializedDatatypes-1-0.PercentType}

    DistrictType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    DurationMeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    EndDateTimeType ::= SEQUENCE {base  UnspecializedDatatypes-1-0.DateTimeType}

    ExpiryDateType ::= SEQUENCE {base  UnspecializedDatatypes-1-0.DateType}

    ExtensionAmountType ::= SEQUENCE {
      amountCurrencyCodeListVersionID  XSD.NormalizedString("0.3") DEFAULT "0.3",
      amountCurrencyID                 CurrencyCodeContentType,
      base                             XSD.Decimal}

    ExtensionTotalAmountType ::= SEQUENCE {
      amountCurrencyCodeListVersionID  XSD.NormalizedString("0.3") DEFAULT "0.3",
      amountCurrencyID                 CurrencyCodeContentType,
      base                             XSD.Decimal}

    ExtensionType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    FloorType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    HolderNameType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    IndicatorType ::= SEQUENCE {base  UnspecializedDatatypes-1-0.IndicatorType}

    InformationType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    InstructionsType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    IssueDateType ::= SEQUENCE {base  UnspecializedDatatypes-1-0.DateType}

    LatitudeDegreesMeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    LatitudeMinutesMeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    LineType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    LocationType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    LongitudeDegreesMeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    LongitudeMinutesMeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    LossRiskType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    MailType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    MarkAttentionIndicatorType ::= SEQUENCE {
      base  UnspecializedDatatypes-1-0.IndicatorType}

    MarkCareIndicatorType ::= SEQUENCE {
      base  UnspecializedDatatypes-1-0.IndicatorType}

    MaterialIndicatorType ::= SEQUENCE {
      base  UnspecializedDatatypes-1-0.IndicatorType}

    MeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    MultiplierFactorNumericType ::= SEQUENCE {base  NumericType}

    NameType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    NoteType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    PackQuantityType ::= SEQUENCE {
      quantityUnitCode                XSD.NormalizedString,
      quantityUnitCodeListAgencyID    XSD.NormalizedString OPTIONAL,
      quantityUnitCodeListAgencyName  XSD.String OPTIONAL,
      quantityUnitCodeListID          XSD.NormalizedString OPTIONAL,
      base                            XSD.Decimal}

    PackSizeNumericType ::= SEQUENCE {base  NumericType}

    PaymentDateType ::= SEQUENCE {base  UnspecializedDatatypes-1-0.DateType}

    PercentType ::= SEQUENCE {base  UnspecializedDatatypes-1-0.PercentType}

    PlacardEndorsementType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    PlacardNotationType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    PostboxType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    PriceAmountType ::= SEQUENCE {
      amountCurrencyCodeListVersionID  XSD.NormalizedString("0.3") DEFAULT "0.3",
      amountCurrencyID                 CurrencyCodeContentType,
      base                             XSD.Decimal}

    QuantityType ::= SEQUENCE {
      quantityUnitCode                XSD.NormalizedString,
      quantityUnitCodeListAgencyID    XSD.NormalizedString OPTIONAL,
      quantityUnitCodeListAgencyName  XSD.String OPTIONAL,
      quantityUnitCodeListID          XSD.NormalizedString OPTIONAL,
      base                            XSD.Decimal}

    ReasonType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    RefrigerationOnIndicatorType ::= SEQUENCE {
      base  UnspecializedDatatypes-1-0.IndicatorType}

    RegionType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    RegistrationNameType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    RoomType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    SequenceNumericType ::= SEQUENCE {base  NumericType}

    StartDateTimeType ::= SEQUENCE {base  UnspecializedDatatypes-1-0.DateTimeType}

    StreetNameType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    SurchargePercentType ::= SEQUENCE {
      base  UnspecializedDatatypes-1-0.PercentType}

    TaxAmountType ::= SEQUENCE {
      amountCurrencyCodeListVersionID  XSD.NormalizedString("0.3") DEFAULT "0.3",
      amountCurrencyID                 CurrencyCodeContentType,
      base                             XSD.Decimal}

    TaxTotalAmountType ::= SEQUENCE {
      amountCurrencyCodeListVersionID  XSD.NormalizedString("0.3") DEFAULT "0.3",
      amountCurrencyID                 CurrencyCodeContentType,
      base                             XSD.Decimal}

    TelefaxType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    TelephoneType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    TermsType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    TimezoneOffsetType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    TotalAmountType ::= SEQUENCE {
      amountCurrencyCodeListVersionID  XSD.NormalizedString("0.3") DEFAULT "0.3",
      amountCurrencyID                 CurrencyCodeContentType,
      base                             XSD.Decimal}

    UnitBaseRateType ::= SEQUENCE {base  RateType}

    ValidityStartDateType ::= SEQUENCE {base  UnspecializedDatatypes-1-0.DateType}

    ValueType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    VolumeMeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    WeightMeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    ZoneType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
            AS "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
            PREFIX "cbc"
        ATTRIBUTE ALL IN ALL
        NOT ATTRIBUTE base IN ALL
        UNTAGGED base IN ALL
    END

    CoreComponentParameters-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, String, AnyURI, Language
              FROM XSD;

    Component ::= ComponentType-1

    ComponentType-1 ::= SEQUENCE {
      componentType                   ComponentType,
      dictionaryEntryName             DictionaryEntryName,
      version                         Version OPTIONAL,
      definition                      Definition,
      cardinality                     Cardinality OPTIONAL,
      objectClassQualifier            ObjectClassQualifier OPTIONAL,
      objectClass                     ObjectClass OPTIONAL,
      propertyTermQualifier           PropertyTermQualifier OPTIONAL,
      propertyTermPossessiveNoun      PropertyTermPossessiveNoun OPTIONAL,
      propertyTermPrimaryNoun         PropertyTermPrimaryNoun OPTIONAL,
      propertyTerm                    PropertyTerm OPTIONAL,
      representationTerm              RepresentationTerm OPTIONAL,
      dataTypeQualifier               DataTypeQualifier OPTIONAL,
      dataType                        DataType OPTIONAL,
      associatedObjectClassQualifier  AssociatedObjectClassQualifier OPTIONAL,
      associatedObjectClass           AssociatedObjectClass OPTIONAL,
      alternativeBusinessTerms        AlternativeBusinessTerms OPTIONAL,
      examples                        Examples OPTIONAL}

    Context ::= ContextType

    ContextType ::= SEQUENCE {
      industryClassification-list
        SEQUENCE OF industryClassification IndustryClassification,
      geopolitical-list            SEQUENCE OF geopolitical Geopolitical,
      businessProcess-list         SEQUENCE OF businessProcess BusinessProcess,
      officialConstraint-list
        SEQUENCE OF officialConstraint OfficialConstraint,
      productClassification-list
        SEQUENCE OF productClassification ProductClassification,
      businessProcessRole-list
        SEQUENCE OF businessProcessRole BusinessProcessRole,
      supportingRole-list          SEQUENCE OF supportingRole SupportingRole,
      systemCapability-list        SEQUENCE OF systemCapability SystemCapability}

    Contextualization ::= ContextualizationType

    ContextualizationType ::= SEQUENCE {context-list  SEQUENCE OF context Context}

    Instance ::= InstanceType

    InstanceType ::= SEQUENCE {
      name                Name OPTIONAL,
      codeListID          CodeListID OPTIONAL,
      codeListAgencyID    CodeListAgencyID OPTIONAL,
      codeListAgencyName  CodeListAgencyName OPTIONAL,
      codeListName        CodeListName OPTIONAL,
      codeListVersionID   CodeListVersionID OPTIONAL,
      codeListURI         CodeListURI OPTIONAL,
      codeListSchemeURI   CodeListSchemeURI OPTIONAL,
      languageID          LanguageID OPTIONAL}

    DictionaryEntryName ::= XSD.NormalizedString

    Version ::= XSD.NormalizedString

    ObjectClassQualifier ::= XSD.NormalizedString

    ObjectClass ::= XSD.NormalizedString

    PropertyTermQualifier ::= XSD.NormalizedString

    PropertyTermPossessiveNoun ::= XSD.NormalizedString

    PropertyTermPrimaryNoun ::= XSD.NormalizedString

    PropertyTerm ::= XSD.NormalizedString

    RepresentationTerm ::= XSD.NormalizedString

    DataTypeQualifier ::= XSD.NormalizedString

    DataType ::= XSD.NormalizedString

    AssociatedObjectClassQualifier ::= XSD.NormalizedString

    AssociatedObjectClass ::= XSD.NormalizedString

    AlternativeBusinessTerms ::= XSD.NormalizedString

    ComponentType ::= XSD.NormalizedString

    Cardinality ::= XSD.NormalizedString

    Definition ::= XSD.String

    Examples ::= XSD.String

    Name ::= XSD.String

    CodeListID ::= XSD.NormalizedString

    CodeListAgencyID ::= XSD.NormalizedString

    CodeListAgencyName ::= XSD.String

    CodeListName ::= XSD.String

    CodeListVersionID ::= XSD.NormalizedString

    CodeListURI ::= XSD.AnyURI

    CodeListSchemeURI ::= XSD.AnyURI

    LanguageID ::= XSD.Language

    IndustryClassification ::= XSD.String

    Geopolitical ::= XSD.String

    BusinessProcess ::= XSD.String

    OfficialConstraint ::= XSD.String

    ProductClassification ::= XSD.String

    BusinessProcessRole ::= XSD.String

    SupportingRole ::= XSD.String

    SystemCapability ::= XSD.String

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL, ALL IN ALL AS "urn:oasis:names:specification:ubl:schema:xsd:CoreComponentParameters-1.0"
            PREFIX "ccts"
        NAME ComponentType-1 AS "ComponentType"
        NAME ALL IN ComponentType-1,
    	ALL IN InstanceType,
    	ContextType.industryClassification-list.industryClassification,
    	ContextType.geopolitical-list.geopolitical,
    	ContextType.businessProcess-list.businessProcess,
    	ContextType.officialConstraint-list.officialConstraint,
    	ContextType.productClassification-list.productClassification,
    	ContextType.businessProcessRole-list.businessProcessRole,
    	ContextType.supportingRole-list.supportingRole,
    	ContextType.systemCapability-list.systemCapability,
    	ContextualizationType.context-list.context
    	AS CAPITALIZED
        UNTAGGED SEQUENCE OF
    END

    CoreComponentTypes-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS NormalizedString, Decimal, AnyURI, String, Language, DateTime
              FROM XSD;

    AmountType ::= SEQUENCE {
      amountCurrencyCodeListVersionID  XSD.NormalizedString OPTIONAL,
      amountCurrencyID                 XSD.NormalizedString OPTIONAL,
      base                             XSD.Decimal}

    BinaryObjectType ::= SEQUENCE {
      uRI               XSD.AnyURI OPTIONAL,
      characterSetCode  XSD.NormalizedString OPTIONAL,
      encodingCode      XSD.NormalizedString OPTIONAL,
      filename          XSD.String OPTIONAL,
      format            XSD.String OPTIONAL,
      mimeCode          XSD.NormalizedString OPTIONAL,
      base              OCTET STRING}

    CodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString OPTIONAL,
      codeListAgencyName  XSD.String OPTIONAL,
      codeListID          XSD.NormalizedString OPTIONAL,
      codeListName        XSD.String OPTIONAL,
      codeListSchemeURI   XSD.AnyURI OPTIONAL,
      codeListURI         XSD.AnyURI OPTIONAL,
      codeListVersionID   XSD.NormalizedString OPTIONAL,
      languageID          XSD.Language OPTIONAL,
      name                XSD.String OPTIONAL,
      base                XSD.NormalizedString}

    DateTimeType ::= XSD.DateTime

    IdentifierType ::= SEQUENCE {
      identificationSchemeAgencyID    XSD.NormalizedString OPTIONAL,
      identificationSchemeAgencyName  XSD.String OPTIONAL,
      identificationSchemeDataURI     XSD.AnyURI OPTIONAL,
      identificationSchemeID          XSD.NormalizedString OPTIONAL,
      identificationSchemeName        XSD.String OPTIONAL,
      identificationSchemeURI         XSD.AnyURI OPTIONAL,
      identificationSchemeVersionID   XSD.NormalizedString OPTIONAL,
      base                            XSD.NormalizedString}

    IndicatorType ::= BOOLEAN

    MeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString OPTIONAL,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    NumericType ::= XSD.Decimal

    QuantityType ::= SEQUENCE {
      quantityUnitCode                XSD.NormalizedString OPTIONAL,
      quantityUnitCodeListAgencyID    XSD.NormalizedString OPTIONAL,
      quantityUnitCodeListAgencyName  XSD.String OPTIONAL,
      quantityUnitCodeListID          XSD.NormalizedString OPTIONAL,
      base                            XSD.Decimal}

    TextType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
            AS "urn:oasis:names:specification:ubl:schema:xsd:CoreComponentTypes-1.0"
            PREFIX "cct"
        NAME BinaryObjectType.uRI AS CAPITALIZED
        ATTRIBUTE AmountType.amountCurrencyCodeListVersionID,
    	AmountType.amountCurrencyID, MeasureType.measureUnitCode,
    	MeasureType.measureUnitCodeListVersionID, TextType.languageID,
    	TextType.languageLocaleID
        ATTRIBUTE ALL IN BinaryObjectType, ALL IN CodeType, ALL IN IdentifierType,
    	ALL IN QuantityType
        NOT ATTRIBUTE base IN ALL
        BASE64 BinaryObjectType.base
        UNTAGGED base IN ALL
    END

    DespatchAdvice-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS
      IdentifierType, CodeType, NumericType
        FROM UnspecializedDatatypes-1-0
      CopyIndicator, IssueDate, Note
        FROM CommonBasicComponents-1-0
      DocumentStatusCodeType
        FROM DocumentStatusCode-1-0
      OrderReference, BuyerParty, SellerParty, Delivery, DeliveryTerms,
        DespatchLine, ShipmentType, TransportHandlingUnitType, PartyType
        FROM CommonAggregateComponents-1-0;

    DespatchAdvice ::= DespatchAdviceType

    DespatchAdviceType ::= SEQUENCE {
      iD                                    IdentifierType,
      copyIndicator                         CopyIndicator OPTIONAL,
      gUID                                  IdentifierType OPTIONAL,
      issueDate                             IssueDate,
      documentStatusCode                    DocumentStatusCodeType OPTIONAL,
      despatchAdviceTypeCode                CodeType OPTIONAL,
      note                                  Note OPTIONAL,
      lineItemCountNumeric                  LineItemCountNumeric OPTIONAL,
      orderReference-list
        SEQUENCE OF orderReference OrderReference,
      buyerParty                            BuyerParty,
      sellerParty                           SellerParty,
      freightForwarderParty                 FreightForwarderParty OPTIONAL,
      delivery-list                         SEQUENCE OF delivery Delivery,
      deliveryTerms                         DeliveryTerms OPTIONAL,
      despatchedTransportHandlingUnit-list
        SEQUENCE OF despatchedTransportHandlingUnit DespatchedTransportHandlingUnit,
      actualShipment                        ActualShipment OPTIONAL,
      despatchLine-list
        SEQUENCE (SIZE (1..MAX)) OF despatchLine DespatchLine}

    ActualShipment ::= ShipmentType

    DespatchedTransportHandlingUnit ::= TransportHandlingUnitType

    FreightForwarderParty ::= PartyType

    LineItemCountNumeric ::= LineItemCountNumericType

    LineItemCountNumericType ::= SEQUENCE {base  NumericType}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL, ALL IN ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-1.0"
    	PREFIX "ns"
        NAMESPACE DespatchAdviceType.copyIndicator, DespatchAdviceType.issueDate,
    	DespatchAdviceType.note
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
            PREFIX "cbc"
        NAMESPACE DespatchAdviceType.orderReference-list.orderReference,
    	DespatchAdviceType.buyerParty, DespatchAdviceType.sellerParty,
    	DespatchAdviceType.delivery-list.delivery,
    	DespatchAdviceType.deliveryTerms,
    	DespatchAdviceType.despatchLine-list.despatchLine
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"
            PREFIX "cac"
        NAME ALL IN DespatchAdviceType,
    	DespatchAdviceType.orderReference-list.orderReference,
    	DespatchAdviceType.delivery-list.delivery,
    	DespatchAdviceType.despatchedTransportHandlingUnit-list.despatchedTransportHandlingUnit,
    	DespatchAdviceType.despatchLine-list.despatchLine AS CAPITALIZED
        UNTAGGED SEQUENCE OF, LineItemCountNumericType.base
    END

    Invoice-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS
      IdentifierType, CodeType, NumericType, DateType
        FROM UnspecializedDatatypes-1-0
      CopyIndicator, IssueDate, Note
        FROM CommonBasicComponents-1-0
      CurrencyCodeType
        FROM CurrencyCode-1-0
      OrderReference, BuyerParty, SellerParty, Delivery, PaymentMeans,
        PaymentTerms, AllowanceCharge, ExchangeRate, TaxTotal, LegalTotal,
        InvoiceLine, DocumentReferenceType
        FROM CommonAggregateComponents-1-0;

    Invoice ::= InvoiceType

    InvoiceType ::= SEQUENCE {
      iD                                IdentifierType,
      copyIndicator                     CopyIndicator OPTIONAL,
      gUID                              IdentifierType OPTIONAL,
      issueDate                         IssueDate,
      invoiceTypeCode                   CodeType OPTIONAL,
      note                              Note OPTIONAL,
      taxPointDate                      TaxPointDate OPTIONAL,
      invoiceCurrencyCode               CurrencyCodeType OPTIONAL,
      taxCurrencyCode                   CurrencyCodeType OPTIONAL,
      pricingCurrencyCode               CurrencyCodeType OPTIONAL,
      lineItemCountNumeric              LineItemCountNumeric OPTIONAL,
      orderReference-list               SEQUENCE OF orderReference OrderReference,
      despatchDocumentReference-list
        SEQUENCE OF despatchDocumentReference DespatchDocumentReference,
      receiptDocumentReference-list
        SEQUENCE OF receiptDocumentReference ReceiptDocumentReference,
      additionalDocumentReference-list
        SEQUENCE OF additionalDocumentReference AdditionalDocumentReference,
      buyerParty                        BuyerParty,
      sellerParty                       SellerParty,
      delivery-list                     SEQUENCE OF delivery Delivery,
      paymentMeans                      PaymentMeans OPTIONAL,
      paymentTerms-list                 SEQUENCE OF paymentTerms PaymentTerms,
      allowanceCharge-list              SEQUENCE OF allowanceCharge AllowanceCharge,
      exchangeRate                      ExchangeRate OPTIONAL,
      taxTotal-list                     SEQUENCE OF taxTotal TaxTotal,
      legalTotal                        LegalTotal,
      invoiceLine-list
        SEQUENCE (SIZE (1..MAX)) OF invoiceLine InvoiceLine}

    AdditionalDocumentReference ::= DocumentReferenceType

    DespatchDocumentReference ::= DocumentReferenceType

    LineItemCountNumeric ::= LineItemCountNumericType

    ReceiptDocumentReference ::= DocumentReferenceType

    TaxPointDate ::= TaxPointDateType

    LineItemCountNumericType ::= SEQUENCE {base  NumericType}

    TaxPointDateType ::= SEQUENCE {base  DateType}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL, ALL IN ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:Invoice-1.0"
        NAMESPACE InvoiceType.copyIndicator, InvoiceType.issueDate,
    	InvoiceType.note
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
            PREFIX "cbc"
        NAMESPACE InvoiceType.orderReference-list.orderReference,
    	InvoiceType.buyerParty, InvoiceType.sellerParty,
    	InvoiceType.delivery-list.delivery, InvoiceType.paymentMeans,
    	InvoiceType.paymentTerms-list.paymentTerms,
    	InvoiceType.allowanceCharge-list.allowanceCharge,
    	InvoiceType.exchangeRate, InvoiceType.taxTotal-list.taxTotal,
    	InvoiceType.legalTotal, InvoiceType.invoiceLine-list.invoiceLine
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"
            PREFIX "cac"
        NAME ALL IN InvoiceType,
    	InvoiceType.orderReference-list.orderReference,
    	InvoiceType.despatchDocumentReference-list.despatchDocumentReference,
    	InvoiceType.receiptDocumentReference-list.receiptDocumentReference,
    	InvoiceType.additionalDocumentReference-list.additionalDocumentReference,
    	InvoiceType.delivery-list.delivery,
    	InvoiceType.paymentTerms-list.paymentTerms,
    	InvoiceType.allowanceCharge-list.allowanceCharge,
    	InvoiceType.taxTotal-list.taxTotal,
    	InvoiceType.invoiceLine-list.invoiceLine
    	AS CAPITALIZED
        UNTAGGED SEQUENCE OF
        UNTAGGED base IN ALL
    END

    Order-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS
      IdentifierType, DateType, NumericType
        FROM UnspecializedDatatypes-1-0
      CopyIndicator, IssueDate, Note, ExpiryDate, TaxTotalAmount,
        LineExtensionTotalAmount, GrossWeightMeasure, NetWeightMeasure,
        NetNetWeightMeasure, GrossVolumeMeasure, NetVolumeMeasure
        FROM CommonBasicComponents-1-0
      AcknowledgementResponseCodeType
        FROM AcknowledgementResponseCode-1-0
      CurrencyCodeType
        FROM CurrencyCode-1-0
      BuyerParty, SellerParty, Delivery, DeliveryTerms, AllowanceCharge,
        SalesConditions, OrderLine, PaymentMeans, DocumentReferenceType,
        CountryType, PartyType
        FROM CommonAggregateComponents-1-0
      NormalizedString, String, Decimal
        FROM XSD;

    Order ::= OrderType

    OrderType ::= SEQUENCE {
      buyersID                          IdentifierType OPTIONAL,
      sellersID                         IdentifierType OPTIONAL,
      copyIndicator                     CopyIndicator OPTIONAL,
      gUID                              IdentifierType OPTIONAL,
      issueDate                         IssueDate,
      note                              Note OPTIONAL,
      acknowledgementResponseCode       AcknowledgementResponseCodeType OPTIONAL,
      transactionCurrencyCode           CurrencyCodeType OPTIONAL,
      pricingCurrencyCode               CurrencyCodeType OPTIONAL,
      earliestDate                      EarliestDate OPTIONAL,
      expiryDate                        ExpiryDate OPTIONAL,
      validityDurationMeasure           ValidityDurationMeasure OPTIONAL,
      taxTotalAmount                    TaxTotalAmount OPTIONAL,
      lineExtensionTotalAmount          LineExtensionTotalAmount OPTIONAL,
      totalPackagesQuantity             TotalPackagesQuantity OPTIONAL,
      grossWeightMeasure                GrossWeightMeasure OPTIONAL,
      netWeightMeasure                  NetWeightMeasure OPTIONAL,
      netNetWeightMeasure               NetNetWeightMeasure OPTIONAL,
      grossVolumeMeasure                GrossVolumeMeasure OPTIONAL,
      netVolumeMeasure                  NetVolumeMeasure OPTIONAL,
      lineItemCountNumeric              LineItemCountNumeric OPTIONAL,
      contractDocumentReference         ContractDocumentReference OPTIONAL,
      quoteDocumentReference            QuoteDocumentReference OPTIONAL,
      additionalDocumentReference-list
        SEQUENCE OF additionalDocumentReference AdditionalDocumentReference,
      buyerParty                        BuyerParty,
      sellerParty                       SellerParty,
      originatorParty                   OriginatorParty OPTIONAL,
      freightForwarderParty             FreightForwarderParty OPTIONAL,
      delivery-list                     SEQUENCE OF delivery Delivery,
      deliveryTerms                     DeliveryTerms OPTIONAL,
      allowanceCharge-list              SEQUENCE OF allowanceCharge AllowanceCharge,
      salesConditions                   SalesConditions OPTIONAL,
      destinationCountry                DestinationCountry OPTIONAL,
      orderLine-list
        SEQUENCE (SIZE (1..MAX)) OF orderLine OrderLine,
      paymentMeans                      PaymentMeans OPTIONAL}

    AdditionalDocumentReference ::= DocumentReferenceType

    ContractDocumentReference ::= DocumentReferenceType

    DestinationCountry ::= CountryType

    EarliestDate ::= EarliestDateType

    FreightForwarderParty ::= PartyType

    LineItemCountNumeric ::= LineItemCountNumericType

    OriginatorParty ::= PartyType

    PackagesQuantity ::= PackagesQuantityType

    QuoteDocumentReference ::= DocumentReferenceType

    TotalPackagesQuantity ::= PackagesQuantityType

    ValidityDurationMeasure ::= ValidityDurationMeasureType

    EarliestDateType ::= SEQUENCE {base  DateType}

    LineItemCountNumericType ::= SEQUENCE {base  NumericType}

    PackagesQuantityType ::= SEQUENCE {
      quantityUnitCode                XSD.NormalizedString,
      quantityUnitCodeListAgencyID    XSD.NormalizedString OPTIONAL,
      quantityUnitCodeListAgencyName  XSD.String OPTIONAL,
      quantityUnitCodeListID          XSD.NormalizedString OPTIONAL,
      base                            XSD.Decimal}

    ValidityDurationMeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL, ALL IN ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:Order-1.0"
        NAMESPACE OrderType.copyIndicator, OrderType.issueDate, OrderType.note,
    	OrderType.expiryDate, OrderType.taxTotalAmount,
    	OrderType.lineExtensionTotalAmount, OrderType.grossWeightMeasure,
    	OrderType.netWeightMeasure, OrderType.netNetWeightMeasure,
    	OrderType.grossVolumeMeasure, OrderType.netVolumeMeasure
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
            PREFIX "cbc"
        NAMESPACE OrderType.buyerParty, OrderType.sellerParty,
    	OrderType.delivery-list.delivery, OrderType.deliveryTerms,
    	OrderType.allowanceCharge-list.allowanceCharge,
    	OrderType.salesConditions, OrderType.orderLine-list.orderLine,
    	OrderType.paymentMeans
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"
            PREFIX "cac"
        NOT NAMESPACE PackagesQuantityType.quantityUnitCode,
    	PackagesQuantityType.quantityUnitCodeListAgencyID,
    	PackagesQuantityType.quantityUnitCodeListAgencyName,
    	PackagesQuantityType.quantityUnitCodeListID,
    	ValidityDurationMeasureType.measureUnitCode,
    	ValidityDurationMeasureType.measureUnitCodeListVersionID
        NAME ALL IN OrderType,
    	OrderType.additionalDocumentReference-list.additionalDocumentReference,
    	OrderType.delivery-list.delivery,
    	OrderType.allowanceCharge-list.allowanceCharge,
    	OrderType.orderLine-list.orderLine
    	AS CAPITALIZED
        ATTRIBUTE ALL IN PackagesQuantityType
        ATTRIBUTE ValidityDurationMeasureType.measureUnitCode,
    	ValidityDurationMeasureType.measureUnitCodeListVersionID
        NOT ATTRIBUTE PackagesQuantityType.base
        UNTAGGED SEQUENCE OF
        UNTAGGED base IN ALL
    END

    OrderCancellation-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS
      IdentifierType, IndicatorType, DateTimeType
        FROM UnspecializedDatatypes-1-0
      CopyIndicator, Note
        FROM CommonBasicComponents-1-0
      DocumentStatusCodeType
        FROM DocumentStatusCode-1-0
      OrderReference, BuyerParty, SellerParty
        FROM CommonAggregateComponents-1-0
      Language, NormalizedString, String
        FROM XSD;

    OrderCancellation ::= OrderCancellationType

    OrderCancellationType ::= SEQUENCE {
      iD                         IdentifierType,
      copyIndicator              CopyIndicator OPTIONAL,
      gUID                       IdentifierType OPTIONAL,
      issueDateTime              IssueDateTime,
      documentStatusCode         DocumentStatusCodeType OPTIONAL,
      note                       Note OPTIONAL,
      cancellationNote           CancellationNote,
      responseRequiredIndicator  ResponseRequiredIndicator OPTIONAL,
      acceptedIndicator          AcceptedIndicator OPTIONAL,
      orderReference-list
        SEQUENCE (SIZE (1..MAX)) OF orderReference OrderReference,
      buyerParty                 BuyerParty,
      sellerParty                SellerParty}

    AcceptedIndicator ::= AcceptedIndicatorType

    CancellationNote ::= CancellationNoteType

    IssueDateTime ::= IssueDateTimeType

    ResponseRequiredIndicator ::= ResponseRequiredIndicatorType

    AcceptedIndicatorType ::= SEQUENCE {base  IndicatorType}

    CancellationNoteType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    IssueDateTimeType ::= SEQUENCE {base  DateTimeType}

    ResponseRequiredIndicatorType ::= SEQUENCE {base  IndicatorType}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL, ALL IN ALL AS "urn:oasis:names:specification:ubl:schema:xsd:OrderCancellation-1.0"
        NAMESPACE OrderCancellationType.copyIndicator, OrderCancellationType.note
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
            PREFIX "cbc"
        NAMESPACE OrderCancellationType.orderReference-list.orderReference,
    	OrderCancellationType.buyerParty, OrderCancellationType.sellerParty
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"
            PREFIX "cac"
        NOT NAMESPACE CancellationNoteType.languageID,
    	CancellationNoteType.languageLocaleID
        NAME ALL IN OrderCancellationType,
    	OrderCancellationType.orderReference-list.orderReference
    	AS CAPITALIZED
        ATTRIBUTE CancellationNoteType.languageID,
    	CancellationNoteType.languageLocaleID
        UNTAGGED OrderCancellationType.orderReference-list
        UNTAGGED base IN ALL
    END

    OrderChange-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS
      IdentifierType, DateType, NumericType
        FROM UnspecializedDatatypes-1-0
      CopyIndicator, IssueDate, Note, ExpiryDate, TaxTotalAmount,
        LineExtensionTotalAmount, GrossWeightMeasure, NetWeightMeasure,
        NetNetWeightMeasure, GrossVolumeMeasure, NetVolumeMeasure
        FROM CommonBasicComponents-1-0
      DocumentStatusCodeType
        FROM DocumentStatusCode-1-0
      AcknowledgementResponseCodeType
        FROM AcknowledgementResponseCode-1-0
      CurrencyCodeType
        FROM CurrencyCode-1-0
      OrderReference, BuyerParty, SellerParty, Delivery, DeliveryTerms,
        AllowanceCharge, SalesConditions, OrderLine, PaymentMeans,
        DocumentReferenceType, CountryType, PartyType
        FROM CommonAggregateComponents-1-0
      NormalizedString, String, Decimal
        FROM XSD;

    OrderChange ::= OrderChangeType

    OrderChangeType ::= SEQUENCE {
      buyersID                     IdentifierType OPTIONAL,
      sellersID                    IdentifierType OPTIONAL,
      copyIndicator                CopyIndicator OPTIONAL,
      gUID                         IdentifierType OPTIONAL,
      issueDate                    IssueDate,
      documentStatusCode           DocumentStatusCodeType OPTIONAL,
      sequenceNumberID             IdentifierType,
      note                         Note OPTIONAL,
      acknowledgementResponseCode  AcknowledgementResponseCodeType OPTIONAL,
      transactionCurrencyCode      CurrencyCodeType OPTIONAL,
      pricingCurrencyCode          CurrencyCodeType OPTIONAL,
      earliestDate                 EarliestDate OPTIONAL,
      expiryDate                   ExpiryDate OPTIONAL,
      validityDurationMeasure      ValidityDurationMeasure OPTIONAL,
      taxTotalAmount               TaxTotalAmount OPTIONAL,
      lineExtensionTotalAmount     LineExtensionTotalAmount OPTIONAL,
      totalPackagesCountQuantity   TotalPackagesCountQuantity OPTIONAL,
      grossWeightMeasure           GrossWeightMeasure OPTIONAL,
      netWeightMeasure             NetWeightMeasure OPTIONAL,
      netNetWeightMeasure          NetNetWeightMeasure OPTIONAL,
      grossVolumeMeasure           GrossVolumeMeasure OPTIONAL,
      netVolumeMeasure             NetVolumeMeasure OPTIONAL,
      lineItemCountNumeric         LineItemCountNumeric OPTIONAL,
      orderReference-list          SEQUENCE OF orderReference OrderReference,
      contractDocumentReference    ContractDocumentReference OPTIONAL,
      quoteDocumentReference       QuoteDocumentReference OPTIONAL,
      buyerParty                   BuyerParty,
      sellerParty                  SellerParty,
      originatorParty              OriginatorParty OPTIONAL,
      freightForwarderParty        FreightForwarderParty OPTIONAL,
      delivery-list                SEQUENCE OF delivery Delivery,
      deliveryTerms                DeliveryTerms OPTIONAL,
      allowanceCharge-list         SEQUENCE OF allowanceCharge AllowanceCharge,
      salesConditions              SalesConditions OPTIONAL,
      destinationCountry           DestinationCountry OPTIONAL,
      orderLine-list               SEQUENCE (SIZE (1..MAX)) OF orderLine OrderLine,
      paymentMeans                 PaymentMeans OPTIONAL}

    ContractDocumentReference ::= DocumentReferenceType

    DestinationCountry ::= CountryType

    EarliestDate ::= EarliestDateType

    FreightForwarderParty ::= PartyType

    LineItemCountNumeric ::= LineItemCountNumericType

    OriginatorParty ::= PartyType

    PackagesCountQuantity ::= PackagesCountQuantityType

    QuoteDocumentReference ::= DocumentReferenceType

    TotalPackagesCountQuantity ::= PackagesCountQuantityType

    ValidityDurationMeasure ::= ValidityDurationMeasureType

    EarliestDateType ::= SEQUENCE {base  DateType}

    LineItemCountNumericType ::= SEQUENCE {base  NumericType}

    PackagesCountQuantityType ::= SEQUENCE {
      quantityUnitCode                XSD.NormalizedString,
      quantityUnitCodeListAgencyID    XSD.NormalizedString OPTIONAL,
      quantityUnitCodeListAgencyName  XSD.String OPTIONAL,
      quantityUnitCodeListID          XSD.NormalizedString OPTIONAL,
      base                            XSD.Decimal}

    ValidityDurationMeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL, ALL IN ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:OrderChange-1.0"
        NAMESPACE OrderChangeType.copyIndicator, OrderChangeType.issueDate,
    	OrderChangeType.note, OrderChangeType.expiryDate,
    	OrderChangeType.taxTotalAmount,
    	OrderChangeType.lineExtensionTotalAmount,
    	OrderChangeType.grossWeightMeasure, OrderChangeType.netWeightMeasure,
    	OrderChangeType.netNetWeightMeasure,
    	OrderChangeType.grossVolumeMeasure, OrderChangeType.netVolumeMeasure
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
            PREFIX "cbc"
        NAMESPACE OrderChangeType.orderReference-list.orderReference,
    	OrderChangeType.buyerParty, OrderChangeType.sellerParty,
    	OrderChangeType.delivery-list.delivery, OrderChangeType.deliveryTerms,
    	OrderChangeType.allowanceCharge-list.allowanceCharge,
    	OrderChangeType.salesConditions,
    	OrderChangeType.orderLine-list.orderLine, OrderChangeType.paymentMeans
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"
            PREFIX "cac"
        NOT NAMESPACE PackagesCountQuantityType.quantityUnitCode,
    	PackagesCountQuantityType.quantityUnitCodeListAgencyID,
    	PackagesCountQuantityType.quantityUnitCodeListAgencyName,
    	PackagesCountQuantityType.quantityUnitCodeListID,
    	ValidityDurationMeasureType.measureUnitCode,
    	ValidityDurationMeasureType.measureUnitCodeListVersionID
        NAME ALL IN OrderChangeType,
    	OrderChangeType.orderReference-list.orderReference,
    	OrderChangeType.delivery-list.delivery,
    	OrderChangeType.allowanceCharge-list.allowanceCharge,
    	OrderChangeType.orderLine-list.orderLine
    	AS CAPITALIZED
        ATTRIBUTE ALL IN PackagesCountQuantityType
        ATTRIBUTE ValidityDurationMeasureType.measureUnitCode,
    	ValidityDurationMeasureType.measureUnitCodeListVersionID
        NOT ATTRIBUTE PackagesCountQuantityType.base
        UNTAGGED SEQUENCE OF
        UNTAGGED base IN ALL
    END

    OrderResponse-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS
      IdentifierType, DateType, NumericType
        FROM UnspecializedDatatypes-1-0
      CopyIndicator, IssueDate, Note, ExpiryDate, TaxTotalAmount,
        LineExtensionTotalAmount, GrossWeightMeasure, NetWeightMeasure,
        NetNetWeightMeasure, GrossVolumeMeasure, NetVolumeMeasure
        FROM CommonBasicComponents-1-0
      DocumentStatusCodeType
        FROM DocumentStatusCode-1-0
      CurrencyCodeType
        FROM CurrencyCode-1-0
      OrderReference, BuyerParty, SellerParty, Delivery, DeliveryTerms,
        AllowanceCharge, SalesConditions, PaymentMeans, CountryType, PartyType,
        OrderLineType
        FROM CommonAggregateComponents-1-0
      NormalizedString, String, Decimal
        FROM XSD;

    OrderResponse ::= OrderResponseType

    OrderResponseType ::= SEQUENCE {
      buyersID                    IdentifierType OPTIONAL,
      sellersID                   IdentifierType OPTIONAL,
      copyIndicator               CopyIndicator OPTIONAL,
      gUID                        IdentifierType OPTIONAL,
      issueDate                   IssueDate,
      documentStatusCode          DocumentStatusCodeType OPTIONAL,
      note                        Note OPTIONAL,
      transactionCurrencyCode     CurrencyCodeType OPTIONAL,
      pricingCurrencyCode         CurrencyCodeType OPTIONAL,
      earliestDate                EarliestDate OPTIONAL,
      expiryDate                  ExpiryDate OPTIONAL,
      validityDurationMeasure     ValidityDurationMeasure OPTIONAL,
      taxTotalAmount              TaxTotalAmount OPTIONAL,
      lineExtensionTotalAmount    LineExtensionTotalAmount OPTIONAL,
      totalPackagesCountQuantity  TotalPackagesCountQuantity OPTIONAL,
      grossWeightMeasure          GrossWeightMeasure OPTIONAL,
      netWeightMeasure            NetWeightMeasure OPTIONAL,
      netNetWeightMeasure         NetNetWeightMeasure OPTIONAL,
      grossVolumeMeasure          GrossVolumeMeasure OPTIONAL,
      netVolumeMeasure            NetVolumeMeasure OPTIONAL,
      lineItemCountNumeric        LineItemCountNumeric OPTIONAL,
      orderReference-list
        SEQUENCE (SIZE (1..MAX)) OF orderReference OrderReference,
      buyerParty                  BuyerParty,
      sellerParty                 SellerParty,
      originatorParty             OriginatorParty OPTIONAL,
      freightForwarderParty       FreightForwarderParty OPTIONAL,
      delivery-list               SEQUENCE OF delivery Delivery,
      deliveryTerms               DeliveryTerms OPTIONAL,
      allowanceCharge-list        SEQUENCE OF allowanceCharge AllowanceCharge,
      salesConditions             SalesConditions OPTIONAL,
      destinationCountry          DestinationCountry OPTIONAL,
      respondedOrderLine-list
        SEQUENCE (SIZE (1..MAX)) OF respondedOrderLine RespondedOrderLine,
      paymentMeans                PaymentMeans OPTIONAL}

    DestinationCountry ::= CountryType

    EarliestDate ::= EarliestDateType

    FreightForwarderParty ::= PartyType

    LineItemCountNumeric ::= LineItemCountNumericType

    OriginatorParty ::= PartyType

    PackagesCountQuantity ::= PackagesCountQuantityType

    RespondedOrderLine ::= OrderLineType

    TotalPackagesCountQuantity ::= PackagesCountQuantityType

    ValidityDurationMeasure ::= ValidityDurationMeasureType

    EarliestDateType ::= SEQUENCE {base  DateType}

    LineItemCountNumericType ::= SEQUENCE {base  NumericType}

    PackagesCountQuantityType ::= SEQUENCE {
      quantityUnitCode                XSD.NormalizedString,
      quantityUnitCodeListAgencyID    XSD.NormalizedString OPTIONAL,
      quantityUnitCodeListAgencyName  XSD.String OPTIONAL,
      quantityUnitCodeListID          XSD.NormalizedString OPTIONAL,
      base                            XSD.Decimal}

    ValidityDurationMeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL, ALL IN ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:OrderResponse-1.0"
        NAMESPACE OrderResponseType.copyIndicator, OrderResponseType.issueDate,
    	OrderResponseType.note, OrderResponseType.expiryDate,
    	OrderResponseType.taxTotalAmount,
    	OrderResponseType.lineExtensionTotalAmount,
    	OrderResponseType.grossWeightMeasure,
    	OrderResponseType.netWeightMeasure,
    	OrderResponseType.netNetWeightMeasure,
    	OrderResponseType.grossVolumeMeasure,
    	OrderResponseType.netVolumeMeasure
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
            PREFIX "cbc"
        NAMESPACE OrderResponseType.orderReference-list.orderReference,
    	OrderResponseType.buyerParty, OrderResponseType.sellerParty,
    	OrderResponseType.delivery-list.delivery,
    	OrderResponseType.deliveryTerms,
    	OrderResponseType.allowanceCharge-list.allowanceCharge,
    	OrderResponseType.salesConditions, OrderResponseType.paymentMeans
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"
            PREFIX "cac"
        NOT NAMESPACE ALL IN PackagesCountQuantityType,
    	ALL IN ValidityDurationMeasureType
        NAME ALL IN OrderResponseType,
    	OrderResponseType.orderReference-list.orderReference,
    	OrderResponseType.delivery-list.delivery,
    	OrderResponseType.allowanceCharge-list.allowanceCharge,
    	OrderResponseType.respondedOrderLine-list.respondedOrderLine
    	AS CAPITALIZED
        ATTRIBUTE ALL IN PackagesCountQuantityType
        ATTRIBUTE ValidityDurationMeasureType.measureUnitCode,
    	ValidityDurationMeasureType.measureUnitCodeListVersionID
        NOT ATTRIBUTE PackagesCountQuantityType.base
        UNTAGGED SEQUENCE OF
        UNTAGGED base IN ALL
    END

    OrderResponseSimple-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS
      IdentifierType, IndicatorType
        FROM UnspecializedDatatypes-1-0
      CopyIndicator, IssueDate, Note
        FROM CommonBasicComponents-1-0
      DocumentStatusCodeType
        FROM DocumentStatusCode-1-0
      OrderReference, BuyerParty, SellerParty
        FROM CommonAggregateComponents-1-0
      Language, NormalizedString, String
        FROM XSD;

    OrderResponseSimple ::= OrderResponseSimpleType

    OrderResponseSimpleType ::= SEQUENCE {
      iD                  IdentifierType,
      copyIndicator       CopyIndicator OPTIONAL,
      gUID                IdentifierType OPTIONAL,
      issueDate           IssueDate,
      documentStatusCode  DocumentStatusCodeType OPTIONAL,
      note                Note OPTIONAL,
      acceptedIndicator   AcceptedIndicator,
      rejectionNote       RejectionNote OPTIONAL,
      orderReference      OrderReference,
      buyerParty          BuyerParty,
      sellerParty         SellerParty}

    AcceptedIndicator ::= AcceptedIndicatorType

    RejectionNote ::= RejectionNoteType

    AcceptedIndicatorType ::= SEQUENCE {base  IndicatorType}

    RejectionNoteType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL, ALL IN ALL AS "urn:oasis:names:specification:ubl:schema:xsd:OrderResponseSimple-1.0"
        NAMESPACE OrderResponseSimpleType.copyIndicator,
    	OrderResponseSimpleType.issueDate, OrderResponseSimpleType.note
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
            PREFIX "cbc"
        NAMESPACE OrderResponseSimpleType.orderReference,
    	OrderResponseSimpleType.buyerParty,
    	OrderResponseSimpleType.sellerParty
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"
            PREFIX "cac"
        NOT NAMESPACE RejectionNoteType.languageID,
    	RejectionNoteType.languageLocaleID
        NAME ALL IN OrderResponseSimpleType AS CAPITALIZED
        ATTRIBUTE RejectionNoteType.languageID, RejectionNoteType.languageLocaleID
        UNTAGGED base IN ALL
    END

    ReceiptAdvice-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS
      IdentifierType
        FROM UnspecializedDatatypes-1-0
      CopyIndicator, IssueDate, Note
        FROM CommonBasicComponents-1-0
      DocumentStatusCodeType
        FROM DocumentStatusCode-1-0
      OrderReference, BuyerParty, SellerParty, Delivery, ReceiptLine,
        DocumentReferenceType, PartyType, TransportHandlingUnitType
        FROM CommonAggregateComponents-1-0;

    ReceiptAdvice ::= ReceiptAdviceType

    ReceiptAdviceType ::= SEQUENCE {
      iD                                  IdentifierType,
      copyIndicator                       CopyIndicator OPTIONAL,
      gUID                                IdentifierType OPTIONAL,
      issueDate                           IssueDate,
      documentStatusCode                  DocumentStatusCodeType OPTIONAL,
      note                                Note OPTIONAL,
      orderReference-list                 SEQUENCE OF orderReference OrderReference,
      despatchDocumentReference-list
        SEQUENCE OF despatchDocumentReference DespatchDocumentReference,
      buyerParty                          BuyerParty,
      sellerParty                         SellerParty,
      freightForwarderParty               FreightForwarderParty OPTIONAL,
      delivery-list                       SEQUENCE OF delivery Delivery,
      receivedTransportHandlingUnit-list
        SEQUENCE OF receivedTransportHandlingUnit ReceivedTransportHandlingUnit,
      receiptLine-list
        SEQUENCE (SIZE (1..MAX)) OF receiptLine ReceiptLine}

    DespatchDocumentReference ::= DocumentReferenceType

    FreightForwarderParty ::= PartyType

    ReceivedTransportHandlingUnit ::= TransportHandlingUnitType

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL, ALL IN ALL
    	AS "urn:oasis:names:specification:ubl:schema:xsd:ReceiptAdvice-1.0"
        NAMESPACE ReceiptAdviceType.copyIndicator, ReceiptAdviceType.issueDate,
    	ReceiptAdviceType.note
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
            PREFIX "cbc"
        NAMESPACE ReceiptAdviceType.orderReference-list.orderReference,
    	ReceiptAdviceType.buyerParty, ReceiptAdviceType.sellerParty,
    	ReceiptAdviceType.delivery-list.delivery,
    	ReceiptAdviceType.receiptLine-list.receiptLine
    	AS "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"
            PREFIX "cac"
        NAME ALL IN ReceiptAdviceType,
    	ReceiptAdviceType.orderReference-list.orderReference,
    	ReceiptAdviceType.despatchDocumentReference-list.despatchDocumentReference,
    	ReceiptAdviceType.delivery-list.delivery,
    	ReceiptAdviceType.receivedTransportHandlingUnit-list.receivedTransportHandlingUnit,
    	ReceiptAdviceType.receiptLine-list.receiptLine AS CAPITALIZED
        UNTAGGED SEQUENCE OF
    END

    SpecializedDatatypes-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS
      NormalizedString, Decimal
        FROM XSD
      CurrencyCodeContentType
        FROM CurrencyCode-1-0;

    UBLAmountType ::= SEQUENCE {
      amountCurrencyCodeListVersionID  XSD.NormalizedString("0.3") DEFAULT "0.3",
      amountCurrencyID                 CurrencyCodeContentType,
      base                             XSD.Decimal}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL AS "urn:oasis:names:specification:ubl:schema:xsd:SpecializedDatatypes-1.0"
            PREFIX "sdt"
        ATTRIBUTE ALL IN ALL
        NOT ATTRIBUTE base IN ALL
        UNTAGGED base IN ALL
    END

    UnspecializedDatatypes-1-0 DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    IMPORTS
      NormalizedString, Decimal, AnyURI, String, Language, DateTime, Date, Time
        FROM XSD;

    AmountType ::= SEQUENCE {
      amountCurrencyCodeListVersionID  XSD.NormalizedString OPTIONAL,
      amountCurrencyID                 XSD.NormalizedString,
      base                             XSD.Decimal}

    BinaryObjectType ::= SEQUENCE {
      uRI               XSD.AnyURI OPTIONAL,
      characterSetCode  XSD.NormalizedString OPTIONAL,
      encodingCode      XSD.NormalizedString OPTIONAL,
      filename          XSD.String OPTIONAL,
      format            XSD.String OPTIONAL,
      mimeCode          XSD.NormalizedString OPTIONAL,
      base              OCTET STRING}

    CodeType ::= SEQUENCE {
      codeListAgencyID    XSD.NormalizedString OPTIONAL,
      codeListAgencyName  XSD.String OPTIONAL,
      codeListID          XSD.NormalizedString OPTIONAL,
      codeListName        XSD.String OPTIONAL,
      codeListSchemeURI   XSD.AnyURI OPTIONAL,
      codeListURI         XSD.AnyURI OPTIONAL,
      codeListVersionID   XSD.NormalizedString OPTIONAL,
      languageID          XSD.Language OPTIONAL,
      name                XSD.String OPTIONAL,
      base                XSD.NormalizedString}

    DateTimeType ::= XSD.DateTime

    DateType ::= XSD.Date

    GraphicType ::= SEQUENCE {
      uRI               XSD.AnyURI OPTIONAL,
      characterSetCode  XSD.NormalizedString OPTIONAL,
      encodingCode      XSD.NormalizedString OPTIONAL,
      filename          XSD.String OPTIONAL,
      format            XSD.String OPTIONAL,
      mimeCode          XSD.NormalizedString OPTIONAL,
      base              OCTET STRING}

    IdentifierType ::= SEQUENCE {
      identificationSchemeAgencyID    XSD.NormalizedString OPTIONAL,
      identificationSchemeAgencyName  XSD.String OPTIONAL,
      identificationSchemeDataURI     XSD.AnyURI OPTIONAL,
      identificationSchemeID          XSD.NormalizedString OPTIONAL,
      identificationSchemeName        XSD.String OPTIONAL,
      identificationSchemeURI         XSD.AnyURI OPTIONAL,
      identificationSchemeVersionID   XSD.NormalizedString OPTIONAL,
      base                            XSD.NormalizedString}

    IndicatorType ::= BOOLEAN

    MeasureType ::= SEQUENCE {
      measureUnitCode               XSD.NormalizedString,
      measureUnitCodeListVersionID  XSD.NormalizedString OPTIONAL,
      base                          XSD.Decimal}

    NameType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    NumericType ::= XSD.Decimal

    PercentType ::= XSD.Decimal

    PictureType ::= SEQUENCE {
      uRI               XSD.AnyURI OPTIONAL,
      characterSetCode  XSD.NormalizedString OPTIONAL,
      encodingCode      XSD.NormalizedString OPTIONAL,
      filename          XSD.String OPTIONAL,
      format            XSD.String OPTIONAL,
      mimeCode          XSD.NormalizedString OPTIONAL,
      base              OCTET STRING}

    QuantityType ::= SEQUENCE {
      quantityUnitCode                XSD.NormalizedString,
      quantityUnitCodeListAgencyID    XSD.NormalizedString OPTIONAL,
      quantityUnitCodeListAgencyName  XSD.String OPTIONAL,
      quantityUnitCodeListID          XSD.NormalizedString OPTIONAL,
      base                            XSD.Decimal}

    RateType ::= XSD.Decimal

    SoundType ::= SEQUENCE {
      uRI               XSD.AnyURI OPTIONAL,
      characterSetCode  XSD.NormalizedString OPTIONAL,
      encodingCode      XSD.NormalizedString OPTIONAL,
      filename          XSD.String OPTIONAL,
      format            XSD.String OPTIONAL,
      mimeCode          XSD.NormalizedString OPTIONAL,
      base              OCTET STRING}

    TextType ::= SEQUENCE {
      languageID        XSD.Language OPTIONAL,
      languageLocaleID  XSD.NormalizedString OPTIONAL,
      base              XSD.String}

    TimeType ::= XSD.Time

    ValueType ::= XSD.Decimal

    VideoType ::= SEQUENCE {
      uRI               XSD.AnyURI OPTIONAL,
      characterSetCode  XSD.NormalizedString OPTIONAL,
      encodingCode      XSD.NormalizedString OPTIONAL,
      filename          XSD.String OPTIONAL,
      format            XSD.String OPTIONAL,
      mimeCode          XSD.NormalizedString OPTIONAL,
      base              OCTET STRING}

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL
            AS "urn:oasis:names:specification:ubl:schema:xsd:UnspecializedDatatypes-1.0"
            PREFIX "udt"
        NAME BinaryObjectType.uRI, GraphicType.uRI, PictureType.uRI, SoundType.uRI,
    	VideoType.uRI AS CAPITALIZED
        ATTRIBUTE TextType.languageID, TextType.languageLocaleID
        ATTRIBUTE ALL IN ALL
        NOT ATTRIBUTE base IN ALL
        BASE64 BinaryObjectType.base, GraphicType.base, PictureType.base,
    	SoundType.base, VideoType.base
        UNTAGGED base IN ALL
    END

    XSD {joint-iso-itu-t asn1(1) specification(0) modules(0) xsd-module(1)}
    DEFINITIONS AUTOMATIC TAGS ::=
    BEGIN

    XMLCompatibleString ::=
      UTF8String
        (FROM ({0,
                0,
                0,
                9} | {0, 0, 0, 10} | {0, 0, 0, 13} |
               {0, 0, 0, 32}..{0, 0, 215, 255} | {0, 0, 224, 0}..{0, 0, 255, 253} |
               {0, 1, 0, 0}..{0, 16, 255, 253}))

    XMLStringWithNoCRLFHT ::=
      UTF8String
        (FROM ({0,
                0,
                0,
                32}..{0, 0, 215, 255} | {0, 0, 224, 0}..{0, 0, 255, 253} |
               {0, 1, 0, 0}..{0, 16, 255, 253}))

    DATE-TIME ::=
      VisibleString(FROM ("0".."9" | "DHMPSTYZ:.+-"))
        (CONSTRAINED BY { /* XSD clause 3.2.7 */})

    String ::= XMLCompatibleString

    NormalizedString ::=
      String(XMLStringWithNoCRLFHT)
        (CONSTRAINED BY { /* The String shall be a normalizedString - see W3C XML Schema
    	Part. 2 - clause 3.3.1 */
           })

    AnyURI ::=
      XMLStringWithNoCRLFHT
        (CONSTRAINED BY { /* The XMLCompatibleString shall be a valid URI - see IETF RFC 2396 */
           })

    Language ::=
      VisibleString(FROM ("a".."z" | "A".."Z" | "-" | "0".."9"))
        (PATTERN "[a-zA-Z]#(1,8)(-[a-zA-Z0-9]#(1,8))*")

    -- The semantics of Language is specified in IETF RFC 3066
    Decimal ::=
      REAL(WITH COMPONENTS {
             ...,
             base  (10)
           })(ALL EXCEPT (-0 | MINUS-INFINITY | PLUS-INFINITY | NOT-A-NUMBER))

    DateTime ::= DATE-TIME

    DateOnly ::=
      DATE-TIME(FROM ("0".."9" | "Z:+-"))(CONSTRAINED BY { /* XSD clause 3.2.9 */})

    Date ::= DATE-TIME(DateOnly)

    TimeOnly ::=
      DATE-TIME(FROM ("0".."9" | "Z:.+-"))
        (CONSTRAINED BY { /* XSD clause 3.2.8 */})

    Time ::= DATE-TIME(TimeOnly)

    ENCODING-CONTROL XER
        GLOBAL-DEFAULTS MODIFIED-ENCODINGS
        GLOBAL-DEFAULTS CONTROL-NAMESPACE
    	"http://www.w3.org/2001/XMLSchema-instance" PREFIX "xsi"
        NAMESPACE ALL, ALL IN ALL AS "http://www.w3.org/2001/XMLSchema"
    	PREFIX "xsd"
        NAME String, NormalizedString, AnyURI, Language, Decimal, DateTime, Date,
    	Time AS CAPITALIZED
        DECIMAL Decimal
        WHITESPACE NormalizedString REPLACE
        WHITESPACE AnyURI, Language, DATE-TIME COLLAPSE
    END