<!-- DTD for submission of AP Ecert Eligibility Documents -->

<!ELEMENT EligibilityDocument
   (Form?,
   Status?,
   ControlTotal*,
   Issue?,
   Loading?,
   Departure?,
   EstimatedArrival?,
   Comment?,
   Consignee,
   FinalDestination?,
   Consignor,
   ThirdParty*,
   LoadingPort*,
   RelatedDocument*,
   Transport*,
   Product+,
   Approval*)>

<!ATTLIST EligibilityDocument
  number CDATA #REQUIRED
  exhaustion CDATA #IMPLIED>

<!ELEMENT Type (#PCDATA)>
<!ATTLIST Type
   code CDATA #REQUIRED>

<!ELEMENT Form (#PCDATA)>
<!ATTLIST Form
   code CDATA #REQUIRED>

<!ELEMENT Status (#PCDATA)>
<!ATTLIST Status
   code CDATA #REQUIRED>

<!ELEMENT ControlTotal (#PCDATA)>
<!ATTLIST ControlTotal
   type CDATA #REQUIRED
   value CDATA #REQUIRED>

<!ELEMENT Issue (Datetime)>

<!ELEMENT Datetime (#PCDATA)>
<!ATTLIST Datetime
   day CDATA #REQUIRED
   month CDATA #REQUIRED
   year CDATA #REQUIRED
   hour CDATA #IMPLIED
   minute CDATA #IMPLIED
   second CDATA #IMPLIED>

<!ELEMENT Loading (Date)>

<!ELEMENT Date (#PCDATA)>
<!ATTLIST Date
   day CDATA #IMPLIED
   month CDATA #IMPLIED
   year CDATA #IMPLIED>

<!ELEMENT Departure (Date)>

<!ELEMENT EstimatedArrival (Date)>

<!ELEMENT Comment (#PCDATA)>
<!ATTLIST Comment
   language CDATA #IMPLIED>

<!ELEMENT Consignee (Name?,Address*,Representative?)>
<!ATTLIST Consignee
   identifier CDATA #IMPLIED>

<!ELEMENT Name (#PCDATA)>

<!ELEMENT Address (#PCDATA)>
<!ATTLIST Address
   type CDATA #IMPLIED
   lineOne CDATA #IMPLIED
   lineTwo CDATA #IMPLIED
   lineThree CDATA #IMPLIED
   lineFour CDATA #IMPLIED
   lineFive CDATA #IMPLIED
   cityName CDATA #IMPLIED
   city CDATA #IMPLIED
   postcode CDATA #IMPLIED
   countrySubdivision CDATA #IMPLIED
   countryName CDATA #IMPLIED
   country CDATA #IMPLIED> 

<!ELEMENT Representative (#PCDATA)>

<!ELEMENT FinalDestination (#PCDATA)>
<!ATTLIST FinalDestination
   code CDATA #IMPLIED>

<!ELEMENT Consignor (Name?,Address*,Representative?)>
<!ATTLIST Consignor
   identifier CDATA #IMPLIED>

<!ELEMENT ThirdParty (Name?,Address*,Representative?)>
<!ATTLIST ThirdParty
   identifier CDATA #REQUIRED>

<!ELEMENT LoadingPort (#PCDATA)>
<!ATTLIST LoadingPort
   code CDATA #IMPLIED>

<!ELEMENT RelatedDocument (Purpose, Type?, Datetime?)>
<!ATTLIST RelatedDocument
   number CDATA #REQUIRED>

<!ELEMENT Purpose (#PCDATA)>
<!ATTLIST Purpose
   code CDATA #REQUIRED>

<!ELEMENT Transport
   (Mode,
   Type?,
   Craft?,
   ConveyanceRef?,
   Carrier?,
   TransportSeals*)>

<!ELEMENT Mode (#PCDATA)>
<!ATTLIST Mode
   code CDATA #REQUIRED>

<!ELEMENT Craft (#PCDATA)>

<!ELEMENT ConveyanceRef (#PCDATA)>

<!ELEMENT Carrier (Name?,Address*,Representative?)>

<!ELEMENT TransportSeals EMPTY>
<!ATTLIST TransportSeals
   start CDATA #REQUIRED
   end CDATA #REQUIRED>

<!ELEMENT Product (
   Description*,
   Preparation*,
   Species*,
   ScientificName?,
   IntendedUse?,
   Marks*,
   Lot?,
   Durability*,
   Comment*,
   Classification*,
   OriginSource*,
   Package*,
   Weight+,
   Document*,
   Container*,
   Storage?,
   Processing*)>
<!ATTLIST Product
   item CDATA #REQUIRED
   exhaustion CDATA #IMPLIED>

<!ELEMENT Description (#PCDATA)>
<!ATTLIST Description
   code CDATA #IMPLIED
   language CDATA #IMPLIED>

<!ELEMENT Preparation (#PCDATA)>
<!ATTLIST Preparation
   code CDATA #IMPLIED
   language CDATA #IMPLIED>

<!ELEMENT Species (#PCDATA)>
<!ATTLIST Species
   code CDATA #IMPLIED
   language CDATA #IMPLIED>

<!ELEMENT ScientificName (#PCDATA)>

<!ELEMENT IntendedUse (#PCDATA)>
<!ATTLIST IntendedUse
   code CDATA #IMPLIED>

<!ELEMENT Marks (#PCDATA)>

<!ELEMENT Lot (#PCDATA)>

<!ELEMENT Durability (Date)>

<!ELEMENT Classification (Class, Type)>

<!ELEMENT Class (#PCDATA)>
<!ATTLIST Class
   code CDATA #REQUIRED>

<!ELEMENT OriginSource (#PCDATA)>
<!ATTLIST OriginSource
   countryCode CDATA #REQUIRED
   region CDATA #IMPLIED>

<!ELEMENT Package (Type, Unit?)>
<!ATTLIST Package
   level CDATA #IMPLIED
   count CDATA #REQUIRED
   size CDATA #IMPLIED>

<!ELEMENT Unit (#PCDATA)>
<!ATTLIST Unit
   code CDATA #REQUIRED
   symbol CDATA #IMPLIED>

<!ELEMENT Weight (Type, Unit)>
<!ATTLIST Weight
   value CDATA #REQUIRED>

<!ELEMENT Document (Purpose?, Type?, Datetime?)>
<!ATTLIST Document
   number CDATA #REQUIRED
   item CDATA #REQUIRED
   inQuantity CDATA #IMPLIED
   outQuantity CDATA #REQUIRED>

<!ELEMENT Container EMPTY>
<!ATTLIST Container
   number CDATA #IMPLIED
   seal CDATA #IMPLIED>

<!ELEMENT Storage (Temperature?)>

<!ELEMENT Temperature (Unit)>
<!ATTLIST Temperature
   value CDATA #REQUIRED>

<!ELEMENT Processing (
   Type,
   StartDate?,
   EndDate?,
   Characteristic*,
   Locality?,
   Premises?)>
<!ATTLIST Processing
   dateOverride CDATA #IMPLIED>

<!ELEMENT StartDate (#PCDATA)>
<!ATTLIST StartDate
   day CDATA #IMPLIED
   month CDATA #IMPLIED
   year CDATA #IMPLIED>

<!ELEMENT EndDate (#PCDATA)>
<!ATTLIST EndDate
   day CDATA #IMPLIED
   month CDATA #IMPLIED
   year CDATA #IMPLIED>

<!ELEMENT Characteristic (Type, Unit, Description*)>
<!ATTLIST Characteristic
   value 	CDATA #REQUIRED>

<!ELEMENT Locality (#PCDATA)>
<!ATTLIST Locality
   code CDATA #IMPLIED
   partyIdentifier CDATA #IMPLIED
   type CDATA #REQUIRED>

<!ELEMENT Premises (Name?,Address*)>
<!ATTLIST Premises
   identifier CDATA #IMPLIED>

<!ELEMENT Approval (
   Type?,
   Name?,
   Qualifications?,
   Registration?,
   Role?,
   Comment?,
   Location?,
   Premises?,
   Datetime?,
   EndDatetime?)>
<!ATTLIST Approval
   form CDATA #IMPLIED>

<!ELEMENT Qualifications (#PCDATA)>

<!ELEMENT Registration (#PCDATA)>

<!ELEMENT Role (#PCDATA)>
<!ATTLIST Role
   code CDATA #REQUIRED>

<!ELEMENT Location (#PCDATA)>
<!ATTLIST Location
   code CDATA #IMPLIED>

<!ELEMENT EndDatetime (#PCDATA)>
<!ATTLIST EndDatetime
   day CDATA #REQUIRED
   month CDATA #REQUIRED
   year CDATA #REQUIRED
   hour CDATA #IMPLIED
   minute CDATA #IMPLIED
   second CDATA #IMPLIED>

