<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT COHAOR (MessageHeader, GeneralRemarks?, Comment?,ChangeInformation?, PackingMarkingInformation, References?, MessageSender, Consignee?, Invoicee?, Equipment)>
<!ELEMENT MessageHeader (messageVersion, messageReference, messageCode, messageFunction, messageDate, documentVersion, senderId, receiverId)>
<!ELEMENT messageVersion (#PCDATA)>
<!ELEMENT messageReference (#PCDATA)>
<!ELEMENT messageCode (#PCDATA)>
<!ELEMENT messageFunction (#PCDATA)>
<!ELEMENT messageDate (#PCDATA)>
<!ELEMENT documentVersion (#PCDATA)>
<!ELEMENT senderId (#PCDATA)>
<!ELEMENT receiverId (#PCDATA)>
<!ELEMENT GeneralRemarks (generalRemarksTextCode?, TextInfo?)>
<!ELEMENT generalRemarksTextCode (#PCDATA)>
<!ELEMENT TextInfo ((text, text, text?, text?, text?, text?))>
<!ELEMENT text (#PCDATA)>
<!ELEMENT Comment (TextInfo?)>
<!ELEMENT ChangeInformation (changeInformationTextCode?, TextInfo?)>
<!ELEMENT changeInformationTextCode (#PCDATA)>
<!ELEMENT PackingMarkingInformation (PackingCode, NumberOfPackages?,TotalNumberOfPackages?)>
<!ELEMENT PackingCode (#PCDATA)>
<!ELEMENT NumberOfPackages (#PCDATA)>
<!ELEMENT TotalNumberOfPackages (#PCDATA)>
<!ELEMENT References (PreviousMessageReference?, FreightForwardersReference?, GroupReference?)>
<!ELEMENT PreviousMessageReference (previousMessageReferenceNumber)>
<!ELEMENT previousMessageReferenceNumber (#PCDATA)>
<!ELEMENT FreightForwardersReference (freightForwardersReferenceNumber)>
<!ELEMENT freightForwardersReferenceNumber (#PCDATA)>
<!ELEMENT GroupReference (groupReferenceNumber, groupReferenceNumberOfContainers?)>
<!ELEMENT groupReferenceNumber (#PCDATA)>
<!ELEMENT groupReferenceNumberOfContainers (#PCDATA)>
<!ELEMENT MessageSender (partyIdentificationNumber, (partyName, partyName?, partyName?, partyName?, partyName?, partyName?), (partyAddress?, partyAddress?, partyAddress?, partyAddress?, partyAddress?, partyAddress?, partyAddress?), (partyStreet?, partyStreet?, partyStreet?, partyStreet?, partyStreet?), partyCity?, postCode?, partyCountry?)>
<!ELEMENT partyIdentificationNumber (#PCDATA)>
<!ELEMENT partyName (#PCDATA)>
<!ELEMENT partyAddress (#PCDATA)>
<!ELEMENT partyStreet (#PCDATA)>
<!ELEMENT partyCity (#PCDATA)>
<!ELEMENT postCode (#PCDATA)>
<!ELEMENT partyCountry (#PCDATA)>
<!ELEMENT Consignee (partyIdentificationNumber, (partyName, partyName?, partyName?, partyName?, partyName?, partyName?), (partyAddress?, partyAddress?, partyAddress?, partyAddress?, partyAddress?, partyAddress?, partyAddress?), (partyStreet?, partyStreet?, partyStreet?, partyStreet?, partyStreet?), partyCity?, postCode?, partyCountry?)>
<!ELEMENT Invoicee (partyIdentificationNumber?, (partyName, partyName?, partyName?, partyName?, partyName?, partyName?, partyName?), (partyAddress?, partyAddress?, partyAddress?, partyAddress?, partyAddress?, partyAddress?, partyAddress?), (partyStreet?, partyStreet?, partyStreet?, partyStreet?, partyStreet?), partyCity?, postCode?, partyCountry?)>
<!ELEMENT Equipment (equipmentIdentificationNumber, codeListQualifier?, equipmentType?, EquipmentReferences, earliestDeliveryDate?, scheduledForDeliveryDate?, GoodsLocation?, InspectionLocation, GoodsDescription, GovernmentalRequirements, HandlingInstructions, grossWeight?, totalGrossWeight?, Vessel?, DangerousGoods?, Temperature?)>
<!ELEMENT equipmentIdentificationNumber (#PCDATA)>
<!ELEMENT codeListQualifier (#PCDATA)>
<!ELEMENT equipmentType (#PCDATA)>
<!ELEMENT EquipmentReferences (shipsStayReferenceNumber?, customsDeclarationReferenceNumber?, sanidadVegetalReferenceNumber?, sanidadAnimalReferenceNumber?, sanidadExteriorAnimalReferenceNumber?, sanidadExteriorVegetalReferenceNumber?, farmaciaReferenceNumber?, soivreQualityControlReferenceNumber?, soivreCitesReferenceNumber?, soivreSafetyControlsReferenceNumber?, vigilanciaAduaneraReferenceNumber?,  ARBReferenceNumber?, otherReferenceNumber?)>
<!ELEMENT shipsStayReferenceNumber (#PCDATA)>
<!ELEMENT customsDeclarationReferenceNumber (#PCDATA)>
<!ELEMENT sanidadVegetalReferenceNumber (#PCDATA)>
<!ELEMENT sanidadAnimalReferenceNumber (#PCDATA)>
<!ELEMENT sanidadExteriorAnimalReferenceNumber (#PCDATA)>
<!ELEMENT sanidadExteriorVegetalReferenceNumber (#PCDATA)>
<!ELEMENT farmaciaReferenceNumber (#PCDATA)>
<!ELEMENT soivreQualityControlReferenceNumber (#PCDATA)>
<!ELEMENT soivreCitesReferenceNumber (#PCDATA)>
<!ELEMENT soivreSafetyControlsReferenceNumber (#PCDATA)>
<!ELEMENT vigilanciaAduaneraReferenceNumber (#PCDATA)>
<!ELEMENT ARBReferenceNumber (#PCDATA)>
<!ELEMENT otherReferenceNumber (#PCDATA)>
<!ELEMENT earliestDeliveryDate (#PCDATA)>
<!ELEMENT scheduledForDeliveryDate (#PCDATA)>
<!ELEMENT GoodsLocation (terminalCif, terminalAditionalLocation?)>
<!ELEMENT InspectionLocation (locationCode)>
<!ELEMENT terminalCif (#PCDATA)>
<!ELEMENT terminalAditionalLocation (#PCDATA)>
<!ELEMENT locationCode (#PCDATA)>
<!ELEMENT GoodsDescription (TextCode, TextInfo)>
<!ELEMENT TextCode (#PCDATA)>
<!ELEMENT GovernmentalRequirements ((GovernmentalRequirement, GovernmentalRequirement, GovernmentalRequirement?, GovernmentalRequirement?, GovernmentalRequirement?, GovernmentalRequirement?, GovernmentalRequirement?, GovernmentalRequirement?, GovernmentalRequirement?, GovernmentalRequirement?))>
<!ELEMENT GovernmentalRequirement (transportMovementCoded, governmentActionCoded?)>
<!ELEMENT transportMovementCoded (#PCDATA)>
<!ELEMENT governmentActionCoded (#PCDATA)>
<!ELEMENT HandlingInstructions (handlingInstructionsCoded, handlingInstructions?)>
<!ELEMENT handlingInstructionsCoded (#PCDATA)>
<!ELEMENT handlingInstructions (#PCDATA)>
<!ELEMENT grossWeight (#PCDATA)>
<!ELEMENT totalGrossWeight (#PCDATA)>
<!ELEMENT Vessel (carrierCode?, carrierName?, lloyds, vesselName)>
<!ELEMENT carrierCode (#PCDATA)>
<!ELEMENT carrierName (#PCDATA)>
<!ELEMENT lloyds (#PCDATA)>
<!ELEMENT vesselName (#PCDATA)>
<!ELEMENT DangerousGoods (imdgClass, undgNumber, packingGroup, DgsTechnicalName, DgsAdditionalInformation?)>
<!ELEMENT imdgClass (#PCDATA)>
<!ELEMENT undgNumber (#PCDATA)>
<!ELEMENT packingGroup (#PCDATA)>
<!ELEMENT DgsTechnicalName ((dgsText, dgsText, dgsText?, dgsText?, dgsText?, dgsText?))>
<!ELEMENT DgsAdditionalInformation ((dgsText, dgsText, dgsText?, dgsText?, dgsText?, dgsText?))>
<!ELEMENT dgsText (#PCDATA)>
<!ELEMENT Temperature (temperatureMeasurementUnit, temperatureMeasurementValue, TemperatureRange?)>
<!ELEMENT temperatureMeasurementUnit (#PCDATA)>
<!ELEMENT temperatureMeasurementValue (#PCDATA)>
<!ELEMENT TemperatureRange (rangeMinimum, rangeMaximum)>
<!ELEMENT rangeMinimum (#PCDATA)>
<!ELEMENT rangeMaximum (#PCDATA)>

