<?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT IFTMCS (IFTMCS.HEADER, IFTMCS.GROUP1?, IFTMCS.GROUP3+, IFTMCS.GROUP6?, IFTMCS.GROUP8, IFTMCS.GROUP11*, IFTMCS.GROUP18*, IFTMCS.GROUP35*)>
<!ELEMENT IFTMCS.HEADER (anxs_interchange.header, anxs_message.header, trsd_beginning.of.message, trsd_contact.information?, trsd_communication.contact?, trsd_date.time.period, trsd_transport.service.requirements?, trsd_efree.text*)>
<!ELEMENT IFTMCS.GROUP1 (trsd_place.locatione.identification)>
<!ELEMENT IFTMCS.GROUP3 (trcd_reference, trsd_date.time.period*)>
<!ELEMENT IFTMCS.GROUP6 (trsd_charge.payment.instructions, trsd_place.location.identification?)>
<!ELEMENT IFTMCS.GROUP8 (trsd_details.of.transport?, trsd_date.time.period?, IFTMCS.GROUP9+, IFTMCS.GROUP10?)>
<!ELEMENT IFTMCS.GROUP11 (trsd_name.and.address, IFTMCS.GROUP12*, IFTMCS.GROUP15?)>
<!ELEMENT IFTMCS.GROUP18 (trsd_goods.item.details, trsd_free.text*, IFTMCS.GROUP19*, IFTMCS.GROUP20*, IFTMCS.GROUP21*, IFTMCS.GROUP22?, IFTMCS.GROUP23*, IFTMCS.GROUP24*, IFTMCS.GROUP27*, IFTMCS.GROUP30*)>
<!ELEMENT IFTMCS.GROUP35 (trsd_equipment.details, trsd_measurements+, trsd_seal.number*, trsd_temperature*, trsd_free.text*)>
<!--UNB-->
<!ELEMENT anxs_interchange.header (anxe_syntax.identifier, anxe_syntax.version.number, anxe_sender.identification, anxe_address.for.reverse.routing?, anxe_recipient.identification, anxe_routing.address?, anxe.date, anxe.time, anxe_application.reference)>
<!ELEMENT anxe_syntax.identifier (#PCDATA)>
<!ELEMENT anxe_syntax.version.number (#PCDATA)>
<!ELEMENT anxe_sender.identification (#PCDATA)>
<!ELEMENT anxe_address.for.reverse.routing (#PCDATA)>
<!ELEMENT anxe_recipient.identification (#PCDATA)>
<!ELEMENT anxe_routing.address (#PCDATA)>
<!ELEMENT anxe.date (#PCDATA)>
<!ELEMENT anxe.time (#PCDATA)>
<!ELEMENT anxe_application.reference (#PCDATA)>
<!--UNH-->
<!ELEMENT anxs_message.header (anxe_message.reference.number, anxc_message.identifier, anxe_message.version.number, anxe_message.release.number, anxe_controlling.agency, anxe_association.assigned.code)>
<!ELEMENT anxe_message.reference.number (#PCDATA)>
<!ELEMENT anxc_message.identifier (#PCDATA)>
<!ELEMENT anxe_message.version.number (#PCDATA)>
<!ELEMENT anxe_message.release.number (#PCDATA)>
<!ELEMENT anxe_controlling.agency (#PCDATA)>
<!ELEMENT anxe_association.assigned.code (#PCDATA)>
<!--BGM-->
<!ELEMENT trsd_beginning.of.message (trcd_document.message.name, trcd_document.message.identification, tred_message.function.coded)>
<!ELEMENT trcd_document.message.name (#PCDATA)>
<!ELEMENT trcd_document.message.identification (#PCDATA)>
<!ELEMENT tred_message.function.coded (#PCDATA)>
<!--CTA-->
<!ELEMENT trsd_contact.information (tred_contact.function.coded, tred_department.or.employee)>
<!ELEMENT tred_contact.function.coded (#PCDATA)>
<!ELEMENT tred_department.or.employee (#PCDATA)>
<!--DTM-->
<!ELEMENT trsd_date.time.period (tred_date.time.period.qualifier, tred_date.time.period, tred_date.time.period.format.qualifier)>
<!ELEMENT tred_date.time.period.qualifier (#PCDATA)>
<!ELEMENT tred_date.time.period (#PCDATA)>
<!ELEMENT tred_date.time.period.format.qualifier (#PCDATA)>
<!-- TSR -->
<!ELEMENT trsd_transport.service.requirements (trcd_contract.and.carriage.condition, trcd_service?)>
<!-- Composite: C536 CONTRACT AND CARRIAGE CONDITION -->
<!ELEMENT trcd_contract.and.carriage.condition (tred_contract.and.carriage.condition.code)>
<!ELEMENT tred_contract.and.carriage.condition.code (#PCDATA)>
<!-- Composite: C233 SERVICE -->
<!ELEMENT trcd_service (tred_service.requirement.code)>
<!ELEMENT tred_service.requirement.code (#PCDATA)>
<!-- Composite: C537 TRANSPORT PRIORITY -->
<!ELEMENT trcd_transport.priority (tred_transport.priority.coded, tred_code.list.identification.code?, tred_code.list.responsible.agency.code?)>
<!ELEMENT tred_transport.priority.coded (#PCDATA)>
<!--ELEMENT tred_code.list.identification.code (#PCDATA)-->
<!--ELEMENT tred_code.list.responsible.agency.code (#PCDATA)-->
<!-- Composite: C703 NATURE OF CARGO -->
<!ELEMENT trcd_nature.of.cargo (tred_nature.of.cargo.coded, tred_code.list.identification.code?, tred_code.list.responsible.agency.code?)>
<!ELEMENT tred_nature.of.cargo.coded (#PCDATA)>
<!--ELEMENT tred_code.list.identification.code (#PCDATA)-->
<!--ELEMENT tred_code.list.responsible.agency.code (#PCDATA)-->
<!--FTX-->
<!ELEMENT trsd_free.text (tred_text.subject.qualifier, tred_free.text1, tred_free.text2?, tred_free.text3?, tred_free.text4?, tred_free.text5?)>
<!--FTXE-->
<!ELEMENT trsd_efree.text (tred_text.subject.qualifier, tred_text.function.coded?, tred_free.text1?, tred_free.text2?, tred_free.text3?, tred_free.text4?, tred_free.text5?)>
<!ELEMENT tred_text.subject.qualifier (#PCDATA)>
<!ELEMENT tred_text.function.coded (#PCDATA)>
<!ELEMENT tred_free.text1 (#PCDATA)>
<!ELEMENT tred_free.text2 (#PCDATA)>
<!ELEMENT tred_free.text3 (#PCDATA)>
<!ELEMENT tred_free.text4 (#PCDATA)>
<!ELEMENT tred_free.text5 (#PCDATA)>
<!--RFF-->
<!ELEMENT trcd_reference (tred_reference.qualifier, tred_reference.number)>
<!ELEMENT tred_reference.qualifier (#PCDATA)>
<!ELEMENT tred_reference.number (#PCDATA)>
<!--CPI-->
<!ELEMENT trsd_charge.payment.instructions (trcd_charge.category?, tred_transport.charges.method.of.payment.coded)>
<!ELEMENT trcd_charge.category (#PCDATA)>
<!ELEMENT tred_transport.charges.method.of.payment.coded (#PCDATA)>
<!--LOC-->
<!ELEMENT trsd_place.location.identification (tred_place.location.qualifier, tred_place.location?)>
<!ELEMENT tred_place.location.qualifier (#PCDATA)>
<!-- ELEMENT trcd_place.location (#PCDATA)-->
<!--TDT-->
<!ELEMENT trsd_details.of.transport (tred_transport.stage.qualifier, tred_conveyance.reference.number?, tred_mode.of.transport.coded, tred_id.of.the.means.of.transport?, tred_code.list.qualifier?, tred_code.list.responsible.agency.coded?, tred_id.of.means.of.transport.identification?, tred_nationality.of.means.of.transport.coded?)>
<!ELEMENT tred_transport.stage.qualifier (#PCDATA)>
<!ELEMENT tred_conveyance.reference.number (#PCDATA)>
<!ELEMENT tred_mode.of.transport.coded (#PCDATA)>
<!ELEMENT tred_id.of.the.means.of.transport (#PCDATA)>
<!ELEMENT tred_code.list.qualifier (#PCDATA)>
<!ELEMENT tred_code.list.responsible.agency.coded (#PCDATA)>
<!ELEMENT tred_id.of.means.of.transport.identification (#PCDATA)>
<!ELEMENT tred_nationality.of.means.of.transport.coded (#PCDATA)>
<!--Sub grupo del grupo 8-->
<!ELEMENT IFTMCS.GROUP9 (trsd_place.locatione.identification)>
<!--LOCE (loc extendido para el grupo 9. no aparece en el dtd global)-->
<!ELEMENT trsd_place.locatione.identification (tred_place.locatione.qualifier, tred_place.locatione.identification, tred_code.list.qualifier, tred_code.list.responsible.agency.coded, tred_place.location?, tred_related.place.location.one?)>
<!ELEMENT tred_place.locatione.qualifier (#PCDATA)>
<!ELEMENT tred_place.locatione.identification (#PCDATA)>
<!ELEMENT tred_place.location (#PCDATA)>
<!ELEMENT tred_related.place.location.one (#PCDATA)>
<!--Sub grupo del grupo 8-->
<!ELEMENT IFTMCS.GROUP10 (trcd_reference)>
<!--NAD-->
<!--Los campos tred_party.name2, tred_party.name3, tred_party.name4, tred_party.name5 estan obsoletos pero debemos mantenerlos paor compatibilidad con versiones anteriores.-->
<!ELEMENT trsd_name.and.address (tred_name.type.coded, tred_name.and.address.line1, tred_name.and.address.line2?, tred_name.and.address.line3?, tred_name.and.address.line4?, tred_name.and.address.line5?, tred_party.name1?, tred_party.name2?, tred_party.name3?, tred_party.name4?, tred_party.name5?, tred_postcode.identification?, tred_country.coded?, tred_city.name?)>
<!ELEMENT tred_name.type.coded (#PCDATA)>
<!ELEMENT tred_name.and.address.line1 (#PCDATA)>
<!ELEMENT tred_name.and.address.line2 (#PCDATA)>
<!ELEMENT tred_name.and.address.line3 (#PCDATA)>
<!ELEMENT tred_name.and.address.line4 (#PCDATA)>
<!ELEMENT tred_name.and.address.line5 (#PCDATA)>
<!ELEMENT tred_party.name1 (#PCDATA)>
<!ELEMENT tred_party.name2 (#PCDATA)>
<!ELEMENT tred_party.name3 (#PCDATA)>
<!ELEMENT tred_party.name4 (#PCDATA)>
<!ELEMENT tred_party.name5 (#PCDATA)>
<!ELEMENT tred_postcode.identification (#PCDATA)>
<!ELEMENT tred_country.coded (#PCDATA)>
<!ELEMENT tred_city.name (#PCDATA)>
<!--Sub grupo del grupo 11-->
<!ELEMENT IFTMCS.GROUP12 (trsd_contact.information, trsd_communication.contact?)>
<!--COM-->
<!ELEMENT trsd_communication.contact (tred_communication.number, tred_communication.channel.qualifier)>
<!ELEMENT tred_communication.number (#PCDATA)>
<!ELEMENT tred_communication.channel.qualifier (#PCDATA)>
<!ELEMENT IFTMCS.GROUP15 (trcd_reference)>
<!--GID-->
<!ELEMENT trsd_goods.item.details (tred_goods.item.number, tred_number.of.packages, tred_type.of.packages.identification)>
<!ELEMENT tred_goods.item.number (#PCDATA)>
<!ELEMENT tred_number.of.packages (#PCDATA)>
<!ELEMENT tred_type.of.packages.identification (#PCDATA)>
<!--Subgrupo del grupo 18-->
<!ELEMENT IFTMCS.GROUP19 (trsd_name.and.address)>
<!--Subgrupo del grupo 18-->
<!ELEMENT IFTMCS.GROUP20 (trsd_measurements)>
<!--MEA-->
<!ELEMENT trsd_measurements (tred_measurement.attribute, tred_measurement.dimension.coded?, tred_measure.unit.qualifier?, tred_measurement.value?)>
<!ELEMENT tred_measurement.attribute (#PCDATA)>
<!ELEMENT tred_measurement.dimension.coded (#PCDATA)>
<!ELEMENT tred_measurement.value (#PCDATA)>
<!--Subgrupo del grupo 18-->
<!ELEMENT IFTMCS.GROUP21 (trsd_dimensions, trsd_number.of.units?)>
<!--DIM-->
<!ELEMENT trsd_dimensions (tred_dimension.qualifier, tred_measure.unit.qualifier, tred_length.dimension, tred_width.dimension, tred_height.dimension)>
<!ELEMENT tred_dimension.qualifier (#PCDATA)>
<!ELEMENT tred_measure.unit.qualifier (#PCDATA)>
<!ELEMENT tred_length.dimension (#PCDATA)>
<!ELEMENT tred_width.dimension (#PCDATA)>
<!ELEMENT tred_height.dimension (#PCDATA)>
<!--EQN-->
<!ELEMENT trsd_number.of.units (trcd_number.of.unit.details)>
<!ELEMENT trcd_number.of.unit.details (#PCDATA)>
<!--Subgrupo del grupo 18-->
<!ELEMENT IFTMCS.GROUP22 (trsd_reference)>
<!--RFF-->
<!ELEMENT trsd_reference (tred_reference.qualifier, tred_reference.number)>
<!--Subgrupo del grupo 18-->
<!ELEMENT IFTMCS.GROUP23 (trsd_package.identification)>
<!--PCI-->
<!ELEMENT trsd_package.identification (tred_marking.instructions.coded, tred_shipping.marks1?, tred_shipping.marks2?, tred_shipping.marks3?, tred_shipping.marks4?, tred_shipping.marks5?, tred_shipping.marks6?, tred_shipping.marks7?, tred_shipping.marks8?, tred_shipping.marks9?, tred_shipping.marks10?)>
<!ELEMENT tred_marking.instructions.coded (#PCDATA)>
<!ELEMENT tred_shipping.marks1 (#PCDATA)>
<!ELEMENT tred_shipping.marks2 (#PCDATA)>
<!ELEMENT tred_shipping.marks3 (#PCDATA)>
<!ELEMENT tred_shipping.marks4 (#PCDATA)>
<!ELEMENT tred_shipping.marks5 (#PCDATA)>
<!ELEMENT tred_shipping.marks6 (#PCDATA)>
<!ELEMENT tred_shipping.marks7 (#PCDATA)>
<!ELEMENT tred_shipping.marks8 (#PCDATA)>
<!ELEMENT tred_shipping.marks9 (#PCDATA)>
<!ELEMENT tred_shipping.marks10 (#PCDATA)>
<!--Subgrupo del grupo 18-->
<!ELEMENT IFTMCS.GROUP24 (trsd_document.message.details)>
<!--DOC-->
<!ELEMENT trsd_document.message.details (tred_reference.qualifier, tred_reference.number)>
<!--Subgrupo del grupo 18-->
<!ELEMENT IFTMCS.GROUP27 (trsd_split.goods.placement)>
<!--SGP-->
<!ELEMENT trsd_split.goods.placement (trcd_equipment.identification, tred_number.of.packages?)>
<!ELEMENT trcd_equipment.identification (#PCDATA)>
<!--Subgrupo del grupo 18-->
<!ELEMENT IFTMCS.GROUP30 (trsd_dangerous.goods, trsd_free.text+)>
<!--DGS-->
<!ELEMENT trsd_dangerous.goods (tred_dangerous.goods.regulations.coded, tred_hazard.code?, tred_undg.number, tred_dangerous.goods.flashpoint?, tred_packing.group.coded?, tred_ems.number?, tred_mfag?, tred_trem.card.number?)>
<!ELEMENT tred_hazard.code (tred_hazard.code.identification, tred_hazard.substance.item.page.number?, tred_hazard.code.version.number?)>
<!ELEMENT tred_dangerous.goods.regulations.coded (#PCDATA)>
<!ELEMENT tred_hazard.code.identification (#PCDATA)>
<!ELEMENT tred_hazard.substance.item.page.number (#PCDATA)>
<!ELEMENT tred_hazard.code.version.number (#PCDATA)>
<!ELEMENT tred_undg.number (#PCDATA)>
<!ELEMENT tred_dangerous.goods.flashpoint (#PCDATA)>
<!ELEMENT tred_packing.group.coded (#PCDATA)>
<!ELEMENT tred_ems.number (#PCDATA)>
<!ELEMENT tred_mfag (#PCDATA)>
<!ELEMENT tred_trem.card.number (#PCDATA)>
<!--EQD-->
<!ELEMENT trsd_equipment.details (tred_equipment.qualifier, tred_equipment.identification.number?, tred_equipment.size.and.type.identification?, tred_equipment.supplier.coded?, tred_full.empty.indicator.coded?)>
<!ELEMENT tred_equipment.qualifier (#PCDATA)>
<!ELEMENT tred_equipment.identification.number (#PCDATA)>
<!ELEMENT tred_equipment.size.and.type.identification (#PCDATA)>
<!ELEMENT tred_equipment.supplier.coded (#PCDATA)>
<!ELEMENT tred_full.empty.indicator.coded (#PCDATA)>
<!--SEL-->
<!ELEMENT trsd_seal.number (tred_seal.number, tred_sealing.party.coded?)>
<!ELEMENT tred_seal.number (#PCDATA)>
<!ELEMENT tred_sealing.party.coded (#PCDATA)>
<!--TMP-->
<!ELEMENT trsd_temperature (tred_temperature.qualifier, tred_temperature.setting, tred_measure.unit.qualifier)>
<!ELEMENT tred_temperature.qualifier (#PCDATA)>
<!ELEMENT tred_temperature.setting (#PCDATA)>
<!--ELEMENT tred_measure.unit.qualifier (#PCDATA)-->

