aktueller Stand
This commit is contained in:
parent
87c54023c1
commit
6876ef0d87
Binary file not shown.
25
nsw/HIS-NORD/xsd.assert/bpol_reeder.xsd
Normal file
25
nsw/HIS-NORD/xsd.assert/bpol_reeder.xsd
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:complexType name="bpol">
|
||||
<xs:sequence>
|
||||
<xs:element name="StowawayOnBoard" type="yorn-type"/>
|
||||
<xs:element name="PortsOfItinery" type="portsofitinery" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="portsofitinery">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfItinery" type="portofitinery" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="portofitinery">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfItineryName" type="string1-99-type"/>
|
||||
<xs:element name="PortOfItineryETA" type="xs:dateTime"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
32
nsw/HIS-NORD/xsd.assert/crew_reeder.xsd
Normal file
32
nsw/HIS-NORD/xsd.assert/crew_reeder.xsd
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="crew">
|
||||
<xs:sequence>
|
||||
<xs:element name="CrewMembers" type="crewmembers"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="crewmembers">
|
||||
<xs:sequence>
|
||||
<xs:element name="CrewMember" type="crewmember" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="crewmember">
|
||||
<xs:sequence>
|
||||
<xs:element name="CrewMemberLastName" type="string1-99-type"/>
|
||||
<xs:element name="CrewMemberFirstName" type="string1-99-type"/>
|
||||
<xs:element name="CrewMemberPlaceOfBirth" type="string1-99-type"/>
|
||||
<xs:element name="CrewMemberDateOfBirth" type="xs:date"/>
|
||||
<xs:element name="CrewMemberGender" type="gender-type" minOccurs="0"/>
|
||||
<xs:element name="CrewMemberNationality" type="flag-type"/>
|
||||
<xs:element name="CrewMemberIdentityDocumentType" type="document-type"/>
|
||||
<xs:element name="CrewMemberIdentityDocumentId" type="string1-99-type"/>
|
||||
<xs:element name="CrewMemberVisaNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="CrewMemberDuty" type="string1-99-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
803
nsw/HIS-NORD/xsd.assert/his-nord_nsw_v-1-0_all_reeder.xsd
Normal file
803
nsw/HIS-NORD/xsd.assert/his-nord_nsw_v-1-0_all_reeder.xsd
Normal file
@ -0,0 +1,803 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.07.2015 -->
|
||||
<!-- XML Schema:data exchange NSW - german ports optionale Meldetypen-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="serv_reeder.xsd"/>
|
||||
<xs:include schemaLocation="prearrival72_reeder.xsd"/>
|
||||
<xs:include schemaLocation="sec_reeder.xsd"/>
|
||||
<xs:include schemaLocation="mdh_reeder.xsd"/>
|
||||
<xs:include schemaLocation="waste_reeder.xsd"/>
|
||||
<xs:include schemaLocation="bpol_reeder.xsd"/>
|
||||
<xs:include schemaLocation="pas_reeder.xsd"/>
|
||||
<xs:include schemaLocation="crew_reeder.xsd"/>
|
||||
<xs:include schemaLocation="tow_reeder.xsd"/>
|
||||
|
||||
<xs:element name="nsw" type="nsw"/>
|
||||
|
||||
<xs:complexType name="nsw">
|
||||
<xs:sequence>
|
||||
<xs:element name="conveyance" type="conveyance"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="xml_version" type="xs:string" use="required" fixed="HIS-NORD NSW_V1-0"/>
|
||||
<xs:attribute name="protect_version" type="xs:string" use="required" fixed="PROTE11"/>
|
||||
<xs:attribute name="date_registration" type="xs:dateTime" use="required"/>
|
||||
<xs:attribute name="message_sender" type="xs:string" use="required"/>
|
||||
<xs:attribute name="message_recipient" type="xs:string" use="required"/>
|
||||
<xs:attribute name="document_reference" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="conveyance">
|
||||
<xs:sequence>
|
||||
<xs:choice id="visit">
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="VisitId" type="visitid-type"/>
|
||||
<xs:element name="TransitId" type="transitid-type"/>
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="referenceid-type" minOccurs="0"/>
|
||||
<xs:element name="code" type="string1-99-type"/>
|
||||
</xs:sequence>
|
||||
</xs:choice>
|
||||
|
||||
<xs:element name="owner_sender" type="broker_owner"/>
|
||||
|
||||
<xs:element name="vessel" type="vessel-type"/>
|
||||
|
||||
<xs:choice id="noanod">
|
||||
<xs:element name="Import" type="import"/>
|
||||
<xs:element name="Export" type="export"/>
|
||||
<xs:element name="Transit" type="transit"/>
|
||||
</xs:choice>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="PersonsOnBoard" type="pob"/>
|
||||
|
||||
<xs:element name="NameOfMaster" type="string1-99-type" minOccurs="0"/>
|
||||
|
||||
<xs:element name="Draught_DMT" type="posfloat-type" minOccurs="0"/>
|
||||
|
||||
<xs:element name="Info" type="info" minOccurs="0"/>
|
||||
|
||||
<xs:element name="BunkerFuelList" type="bunker-type" minOccurs="0"/>
|
||||
|
||||
<xs:choice id="hza" minOccurs="0">
|
||||
<xs:element name="NoHazmatOnBoard" type="y-type"/>
|
||||
<xs:sequence>
|
||||
<xs:element name="HazmatCargoManifestOnBoard" type="yorn-type"/>
|
||||
<xs:element name="INFClass" type="infclass-type" minOccurs="0"/>
|
||||
<xs:element name="DGCodes" type="dgcodes"/>
|
||||
</xs:sequence>
|
||||
</xs:choice>
|
||||
|
||||
<xs:element name="GeneralCargo" type="generalcargo" minOccurs="0"/>
|
||||
|
||||
<!--OPTIONALE MELDETYPEN-->
|
||||
<xs:element name="Serv" type="serv" minOccurs="0"/>
|
||||
|
||||
<xs:element name="Pre72H" type="pre72" minOccurs="0"/>
|
||||
|
||||
<xs:choice id="sec" minOccurs="0">
|
||||
<xs:sequence>
|
||||
<xs:element name="SECSimplification" type="y-type"/>
|
||||
<xs:element name="PortOfCallWhereCompleteSECNotified" type="locode-type"/>
|
||||
</xs:sequence>
|
||||
<xs:element name="SEC" type="sec"/>
|
||||
</xs:choice>
|
||||
|
||||
<xs:choice id="mdh" minOccurs="0">
|
||||
<xs:sequence>
|
||||
<xs:element name="MDHSimplification" type="y-type"/>
|
||||
<xs:element name="PortOfCallWhereCompleteMDHNotified" type="locode-type"/>
|
||||
</xs:sequence>
|
||||
<xs:element name="MDH" type="mdh"/>
|
||||
</xs:choice>
|
||||
|
||||
<xs:choice id="was" minOccurs="0">
|
||||
<xs:element name="WasteDisposalValidExemption" type="y-type"/>
|
||||
<xs:element name="Waste" type="was"/>
|
||||
</xs:choice>
|
||||
|
||||
<xs:element name="BPOL" type="bpol" minOccurs="0"/>
|
||||
|
||||
<xs:element name="PAS" type="pas" minOccurs="0"/>
|
||||
|
||||
<xs:element name="CREW" type="crew" minOccurs="0"/>
|
||||
|
||||
<xs:element name="TOWS" type="tows" minOccurs="0"/>
|
||||
|
||||
</xs:sequence>
|
||||
<xs:assert test="if ((count(NoHazmatOnBoard) eq 1) or (count(HazmatCargoManifestOnBoard) eq 0)) then empty(GeneralCargo/LoadUnit/LocationOnBoard) and
|
||||
empty(GeneralCargo/LoadUnit/PortOfLoadingLocode) and empty(GeneralCargo/LoadUnit/PortOfDischargeLocode)
|
||||
and empty(GeneralCargo/LoadUnit/DGList)
|
||||
else GeneralCargo/LoadUnit/LocationOnBoard and GeneralCargo/LoadUnit/PortOfLoadingLocode
|
||||
and GeneralCargo/LoadUnit/PortOfDischargeLocode and GeneralCargo/LoadUnit/DGList"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="bunker-type">
|
||||
<xs:sequence>
|
||||
<xs:element name="BunkerFuel" type="bunkerfuel" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="bunkerfuel">
|
||||
<xs:sequence>
|
||||
<xs:element name="Name" type="string1-99-type"/>
|
||||
<xs:element name="NetMassTNE" type="posfloat-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="dgcodes">
|
||||
<xs:sequence>
|
||||
<xs:element name="DGCode" type="dgcode-type" maxOccurs="6"/>
|
||||
</xs:sequence>
|
||||
<xs:assert test="count(DGCode[text()='IMDG']) le 1 and count(DGCode[text()='IMDG_MoU']) le 1 and count(DGCode[text()='IBC']) le 1 and
|
||||
count(DGCode[text()='MARPOL_ANNEX_I']) le 1 and count(DGCode[text()='IGC']) le 1 and count(DGCode[text()='IMSBC']) le 1"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="generalcargo">
|
||||
<xs:sequence>
|
||||
<xs:element name="LoadUnit" type="loadunit" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="loadunit">
|
||||
<xs:sequence>
|
||||
<xs:element name="HandlingCode" type="handlingcode-type"/>
|
||||
<xs:element name="LocationOnBoard" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="PortOfLoadingLocode" type="locode-type" minOccurs="0"/>
|
||||
<xs:element name="PortOfDischargeLocode" type="locode-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="CargoCodeNST" type="cargocode-type"/>
|
||||
<xs:element name="CargoNumberOfItems" type="posint-type" minOccurs="0"/>
|
||||
<xs:element name="CargoGrossQuantity_TNE" type="posfloat-type"/>
|
||||
<xs:element name="DGList" type="dglist" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="dglist">
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element name="LoadPositionIMDG" type="position-imdg" maxOccurs="unbounded"/>
|
||||
<xs:element name="LoadPositionIBC" type="position-ibc" maxOccurs="unbounded"/>
|
||||
<xs:element name="LoadPositionIGC" type="position-igc" maxOccurs="unbounded"/>
|
||||
<xs:element name="LoadPositionMARPOL" type="position-marpol" maxOccurs="unbounded"/>
|
||||
<xs:element name="LoadPositionIMSBC" type="position-imsbc" maxOccurs="unbounded"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-imdg">
|
||||
<xs:sequence>
|
||||
<xs:element name="UNNumber" type="unnumber-type"/>
|
||||
<xs:element name="IMOClass" type="imoclass-type"/>
|
||||
<xs:element name="PackingGroup" type="packinggroup-type" minOccurs="0"/>
|
||||
<xs:element name="TechnicalName" type="string1-255-type" minOccurs="0"/>
|
||||
<xs:element name="NetMassKGM" type="posfloat-type" minOccurs="0"/>
|
||||
<xs:element name="GrossMassKGM" type="posfloat-type" minOccurs="0"/>
|
||||
<xs:element name="CubeMTQ" type="posfloat-type" minOccurs="0"/>
|
||||
<xs:element name="NumberOfPackages" type="posint-type"/>
|
||||
<xs:choice maxOccurs="3">
|
||||
<xs:element name="PackageName" type="string1-99-type"/>
|
||||
<xs:element name="PackageCode" type="string1-24-type"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="PackageType" type="string1-99-type"/>
|
||||
</xs:choice>
|
||||
<xs:element name="LimitedQuantities" type="yorn-type"/>
|
||||
<xs:element name="ExceptedQuantities" type="yorn-type"/>
|
||||
<xs:element name="Class1NEW_KGM" type="posfloat0-type" minOccurs="0"/>
|
||||
<xs:element name="FlashpointCEL" type="flashpointcel-type" minOccurs="0"/>
|
||||
<xs:element name="ControlTempCEL" type="xs:float" minOccurs="0"/>
|
||||
<xs:element name="EmergencyTempCEL" type="xs:float" minOccurs="0"/>
|
||||
<xs:element name="Class7NuclideName" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="Class7MaxActivityBQL" type="posfloat0-type" minOccurs="0"/>
|
||||
<xs:element name="Class7Category" type="class7cat-type" minOccurs="0"/>
|
||||
<xs:element name="Class7TI" type="class7ti-type" minOccurs="0"/>
|
||||
<xs:element name="Class7CSI" type="class7csi-type" minOccurs="0"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="CompatibilityGroup" type="class1cg-type" minOccurs="0"/>
|
||||
<xs:element name="ProperShippingName" type="string1-255-type"/>
|
||||
<xs:element name="SubsidiaryRisks" type="subsidiaryrisks" minOccurs="0"/>
|
||||
<xs:element name="MarinePollutant" type="yorn-type"/>
|
||||
<xs:element name="GeneralCargoIBC" type="yorn-type" minOccurs="0"/>
|
||||
<xs:element name="ContainerNumber" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="VehicleLicenseNumber" type="string1-24-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
<xs:assert test="count(NetMassKGM) + count(GrossMassKGM) + count(CubeMTQ) ge 1"/>
|
||||
<xs:assert test="count(PackageName) le 1 and count(PackageCode) le 1 and count(PackageType) le 1"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-ibc">
|
||||
<xs:sequence>
|
||||
<xs:element name="Name" type="string1-255-type"/>
|
||||
<xs:element name="SpecRef15_19" type="yorn-type" minOccurs="0"/>
|
||||
<xs:element name="PollutionCategory" type="polcat-type"/>
|
||||
<xs:element name="NetMassKGM" type="posfloat-type"/>
|
||||
<xs:element name="FlashpointInfo" type="flashpointinfo-type"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="Hazards" type="hazard-type" minOccurs="0"/>
|
||||
<xs:element name="FlashpointCEL" type="flashpointcel-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
<xs:assert test="if (FlashpointInfo eq 'LE60CEL') then FlashpointCEL else empty(FlashpointCEL)"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-igc">
|
||||
<xs:sequence>
|
||||
<xs:element name="UNNumber" type="unnumber-type" minOccurs="0"/>
|
||||
<xs:element name="Name" type="string1-255-type"/>
|
||||
<xs:element name="NetMassKGM" type="posfloat-type"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="IMOClass" type="imoclass-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-marpol">
|
||||
<xs:sequence>
|
||||
<xs:element name="Name" type="string1-255-type"/>
|
||||
<xs:element name="NetMassKGM" type="posfloat-type"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="FlashpointInformation" type="flashpointinfo-type"/>
|
||||
<xs:element name="Flashpoint_CEL" type="flashpointcel-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
<xs:assert test="if (FlashpointInformation eq 'LE60CEL') then Flashpoint_CEL else empty(Flashpoint_CEL)"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-imsbc">
|
||||
<xs:sequence>
|
||||
<xs:element name="UNNumber" type="unnumber-type" minOccurs="0"/>
|
||||
<xs:element name="Name" type="string1-255-type"/>
|
||||
<xs:element name="MHB" type="yorn-type" />
|
||||
<xs:element name="NetMassKGM" type="posfloat-type"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="IMOClass" type="imoclass-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
<xs:assert test="if (MHB eq 'N') then UNNumber and IMOClass else empty(UNNumber) and empty(IMOClass)"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="import">
|
||||
<xs:sequence>
|
||||
<xs:element name="LastPort" type="lastport"/>
|
||||
<xs:element name="PortOfCall" type="portofcallhazmat"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="export">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfCall" type="portofcallhazmat"/>
|
||||
<xs:element name="NextPort" type="nextporthazmat" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="transit">
|
||||
<xs:sequence>
|
||||
<xs:element name="LastPort" type="lastport"/>
|
||||
<xs:element name="NextPort" type="nextporthazmat" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="lastport">
|
||||
<xs:sequence>
|
||||
<xs:element name="Locode" type="locode-type" default="ZZUKN"/>
|
||||
<xs:element name="ETD" type="xs:dateTime" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:assert test="if (Locode eq 'ZZUKN') then empty(ETD) else ETD"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="portofcallhazmat">
|
||||
<xs:sequence>
|
||||
<xs:element name="Locode" type="locode-type"/>
|
||||
<xs:element name="ETA" type="xs:dateTime"/>
|
||||
<xs:element name="ETD" type="xs:dateTime"/>
|
||||
<xs:element name="ATA" type="xs:dateTime" minOccurs="0"/>
|
||||
<xs:element name="ATD" type="xs:dateTime" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="CallPurposes" type="callpurposes" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="nextporthazmat">
|
||||
<xs:sequence>
|
||||
<xs:element name="Locode" type="locode-type" default="ZZUKN"/>
|
||||
<xs:element name="ETA" type="xs:dateTime" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:assert test="if (Locode eq 'ZZUKN') then empty(ETA) else ETA"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="vessel-type">
|
||||
<xs:sequence>
|
||||
<xs:element name="IMONumber" type="imonumber-type" minOccurs="0"/>
|
||||
<xs:element name="CallSign" type="callsign-type"/>
|
||||
<xs:element name="MMSINumber" type="mmsinumber-type"/>
|
||||
<xs:element name="ENINumber" type="eninumber-type" minOccurs="0"/>
|
||||
<xs:element name="ShipName" type="string1-99-type"/>
|
||||
<xs:element name="Flag" type="flag-type"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="LengthOverall_MTR" type="posfloat-type"/>
|
||||
<xs:element name="Beam_MTR" type="posfloat-type"/>
|
||||
<xs:element name="GrossTonnage" type="posint-type"/>
|
||||
<xs:element name="PortOfRegistry" type="locode-type"/>
|
||||
<xs:element name="InmarsatCallNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ShipType" type="ship-type"/>
|
||||
<xs:element name="ISMCompany" type="ismcompany" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:assert test="count(IMONumber) + count(ENINumber) eq 1"/>
|
||||
<xs:assert test="if (GrossTonnage/number() ge 500) then ISMCompany else true()"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="broker_owner">
|
||||
<xs:sequence>
|
||||
<xs:element name="name_short" type="string1-99-type"/>
|
||||
<xs:element name="name_long" type="string1-99-type"/>
|
||||
<xs:element name="address" type="address-type"/>
|
||||
<xs:element name="contact" type="contacts"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="contacts">
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="string1-99-type"/>
|
||||
<xs:element name="firstname" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="phone" type="string1-99-type"/>
|
||||
<xs:element name="fax" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="email" type="string1-99-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="packages">
|
||||
<xs:sequence>
|
||||
<xs:element name="numberofpackages" type="xs:integer"/>
|
||||
<xs:element name="packagediscription" type="xs:string"/>
|
||||
<xs:element name="packagecode" type="xs:string" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="measure">
|
||||
<xs:sequence>
|
||||
<xs:element name="dimension" type="xs:string"/>
|
||||
<xs:element name="value" type="xs:string"/>
|
||||
<xs:element name="kind" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="class7">
|
||||
<xs:sequence>
|
||||
<xs:element name="radioactivity" type="measure"/>
|
||||
<xs:element name="criticalindex" type="measure"/>
|
||||
<xs:element name="transportindex" type="measure"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="address-type">
|
||||
<xs:sequence>
|
||||
<xs:element name="StreetNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="Place" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="PostCode" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="Locode" type="locode-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:complexType name="callpurposes">
|
||||
<xs:sequence>
|
||||
<xs:element name="CallPurpose" type="callpurpose" maxOccurs="9" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="callpurpose">
|
||||
<xs:sequence>
|
||||
<xs:element name="CallPurposeCode" type="callpurposecode-type"/>
|
||||
<xs:element name="CallPurposeDescription" type="string1-99-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="ismcompany">
|
||||
<xs:sequence>
|
||||
<xs:element name="ISMCompanyName" type="string1-99-type"/>
|
||||
<xs:element name="ISMCompanyId" type="companyid-type"/>
|
||||
<xs:element name="ISMCompanyStreetAndNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ISMCompanyPostalCode" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="ISMCompanyCity" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ISMCompanyCountry" type="string1-99-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="pob">
|
||||
<xs:sequence>
|
||||
<xs:element name="TotalPersonsOnBoard" type="pob-type"/>
|
||||
<xs:element name="TotalCrewMembersOnBoard" type="posint-type"/>
|
||||
<xs:element name="TotalPassengersOnBoard" type="posint0-type"/>
|
||||
<xs:element name="TotalStowawaysOnBoard" type="posint0-type"/>
|
||||
</xs:sequence>
|
||||
<xs:assert test="(TotalCrewMembersOnBoard + TotalPassengersOnBoard + TotalStowawaysOnBoard) eq TotalPersonsOnBoard"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="info">
|
||||
<xs:sequence>
|
||||
<xs:element name="ShippingArea" type="shippingarea-type"/>
|
||||
<xs:element name="RequestedPositionInPortOfCall" type="string1-99-type"/>
|
||||
<xs:element name="SpecialRequirementsOfShipAtBerth" type="string1-255-type" minOccurs="0"/>
|
||||
<xs:element name="ConstructionCharacteristicsOfShip" type="string0-99-type" minOccurs="0"/>
|
||||
<xs:element name="FumigatedBulkCargo" type="yorn-type"/>
|
||||
<xs:element name="DeadWeightSummer_TNE" type="xs:float" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="subsidiaryrisks">
|
||||
<xs:sequence>
|
||||
<xs:element name="SubsidiaryRisk" type="risk-type" minOccurs="1" maxOccurs="5"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- ============ simple types ============ -->
|
||||
<xs:simpleType name="callsign-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='4' />
|
||||
<xs:maxLength value='7' />
|
||||
<xs:pattern value="[A-Za-z0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="class7csi-type">
|
||||
<xs:restriction base='xs:integer'>
|
||||
<xs:minInclusive value="0"/>
|
||||
<xs:maxInclusive value="100"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="class7ti-type">
|
||||
<xs:restriction base='xs:float'>
|
||||
<xs:minInclusive value="0" />
|
||||
<xs:maxInclusive value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="email-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='5' />
|
||||
<xs:maxLength value='100' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="eninumber-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='8' />
|
||||
<xs:maxLength value='8' />
|
||||
<xs:pattern value="[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="flag-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='2' />
|
||||
<xs:maxLength value='2' />
|
||||
<xs:pattern value="[A-Z]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="imoclass-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
<xs:maxLength value="10" />
|
||||
<xs:pattern value="[0-9A-Z\.]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="imonumber-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="7" />
|
||||
<xs:maxLength value="7" />
|
||||
<xs:pattern value="[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="locode-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='5' />
|
||||
<xs:maxLength value='5' />
|
||||
<xs:pattern value="[A-Z][A-Z][A-Z0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="mmsinumber-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='9' />
|
||||
<xs:maxLength value='10' />
|
||||
<xs:pattern value="[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="ship-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='2'/>
|
||||
<xs:maxLength value='3'/>
|
||||
<xs:pattern value="[A-Z0-9]*"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="phonefax-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='2' />
|
||||
<xs:maxLength value='50' />
|
||||
<xs:pattern value="[\+]{0,1}[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="pob-type">
|
||||
<xs:restriction base='xs:integer'>
|
||||
<xs:minInclusive value="1" />
|
||||
<xs:maxInclusive value="99998" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posint-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minExclusive value="0" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="unnumber-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="4" />
|
||||
<xs:maxLength value="4" />
|
||||
<xs:pattern value="[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="version-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='3' />
|
||||
<xs:maxLength value='10' />
|
||||
<xs:pattern value="[0-9]*.[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posfloat-type">
|
||||
<xs:restriction base="xs:float">
|
||||
<xs:minExclusive value="0" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="referencecode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='32' />
|
||||
<xs:pattern value="[0-9a-zA-Z]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="referenceid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='0' />
|
||||
<xs:maxLength value='100' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string1-24-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='24' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string1-99-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='99' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string1-255-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='255' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:simpleType name="callpurposecode-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="1"/>
|
||||
<xs:maxExclusive value="1000"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="class1cg-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='1' />
|
||||
<xs:pattern value="[A-Z]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="companyid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='7'/>
|
||||
<xs:maxLength value='7'/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="flashpointcel-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='1'/>
|
||||
<xs:maxLength value='10'/>
|
||||
<xs:pattern value="[<>]?[\-]?[0-9]+(\.[0-9]+)?"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="risk-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
<xs:maxLength value="11" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="cargocode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='2'/>
|
||||
<xs:maxLength value='2'/>
|
||||
<xs:pattern value="[0-9]+"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="visitid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="DE[A-Z]{3}-[0-9]{4}-[A-Z]{6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="transitid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="ZZNOK-[0-9]{4}-[A-Z]{6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string0-99-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='0' />
|
||||
<xs:maxLength value='99' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posint0-type">
|
||||
<xs:restriction base='xs:integer'>
|
||||
<xs:minInclusive value="0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posfloat0-type">
|
||||
<xs:restriction base='xs:float'>
|
||||
<xs:minInclusive value="0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- ======== simple types - enumerations =========== -->
|
||||
<xs:simpleType name="class7cat-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="1" />
|
||||
<xs:enumeration value="2" />
|
||||
<xs:enumeration value="3" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="dgcode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="IMDG"/>
|
||||
<xs:enumeration value="IMDG_MoU"/>
|
||||
<xs:enumeration value="IBC"/>
|
||||
<xs:enumeration value="MARPOL_ANNEX_I"/>
|
||||
<xs:enumeration value="IGC"/>
|
||||
<xs:enumeration value="IMSBC"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="flashpointinfo-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="NF" />
|
||||
<xs:enumeration value="GT60CEL" />
|
||||
<xs:enumeration value="LE60CEL" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="handlingcode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="LOAD"/>
|
||||
<xs:enumeration value="DISCHARGE"/>
|
||||
<!--neu 02.07.2015-->
|
||||
<xs:enumeration value="TRANSIT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="infclass-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="1"/>
|
||||
<xs:enumeration value="2"/>
|
||||
<xs:enumeration value="3"/>
|
||||
<xs:enumeration value="INF1"/>
|
||||
<xs:enumeration value="INF2"/>
|
||||
<xs:enumeration value="INF3"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="packinggroup-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="1" />
|
||||
<xs:enumeration value="2" />
|
||||
<xs:enumeration value="3" />
|
||||
<xs:enumeration value="I" />
|
||||
<xs:enumeration value="II" />
|
||||
<xs:enumeration value="III" />
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:enumeration value="NONE" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="polcat-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="X" />
|
||||
<xs:enumeration value="Y" />
|
||||
<xs:enumeration value="Z" />
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:enumeration value="OS" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="yorn-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Y" />
|
||||
<xs:enumeration value="N" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:simpleType name="shippingarea-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="NORTH_BALTIC_SEA"/>
|
||||
<xs:enumeration value="EUROPE"/>
|
||||
<xs:enumeration value="OVERSEAS"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="hazard-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="P"/>
|
||||
<xs:enumeration value="S"/>
|
||||
<xs:enumeration value="S/P"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="y-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Y"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="gender-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MALE"/>
|
||||
<xs:enumeration value="FEMALE"/>
|
||||
<xs:enumeration value="OTHER"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="document-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="IDENTITY_CARD"/>
|
||||
<xs:enumeration value="PASSPORT"/>
|
||||
<xs:enumeration value="MUSTER_BOOK"/>
|
||||
<xs:enumeration value="PICTURE_ID"/>
|
||||
<xs:enumeration value="RESIDENTAL_PERMIT"/>
|
||||
<xs:enumeration value="OTHER_LEGAL_IDENTITY_DOCUMENT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posint1-3-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:enumeration value="1"/>
|
||||
<xs:enumeration value="2"/>
|
||||
<xs:enumeration value="3"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
82
nsw/HIS-NORD/xsd.assert/mdh_reeder.xsd
Normal file
82
nsw/HIS-NORD/xsd.assert/mdh_reeder.xsd
Normal file
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:complexType name="mdh">
|
||||
<xs:sequence>
|
||||
<xs:element name="NonAccidentialDeathsDuringVoyage" type="yorn-type"/>
|
||||
<xs:element name="NonAccidentialDeathsDuringVoyageCount" type="posint-type" minOccurs="0"/>
|
||||
<xs:element name="SuspisionInfectiousNature" type="yorn-type"/>
|
||||
<xs:element name="NumberOfIllPersonsHigherThanExpected" type="yorn-type"/>
|
||||
<xs:element name="NumberOfIllPersons" type="posint-type" minOccurs="0"/>
|
||||
<xs:element name="SickPersonOnBoard" type="yorn-type"/>
|
||||
<xs:element name="MedicalConsulted" type="yorn-type"/>
|
||||
<xs:element name="AwareOfConditionsForFurtherInfections" type="yorn-type"/>
|
||||
<xs:element name="SanitaryMeasuresApplied" type="yorn-type"/>
|
||||
<xs:element name="SanitaryMeasuresDetails" type="sanitarydetails" minOccurs="0"/>
|
||||
<xs:element name="StowawaysDetected" type="yorn-type"/>
|
||||
<xs:element name="StowawayJoiningLocation" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="SickAnimalOrPetOnBoard" type="yorn-type"/>
|
||||
<xs:element name="ValidSanitaryControlExemptionOrCertificateOnBoard" type="yorn-type"/>
|
||||
<xs:element name="ValidSanitaryControlExemptionOrCertificate" type="sanitarycertificate" minOccurs="0"/>
|
||||
<xs:element name="SanitaryControlReinspectionRequired" type="yorn-type"/>
|
||||
<xs:element name="InfectedAreaVisited" type="yorn-type"/>
|
||||
<xs:element name="InfectedArea" type="infectedarea" minOccurs="0"/>
|
||||
<xs:element name="PortsOfCallLast30Days" type="portofcalls"/>
|
||||
</xs:sequence>
|
||||
<xs:assert test="if (NonAccidentialDeathsDuringVoyage eq 'Y') then NonAccidentialDeathsDuringVoyageCount
|
||||
else empty(NonAccidentialDeathsDuringVoyageCount)"/>
|
||||
<xs:assert test="if (NumberOfIllPersonsHigherThanExpected eq 'Y') then NumberOfIllPersons else empty(NumberOfIllPersons)"/>
|
||||
<xs:assert test="if (SanitaryMeasuresApplied eq 'Y') then SanitaryMeasuresDetails else empty(SanitaryMeasuresDetails)"/>
|
||||
<xs:assert test="if (StowawaysDetected eq 'Y') then StowawayJoiningLocation else empty(StowawayJoiningLocation)"/>
|
||||
<xs:assert test="if (ValidSanitaryControlExemptionOrCertificateOnBoard eq 'Y') then ValidSanitaryControlExemptionOrCertificate
|
||||
else empty(ValidSanitaryControlExemptionOrCertificate)"/>
|
||||
<xs:assert test="if (InfectedAreaVisited eq 'Y') then InfectedArea else empty(InfectedArea)"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="sanitarydetails">
|
||||
<xs:sequence>
|
||||
<xs:element name="SanitaryMeasuresType" type="string1-99-type"/>
|
||||
<xs:element name="SanitaryMeasuresLocation" type="string1-99-type"/>
|
||||
<xs:element name="SanitaryMeasuresDate" type="xs:date"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="sanitarycertificate">
|
||||
<xs:sequence>
|
||||
<xs:element name="PlaceOfIssue" type="string1-99-type"/>
|
||||
<xs:element name="DateOfIssue" type="xs:date"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="infectedarea">
|
||||
<xs:sequence>
|
||||
<xs:element name="InfectedAreaPort" type="string1-99-type"/>
|
||||
<xs:element name="InfectedAreaDate" type="xs:date"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="portofcalls">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfCallLast30Days" type="portofcallmdh" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="portofcallmdh">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfCallLast30DaysLocode" type="locode-type"/>
|
||||
<xs:element name="PortOfCallLast30DaysDateOfDeparture" type="xs:date"/>
|
||||
<xs:element name="PortOfCallLast30DaysCrewMembersJoined" type="yorn-type"/>
|
||||
<xs:element name="PortOfCallLast30DaysCrewJoinedShip" type="crewjoined" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required"/>
|
||||
<xs:assert test="if (PortOfCallLast30DaysCrewMembersJoined eq 'Y') then PortOfCallLast30DaysCrewJoinedShip
|
||||
else empty(PortOfCallLast30DaysCrewJoinedShip)"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="crewjoined">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfCallLast30DaysCrewJoinedShipName" type="string1-99-type" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
34
nsw/HIS-NORD/xsd.assert/pas_reeder.xsd
Normal file
34
nsw/HIS-NORD/xsd.assert/pas_reeder.xsd
Normal file
@ -0,0 +1,34 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="pas">
|
||||
<xs:sequence>
|
||||
<xs:element name="Passengers" type="passengers"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="passengers">
|
||||
<xs:sequence>
|
||||
<xs:element name="Passenger" type="passenger" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="passenger">
|
||||
<xs:sequence>
|
||||
<xs:element name="PassengerLastName" type="string1-99-type"/>
|
||||
<xs:element name="PassengerFirstName" type="string1-99-type"/>
|
||||
<xs:element name="PassengerPlaceOfBirth" type="string1-99-type"/>
|
||||
<xs:element name="PassengerDateOfBirth" type="xs:date"/>
|
||||
<xs:element name="PassengerGender" type="gender-type" minOccurs="0"/>
|
||||
<xs:element name="PassengerNationality" type="flag-type"/>
|
||||
<xs:element name="PassengerIdentityDocumentType" type="document-type"/>
|
||||
<xs:element name="PassengerIdentityDocumentId" type="string1-99-type"/>
|
||||
<xs:element name="PassengerVisaNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="PassengerPortOfEmbarkation" type="locode-type"/>
|
||||
<xs:element name="PassengerPortOfDisembarkation" type="locode-type"/>
|
||||
<xs:element name="PassengerInTransit" type="yorn-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
41
nsw/HIS-NORD/xsd.assert/prearrival72_reeder.xsd
Normal file
41
nsw/HIS-NORD/xsd.assert/prearrival72_reeder.xsd
Normal file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 12.03.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:complexType name="pre72">
|
||||
<xs:sequence>
|
||||
<xs:element name="Tanker" type="yorn-type"/>
|
||||
<xs:element name="TankerDetails" type="tankerdetails" minOccurs="0"/>
|
||||
<xs:element name="PlannedOperations" type="string1-99-type"/>
|
||||
<xs:element name="PlannedWorks" type="string1-255-type"/>
|
||||
<xs:element name="DateOfLastExpandedInspection" type="xs:date"/>
|
||||
<xs:element name="PlannedPeriodOfStay_HUR" type="posfloat0-type"/>
|
||||
</xs:sequence>
|
||||
<xs:assert test="if (Tanker eq 'Y') then TankerDetails else empty(TankerDetails)"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="tankerdetails">
|
||||
<xs:sequence>
|
||||
<xs:element name="TankerHullConfiguration" type="hullconfig-type"/>
|
||||
<xs:element name="ConditionCargoBallastTanks" type="cargocondition-type"/>
|
||||
<xs:element name="NatureOfCargo" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="VolumeOfCargo_TNE" type="posfloat-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- ======== simple types - enumerations =========== -->
|
||||
<xs:simpleType name="hullconfig-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SINGLE_HULL"/>
|
||||
<xs:enumeration value="SINGLE_HULL_WITH_SBT"/>
|
||||
<xs:enumeration value="DOUBLE_HULL"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="cargocondition-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="FULL"/>
|
||||
<xs:enumeration value="EMPTY"/>
|
||||
<xs:enumeration value="INERTED"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
108
nsw/HIS-NORD/xsd.assert/sec_reeder.xsd
Normal file
108
nsw/HIS-NORD/xsd.assert/sec_reeder.xsd
Normal file
@ -0,0 +1,108 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 12.03.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="sec">
|
||||
<xs:sequence>
|
||||
<xs:element name="CSOLastName" type="string1-99-type"/>
|
||||
<xs:element name="CSOFirstName" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="CSOPhone" type="string1-99-type"/>
|
||||
<xs:element name="CSOFax" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="CSOEMail" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ValidISSCOnBoard" type="yorn-type"/>
|
||||
<xs:element name="ReasonsForNoValidISSC" type="string1-255-type" minOccurs="0"/>
|
||||
<xs:element name="ISSCType" type="issc-type"/>
|
||||
<xs:element name="ISSCIssuerType" type="isscissuer-type"/>
|
||||
<xs:element name="ISSCIssuerName" type="string1-99-type"/>
|
||||
<xs:element name="ISSCDateOfExpiration" type="xs:date"/>
|
||||
<xs:element name="ApprovedSecurityPlanOnBoard" type="yorn-type"/>
|
||||
<xs:element name="CurrentShipSecurityLevel " type="posint1-3-type"/>
|
||||
<xs:element name="PortFacilityOfArrival" type="string1-99-type"/>
|
||||
<xs:element name="GeneralDescriptionOfCargo" type="cargodescription-type"/>
|
||||
<xs:element name="Last10Ports" type="last10ports"/>
|
||||
<xs:element name="LastActivities" type="lastactivities" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:assert test="if (ValidISSCOnBoard eq 'Y') then ReasonsForNoValidISSC else empty(ReasonsForNoValidISSC)"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="last10ports">
|
||||
<xs:sequence>
|
||||
<xs:element name="LastPort" type="last10port" maxOccurs="10"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="last10port">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortFacilityPortName" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="PortFacilityPortCountry" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="PortFacilityPortLoCode" type="locode-type" minOccurs="0"/>
|
||||
<xs:element name="PortFacilityDateOfArrival" type="xs:date"/>
|
||||
<xs:element name="PortFacilityDateOfDeparture" type="xs:date"/>
|
||||
<xs:element name="PortFacilityShipSecurityLevel" type="posint1-3-type"/>
|
||||
<xs:element name="PortFacilitySecurityMattersToReport" type="string1-255-type" minOccurs="0"/>
|
||||
<xs:element name="PortFacilityGISISCode" type="unnumber-type"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required"/>
|
||||
<xs:assert test="if (count(PortFacilityPortLoCode) eq 0) then PortFacilityPortName and PortFacilityPortCountry else PortFacilityPortLoCode"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="lastactivities">
|
||||
<xs:sequence>
|
||||
<xs:element name="LastActivity" type="lastactivity" minOccurs="0" maxOccurs="10"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="lastactivity">
|
||||
<xs:sequence>
|
||||
<xs:element name="ShipToShipActivityLocation" type="location"/>
|
||||
<xs:element name="ShipToShipActivityDateFrom" type="xs:date"/>
|
||||
<xs:element name="ShipToShipActivityDateTo" type="xs:date"/>
|
||||
<xs:element name="ShipToShipActivityType" type="string1-255-type"/>
|
||||
<xs:element name="ShipToShipActivitySecurityMattersToReportOf" type="string1-255-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="location">
|
||||
<xs:choice maxOccurs="3">
|
||||
<xs:element name="ShipToShipActivityLocationName" type="string1-255-type"/>
|
||||
<xs:element name="ShipToShipActivityLocationLoCode" type="locode-type"/>
|
||||
<xs:element name="ShipToShipActivityLocationCoordinates" type="coordinates"/>
|
||||
</xs:choice>
|
||||
<xs:assert test="count(ShipToShipActivityLocationName) le 1 and count(ShipToShipActivityLocationLoCode) le 1 and count(ShipToShipActivityLocationCoordinates) le 1"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="coordinates">
|
||||
<xs:sequence>
|
||||
<xs:element name="ShipToShipActivityLocationCoordinatesLatitude" type="xs:integer"/>
|
||||
<xs:element name="ShipToShipActivityLocationCoordinatesLongitude" type="xs:integer"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- ======== simple types - enumerations =========== -->
|
||||
|
||||
<xs:simpleType name="issc-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="FULL"/>
|
||||
<xs:enumeration value="INTERIM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="isscissuer-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ADMINISTRATION"/>
|
||||
<xs:enumeration value="RSO"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="cargodescription-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CONTAINER"/>
|
||||
<xs:enumeration value="VEHICLES"/>
|
||||
<xs:enumeration value="CONVENTIONAL_GENERAL_CARGO"/>
|
||||
<xs:enumeration value="DRY_CARGO_IN_BULK"/>
|
||||
<xs:enumeration value="LIQUID_CARGO_IN_BULK"/>
|
||||
<xs:enumeration value="EMPTY"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
25
nsw/HIS-NORD/xsd.assert/serv_reeder.xsd
Normal file
25
nsw/HIS-NORD/xsd.assert/serv_reeder.xsd
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="serv">
|
||||
<xs:sequence>
|
||||
<xs:element name="Services" type="services"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="services">
|
||||
<xs:sequence>
|
||||
<xs:element name="Service" type="service" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="service">
|
||||
<xs:sequence>
|
||||
<xs:element name="ServiceInvoiced" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ServiceBeneficiary" type="string1-99-type"/>
|
||||
<xs:element name="ServiceInvoiceRecipient" type="string1-99-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
50
nsw/HIS-NORD/xsd.assert/tow_reeder.xsd
Normal file
50
nsw/HIS-NORD/xsd.assert/tow_reeder.xsd
Normal file
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 12.03.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="tows">
|
||||
<xs:sequence>
|
||||
<xs:element name="TOW" type="tow" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="tow">
|
||||
<xs:sequence>
|
||||
<xs:element name="TowageName" type="string1-99-type"/>
|
||||
<xs:element name="TowageFlag" type="flag-type" minOccurs="0"/>
|
||||
<xs:element name="TowageOperator" type="towageoperator" minOccurs="0"/>
|
||||
<xs:element name="TowageGrossTonnage" type="posint-type" minOccurs="0"/>
|
||||
<xs:element name="TowageLengthOverall_MTR" type="posfloat-type"/>
|
||||
<xs:element name="TowageBeam_MTR" type="posfloat-type"/>
|
||||
<xs:element name="TowagePurposeOfCall" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="TowageDraught_DMT" type="posfloat-type"/>
|
||||
<xs:element name="TowageRemarks" type="string1-255-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="towageoperator">
|
||||
<xs:sequence>
|
||||
<xs:element name="TowageOperatorCompanyName" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="Address" type="address" minOccurs="0"/>
|
||||
<xs:element name="Contact" type="contact" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="address">
|
||||
<xs:sequence>
|
||||
<xs:element name="TowageOperatorStreetAndNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="TowageOperatorPostalCode" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="TowageOperatorCity" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="TowageOperatorCountry" type="string1-99-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="contact">
|
||||
<xs:sequence>
|
||||
<xs:element name="TowageOperatorPhone" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="TowageOperatorFax" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="TowareOperatorEMail" type="string1-99-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
70
nsw/HIS-NORD/xsd.assert/waste_reeder.xsd
Normal file
70
nsw/HIS-NORD/xsd.assert/waste_reeder.xsd
Normal file
@ -0,0 +1,70 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="was">
|
||||
<xs:sequence>
|
||||
<xs:element name="LastWasteDisposalPort" type="locode-type"/>
|
||||
<xs:element name="LastWasteDisposalDate" type="xs:date"/>
|
||||
<xs:element name="WasteDisposalServiceProviderName" type="string0-99-type" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="WasteDisposalDelivery" type="wastedelivery-type"/>
|
||||
<xs:element name="Wastes" type="wastes">
|
||||
<xs:unique name="WasteUnique">
|
||||
<xs:selector xpath="Waste"/>
|
||||
<xs:field xpath="@WasteType"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
<xs:element name="ConfirmationOfCorrectness" type="yorn-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="wastes">
|
||||
<xs:sequence>
|
||||
<xs:element name="Waste" type="waste" minOccurs="9" maxOccurs="9"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="waste">
|
||||
<xs:sequence>
|
||||
<xs:element name="WasteDescription" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="WasteDisposalAmount_MTQ" type="posfloat0-type"/>
|
||||
<xs:element name="WasteDetails" type="wastedetails" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="WasteType" type="waste-type" use="required"/>
|
||||
<xs:assert test="if (ends-with(@WasteType,'OTHERS') or starts-with(@WasteType,'CARGO')) then WasteDescription else empty(WasteDescription)"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="wastedetails">
|
||||
<xs:sequence>
|
||||
<xs:element name="WasteCapacity_MTQ" type="posfloat0-type" minOccurs="0"/>
|
||||
<xs:element name="WasteAmountRetained_MTQ" type="posfloat0-type" minOccurs="0"/>
|
||||
<xs:element name="WasteDisposalPort" type="locode-type" minOccurs="0"/>
|
||||
<xs:element name="WasteAmountGeneratedTillNextPort_MTQ" type="posfloat0-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- ======== simple types - enumerations =========== -->
|
||||
|
||||
<xs:simpleType name="wastedelivery-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ALL"/>
|
||||
<xs:enumeration value="SOME"/>
|
||||
<xs:enumeration value="NONE"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="waste-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="WASTE_OILS-SLUDGE"/>
|
||||
<xs:enumeration value="WASTE_OILS-BILGE_WATER"/>
|
||||
<xs:enumeration value="WASTE_OILS-OTHERS"/>
|
||||
<xs:enumeration value="GARBAGE-FOOD_WASTE"/>
|
||||
<xs:enumeration value="GARBAGE-PLASTIC"/>
|
||||
<xs:enumeration value="GARBAGE-OTHER"/>
|
||||
<xs:enumeration value="SEWAGE"/>
|
||||
<xs:enumeration value="CARGO-ASSOCIATED_WASTE"/>
|
||||
<xs:enumeration value="CARGO-RESIDUES"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
25
nsw/HIS-NORD/xsd/bpol_reeder.xsd
Normal file
25
nsw/HIS-NORD/xsd/bpol_reeder.xsd
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:complexType name="bpol">
|
||||
<xs:sequence>
|
||||
<xs:element name="StowawayOnBoard" type="yorn-type"/>
|
||||
<xs:element name="PortsOfItinery" type="portsofitinery" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="portsofitinery">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfItinery" type="portofitinery" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="portofitinery">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfItineryName" type="string1-99-type"/>
|
||||
<xs:element name="PortOfItineryETA" type="xs:dateTime"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
32
nsw/HIS-NORD/xsd/crew_reeder.xsd
Normal file
32
nsw/HIS-NORD/xsd/crew_reeder.xsd
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="crew">
|
||||
<xs:sequence>
|
||||
<xs:element name="CrewMembers" type="crewmembers"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="crewmembers">
|
||||
<xs:sequence>
|
||||
<xs:element name="CrewMember" type="crewmember" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="crewmember">
|
||||
<xs:sequence>
|
||||
<xs:element name="CrewMemberLastName" type="string1-99-type"/>
|
||||
<xs:element name="CrewMemberFirstName" type="string1-99-type"/>
|
||||
<xs:element name="CrewMemberPlaceOfBirth" type="string1-99-type"/>
|
||||
<xs:element name="CrewMemberDateOfBirth" type="xs:date"/>
|
||||
<xs:element name="CrewMemberGender" type="gender-type" minOccurs="0"/>
|
||||
<xs:element name="CrewMemberNationality" type="flag-type"/>
|
||||
<xs:element name="CrewMemberIdentityDocumentType" type="document-type"/>
|
||||
<xs:element name="CrewMemberIdentityDocumentId" type="string1-99-type"/>
|
||||
<xs:element name="CrewMemberVisaNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="CrewMemberDuty" type="string1-99-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
786
nsw/HIS-NORD/xsd/his-nord.xsd
Normal file
786
nsw/HIS-NORD/xsd/his-nord.xsd
Normal file
@ -0,0 +1,786 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.07.2015 -->
|
||||
<!-- XML Schema:data exchange NSW - german ports optionale Meldetypen-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="serv_reeder.xsd"/>
|
||||
<xs:include schemaLocation="prearrival72_reeder.xsd"/>
|
||||
<xs:include schemaLocation="sec_reeder.xsd"/>
|
||||
<xs:include schemaLocation="mdh_reeder.xsd"/>
|
||||
<xs:include schemaLocation="waste_reeder.xsd"/>
|
||||
<xs:include schemaLocation="bpol_reeder.xsd"/>
|
||||
<xs:include schemaLocation="pas_reeder.xsd"/>
|
||||
<xs:include schemaLocation="crew_reeder.xsd"/>
|
||||
<xs:include schemaLocation="tow_reeder.xsd"/>
|
||||
|
||||
<xs:element name="nsw" type="nsw"/>
|
||||
|
||||
<xs:complexType name="nsw">
|
||||
<xs:sequence>
|
||||
<xs:element name="conveyance" type="conveyance"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="xml_version" type="xs:string" use="required" fixed="HIS-NORD NSW_V1-0"/>
|
||||
<xs:attribute name="protect_version" type="xs:string" use="required" fixed="PROTE11"/>
|
||||
<xs:attribute name="date_registration" type="xs:dateTime" use="required"/>
|
||||
<xs:attribute name="message_sender" type="xs:string" use="required"/>
|
||||
<xs:attribute name="message_recipient" type="xs:string" use="required"/>
|
||||
<xs:attribute name="document_reference" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="conveyance">
|
||||
<xs:sequence>
|
||||
<xs:choice id="visit">
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="VisitId" type="visitid-type"/>
|
||||
<xs:element name="TransitId" type="transitid-type"/>
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="referenceid-type" minOccurs="0"/>
|
||||
<xs:element name="code" type="string1-99-type"/>
|
||||
</xs:sequence>
|
||||
</xs:choice>
|
||||
|
||||
<xs:element name="owner_sender" type="broker_owner"/>
|
||||
|
||||
<xs:element name="vessel" type="vessel-type"/>
|
||||
|
||||
<xs:choice id="noanod">
|
||||
<xs:element name="Import" type="import"/>
|
||||
<xs:element name="Export" type="export"/>
|
||||
<xs:element name="Transit" type="transit"/>
|
||||
</xs:choice>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="PersonsOnBoard" type="pob"/>
|
||||
|
||||
<xs:element name="NameOfMaster" type="string1-99-type" minOccurs="0"/>
|
||||
|
||||
<xs:element name="Draught_DMT" type="posfloat-type" minOccurs="0"/>
|
||||
|
||||
<xs:element name="Info" type="info" minOccurs="0"/>
|
||||
|
||||
<xs:element name="BunkerFuelList" type="bunker-type" minOccurs="0"/>
|
||||
|
||||
<xs:choice id="hza" minOccurs="0">
|
||||
<xs:element name="NoHazmatOnBoard" type="y-type"/>
|
||||
<xs:sequence>
|
||||
<xs:element name="HazmatCargoManifestOnBoard" type="yorn-type"/>
|
||||
<xs:element name="INFClass" type="infclass-type" minOccurs="0"/>
|
||||
<xs:element name="DGCodes" type="dgcodes"/>
|
||||
</xs:sequence>
|
||||
</xs:choice>
|
||||
|
||||
<xs:element name="GeneralCargo" type="generalcargo" minOccurs="0"/>
|
||||
|
||||
<!--OPTIONALE MELDETYPEN-->
|
||||
<xs:element name="Serv" type="serv" minOccurs="0"/>
|
||||
|
||||
<xs:element name="Pre72H" type="pre72" minOccurs="0"/>
|
||||
|
||||
<xs:choice id="sec" minOccurs="0">
|
||||
<xs:sequence>
|
||||
<xs:element name="SECSimplification" type="y-type"/>
|
||||
<xs:element name="PortOfCallWhereCompleteSECNotified" type="locode-type"/>
|
||||
</xs:sequence>
|
||||
<xs:element name="SEC" type="sec"/>
|
||||
</xs:choice>
|
||||
|
||||
<xs:choice id="mdh" minOccurs="0">
|
||||
<xs:sequence>
|
||||
<xs:element name="MDHSimplification" type="y-type"/>
|
||||
<xs:element name="PortOfCallWhereCompleteMDHNotified" type="locode-type"/>
|
||||
</xs:sequence>
|
||||
<xs:element name="MDH" type="mdh"/>
|
||||
</xs:choice>
|
||||
|
||||
<xs:choice id="was" minOccurs="0">
|
||||
<xs:element name="WasteDisposalValidExemption" type="y-type"/>
|
||||
<xs:element name="Waste" type="was"/>
|
||||
</xs:choice>
|
||||
|
||||
<xs:element name="BPOL" type="bpol" minOccurs="0"/>
|
||||
|
||||
<xs:element name="PAS" type="pas" minOccurs="0"/>
|
||||
|
||||
<xs:element name="CREW" type="crew" minOccurs="0"/>
|
||||
|
||||
<xs:element name="TOWS" type="tows" minOccurs="0"/>
|
||||
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="bunker-type">
|
||||
<xs:sequence>
|
||||
<xs:element name="BunkerFuel" type="bunkerfuel" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="bunkerfuel">
|
||||
<xs:sequence>
|
||||
<xs:element name="Name" type="string1-99-type"/>
|
||||
<xs:element name="NetMassTNE" type="posfloat-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="dgcodes">
|
||||
<xs:sequence>
|
||||
<xs:element name="DGCode" type="dgcode-type" maxOccurs="6"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="generalcargo">
|
||||
<xs:sequence>
|
||||
<xs:element name="LoadUnit" type="loadunit" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="loadunit">
|
||||
<xs:sequence>
|
||||
<xs:element name="HandlingCode" type="handlingcode-type"/>
|
||||
<xs:element name="LocationOnBoard" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="PortOfLoadingLocode" type="locode-type" minOccurs="0"/>
|
||||
<xs:element name="PortOfDischargeLocode" type="locode-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="CargoCodeNST" type="cargocode-type"/>
|
||||
<xs:element name="CargoNumberOfItems" type="posint-type" minOccurs="0"/>
|
||||
<xs:element name="CargoGrossQuantity_TNE" type="posfloat-type"/>
|
||||
<xs:element name="DGList" type="dglist" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="dglist">
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element name="LoadPositionIMDG" type="position-imdg" maxOccurs="unbounded"/>
|
||||
<xs:element name="LoadPositionIBC" type="position-ibc" maxOccurs="unbounded"/>
|
||||
<xs:element name="LoadPositionIGC" type="position-igc" maxOccurs="unbounded"/>
|
||||
<xs:element name="LoadPositionMARPOL" type="position-marpol" maxOccurs="unbounded"/>
|
||||
<xs:element name="LoadPositionIMSBC" type="position-imsbc" maxOccurs="unbounded"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-imdg">
|
||||
<xs:sequence>
|
||||
<xs:element name="UNNumber" type="unnumber-type"/>
|
||||
<xs:element name="IMOClass" type="imoclass-type"/>
|
||||
<xs:element name="PackingGroup" type="packinggroup-type" minOccurs="0"/>
|
||||
<xs:element name="TechnicalName" type="string1-255-type" minOccurs="0"/>
|
||||
<xs:element name="NetMassKGM" type="posfloat-type" minOccurs="0"/>
|
||||
<xs:element name="GrossMassKGM" type="posfloat-type" minOccurs="0"/>
|
||||
<xs:element name="CubeMTQ" type="posfloat-type" minOccurs="0"/>
|
||||
<xs:element name="NumberOfPackages" type="posint-type"/>
|
||||
<xs:choice maxOccurs="3">
|
||||
<xs:element name="PackageName" type="string1-99-type"/>
|
||||
<xs:element name="PackageCode" type="string1-24-type"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="PackageType" type="string1-99-type"/>
|
||||
</xs:choice>
|
||||
<xs:element name="LimitedQuantities" type="yorn-type"/>
|
||||
<xs:element name="ExceptedQuantities" type="yorn-type"/>
|
||||
<xs:element name="Class1NEW_KGM" type="posfloat0-type" minOccurs="0"/>
|
||||
<xs:element name="FlashpointCEL" type="flashpointcel-type" minOccurs="0"/>
|
||||
<xs:element name="ControlTempCEL" type="xs:float" minOccurs="0"/>
|
||||
<xs:element name="EmergencyTempCEL" type="xs:float" minOccurs="0"/>
|
||||
<xs:element name="Class7NuclideName" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="Class7MaxActivityBQL" type="posfloat0-type" minOccurs="0"/>
|
||||
<xs:element name="Class7Category" type="class7cat-type" minOccurs="0"/>
|
||||
<xs:element name="Class7TI" type="class7ti-type" minOccurs="0"/>
|
||||
<xs:element name="Class7CSI" type="class7csi-type" minOccurs="0"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="CompatibilityGroup" type="class1cg-type" minOccurs="0"/>
|
||||
<xs:element name="ProperShippingName" type="string1-255-type"/>
|
||||
<xs:element name="SubsidiaryRisks" type="subsidiaryrisks" minOccurs="0"/>
|
||||
<xs:element name="MarinePollutant" type="yorn-type"/>
|
||||
<xs:element name="GeneralCargoIBC" type="yorn-type" minOccurs="0"/>
|
||||
<xs:element name="ContainerNumber" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="VehicleLicenseNumber" type="string1-24-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-ibc">
|
||||
<xs:sequence>
|
||||
<xs:element name="Name" type="string1-255-type"/>
|
||||
<xs:element name="SpecRef15_19" type="yorn-type" minOccurs="0"/>
|
||||
<xs:element name="PollutionCategory" type="polcat-type"/>
|
||||
<xs:element name="NetMassKGM" type="posfloat-type"/>
|
||||
<xs:element name="FlashpointInfo" type="flashpointinfo-type"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="Hazards" type="hazard-type" minOccurs="0"/>
|
||||
<xs:element name="FlashpointCEL" type="flashpointcel-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-igc">
|
||||
<xs:sequence>
|
||||
<xs:element name="UNNumber" type="unnumber-type" minOccurs="0"/>
|
||||
<xs:element name="Name" type="string1-255-type"/>
|
||||
<xs:element name="NetMassKGM" type="posfloat-type"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="IMOClass" type="imoclass-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-marpol">
|
||||
<xs:sequence>
|
||||
<xs:element name="Name" type="string1-255-type"/>
|
||||
<xs:element name="NetMassKGM" type="posfloat-type"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="FlashpointInformation" type="flashpointinfo-type"/>
|
||||
<xs:element name="Flashpoint_CEL" type="flashpointcel-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-imsbc">
|
||||
<xs:sequence>
|
||||
<xs:element name="UNNumber" type="unnumber-type" minOccurs="0"/>
|
||||
<xs:element name="Name" type="string1-255-type"/>
|
||||
<xs:element name="MHB" type="yorn-type" />
|
||||
<xs:element name="NetMassKGM" type="posfloat-type"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="IMOClass" type="imoclass-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="import">
|
||||
<xs:sequence>
|
||||
<xs:element name="LastPort" type="lastport"/>
|
||||
<xs:element name="PortOfCall" type="portofcallhazmat"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="export">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfCall" type="portofcallhazmat"/>
|
||||
<xs:element name="NextPort" type="nextporthazmat" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="transit">
|
||||
<xs:sequence>
|
||||
<xs:element name="LastPort" type="lastport"/>
|
||||
<xs:element name="NextPort" type="nextporthazmat" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="lastport">
|
||||
<xs:sequence>
|
||||
<xs:element name="Locode" type="locode-type" default="ZZUKN"/>
|
||||
<xs:element name="ETD" type="xs:dateTime" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="portofcallhazmat">
|
||||
<xs:sequence>
|
||||
<xs:element name="Locode" type="locode-type"/>
|
||||
<xs:element name="ETA" type="xs:dateTime"/>
|
||||
<xs:element name="ETD" type="xs:dateTime"/>
|
||||
<xs:element name="ATA" type="xs:dateTime" minOccurs="0"/>
|
||||
<xs:element name="ATD" type="xs:dateTime" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="CallPurposes" type="callpurposes" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="nextporthazmat">
|
||||
<xs:sequence>
|
||||
<xs:element name="Locode" type="locode-type" default="ZZUKN"/>
|
||||
<xs:element name="ETA" type="xs:dateTime" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="vessel-type">
|
||||
<xs:sequence>
|
||||
<xs:element name="IMONumber" type="imonumber-type" minOccurs="0"/>
|
||||
<xs:element name="CallSign" type="callsign-type"/>
|
||||
<xs:element name="MMSINumber" type="mmsinumber-type"/>
|
||||
<xs:element name="ENINumber" type="eninumber-type" minOccurs="0"/>
|
||||
<xs:element name="ShipName" type="string1-99-type"/>
|
||||
<xs:element name="Flag" type="flag-type"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="LengthOverall_MTR" type="posfloat-type"/>
|
||||
<xs:element name="Beam_MTR" type="posfloat-type"/>
|
||||
<xs:element name="GrossTonnage" type="posint-type"/>
|
||||
<xs:element name="PortOfRegistry" type="locode-type"/>
|
||||
<xs:element name="InmarsatCallNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ShipType" type="ship-type"/>
|
||||
<xs:element name="ISMCompany" type="ismcompany" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="broker_owner">
|
||||
<xs:sequence>
|
||||
<xs:element name="name_short" type="string1-99-type"/>
|
||||
<xs:element name="name_long" type="string1-99-type"/>
|
||||
<xs:element name="address" type="address-type"/>
|
||||
<xs:element name="contact" type="contacts"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="contacts">
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="string1-99-type"/>
|
||||
<xs:element name="firstname" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="phone" type="string1-99-type"/>
|
||||
<xs:element name="fax" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="email" type="string1-99-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="packages">
|
||||
<xs:sequence>
|
||||
<xs:element name="numberofpackages" type="xs:integer"/>
|
||||
<xs:element name="packagediscription" type="xs:string"/>
|
||||
<xs:element name="packagecode" type="xs:string" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="measure">
|
||||
<xs:sequence>
|
||||
<xs:element name="dimension" type="xs:string"/>
|
||||
<xs:element name="value" type="xs:string"/>
|
||||
<xs:element name="kind" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="class7">
|
||||
<xs:sequence>
|
||||
<xs:element name="radioactivity" type="measure"/>
|
||||
<xs:element name="criticalindex" type="measure"/>
|
||||
<xs:element name="transportindex" type="measure"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="address-type">
|
||||
<xs:sequence>
|
||||
<xs:element name="StreetNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="Place" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="PostCode" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="Locode" type="locode-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:complexType name="callpurposes">
|
||||
<xs:sequence>
|
||||
<xs:element name="CallPurpose" type="callpurpose" maxOccurs="9" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="callpurpose">
|
||||
<xs:sequence>
|
||||
<xs:element name="CallPurposeCode" type="callpurposecode-type"/>
|
||||
<xs:element name="CallPurposeDescription" type="string1-99-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="ismcompany">
|
||||
<xs:sequence>
|
||||
<xs:element name="ISMCompanyName" type="string1-99-type"/>
|
||||
<xs:element name="ISMCompanyId" type="companyid-type"/>
|
||||
<xs:element name="ISMCompanyStreetAndNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ISMCompanyPostalCode" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="ISMCompanyCity" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ISMCompanyCountry" type="string1-99-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="pob">
|
||||
<xs:sequence>
|
||||
<xs:element name="TotalPersonsOnBoard" type="pob-type"/>
|
||||
<xs:element name="TotalCrewMembersOnBoard" type="posint-type"/>
|
||||
<xs:element name="TotalPassengersOnBoard" type="posint0-type"/>
|
||||
<xs:element name="TotalStowawaysOnBoard" type="posint0-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="info">
|
||||
<xs:sequence>
|
||||
<xs:element name="ShippingArea" type="shippingarea-type"/>
|
||||
<xs:element name="RequestedPositionInPortOfCall" type="string1-99-type"/>
|
||||
<xs:element name="SpecialRequirementsOfShipAtBerth" type="string1-255-type" minOccurs="0"/>
|
||||
<xs:element name="ConstructionCharacteristicsOfShip" type="string0-99-type" minOccurs="0"/>
|
||||
<xs:element name="FumigatedBulkCargo" type="yorn-type"/>
|
||||
<xs:element name="DeadWeightSummer_TNE" type="xs:float" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="subsidiaryrisks">
|
||||
<xs:sequence>
|
||||
<xs:element name="SubsidiaryRisk" type="risk-type" minOccurs="1" maxOccurs="5"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- ============ simple types ============ -->
|
||||
<xs:simpleType name="callsign-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='4' />
|
||||
<xs:maxLength value='7' />
|
||||
<xs:pattern value="[A-Za-z0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="class7csi-type">
|
||||
<xs:restriction base='xs:integer'>
|
||||
<xs:minInclusive value="0"/>
|
||||
<xs:maxInclusive value="100"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="class7ti-type">
|
||||
<xs:restriction base='xs:float'>
|
||||
<xs:minInclusive value="0" />
|
||||
<xs:maxInclusive value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="email-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='5' />
|
||||
<xs:maxLength value='100' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="eninumber-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='8' />
|
||||
<xs:maxLength value='8' />
|
||||
<xs:pattern value="[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="flag-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='2' />
|
||||
<xs:maxLength value='2' />
|
||||
<xs:pattern value="[A-Z]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="imoclass-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
<xs:maxLength value="10" />
|
||||
<xs:pattern value="[0-9A-Z\.]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="imonumber-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="7" />
|
||||
<xs:maxLength value="7" />
|
||||
<xs:pattern value="[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="locode-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='5' />
|
||||
<xs:maxLength value='5' />
|
||||
<xs:pattern value="[A-Z][A-Z][A-Z0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="mmsinumber-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='9' />
|
||||
<xs:maxLength value='10' />
|
||||
<xs:pattern value="[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="ship-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='2'/>
|
||||
<xs:maxLength value='3'/>
|
||||
<xs:pattern value="[A-Z0-9]*"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="phonefax-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='2' />
|
||||
<xs:maxLength value='50' />
|
||||
<xs:pattern value="[\+]{0,1}[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="pob-type">
|
||||
<xs:restriction base='xs:integer'>
|
||||
<xs:minInclusive value="1" />
|
||||
<xs:maxInclusive value="99998" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posint-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minExclusive value="0" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="unnumber-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="4" />
|
||||
<xs:maxLength value="4" />
|
||||
<xs:pattern value="[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="version-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='3' />
|
||||
<xs:maxLength value='10' />
|
||||
<xs:pattern value="[0-9]*.[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posfloat-type">
|
||||
<xs:restriction base="xs:float">
|
||||
<xs:minExclusive value="0" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="referencecode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='32' />
|
||||
<xs:pattern value="[0-9a-zA-Z]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="referenceid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='0' />
|
||||
<xs:maxLength value='100' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string1-24-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='24' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string1-99-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='99' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string1-255-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='255' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:simpleType name="callpurposecode-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="1"/>
|
||||
<xs:maxExclusive value="1000"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="class1cg-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='1' />
|
||||
<xs:pattern value="[A-Z]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="companyid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='7'/>
|
||||
<xs:maxLength value='7'/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="flashpointcel-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='1'/>
|
||||
<xs:maxLength value='10'/>
|
||||
<xs:pattern value="[<>]?[\-]?[0-9]+(\.[0-9]+)?"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="risk-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
<xs:maxLength value="11" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="cargocode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='2'/>
|
||||
<xs:maxLength value='2'/>
|
||||
<xs:pattern value="[0-9]+"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="visitid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="DE[A-Z]{3}-[0-9]{4}-[A-Z]{6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="transitid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="ZZNOK-[0-9]{4}-[A-Z]{6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string0-99-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='0' />
|
||||
<xs:maxLength value='99' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posint0-type">
|
||||
<xs:restriction base='xs:integer'>
|
||||
<xs:minInclusive value="0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posfloat0-type">
|
||||
<xs:restriction base='xs:float'>
|
||||
<xs:minInclusive value="0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- ======== simple types - enumerations =========== -->
|
||||
<xs:simpleType name="class7cat-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="1" />
|
||||
<xs:enumeration value="2" />
|
||||
<xs:enumeration value="3" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="dgcode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="IMDG"/>
|
||||
<xs:enumeration value="IMDG_MoU"/>
|
||||
<xs:enumeration value="IBC"/>
|
||||
<xs:enumeration value="MARPOL_ANNEX_I"/>
|
||||
<xs:enumeration value="IGC"/>
|
||||
<xs:enumeration value="IMSBC"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="flashpointinfo-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="NF" />
|
||||
<xs:enumeration value="GT60CEL" />
|
||||
<xs:enumeration value="LE60CEL" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="handlingcode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="LOAD"/>
|
||||
<xs:enumeration value="DISCHARGE"/>
|
||||
<!--neu 02.07.2015-->
|
||||
<xs:enumeration value="TRANSIT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="infclass-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="1"/>
|
||||
<xs:enumeration value="2"/>
|
||||
<xs:enumeration value="3"/>
|
||||
<xs:enumeration value="INF1"/>
|
||||
<xs:enumeration value="INF2"/>
|
||||
<xs:enumeration value="INF3"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="packinggroup-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="1" />
|
||||
<xs:enumeration value="2" />
|
||||
<xs:enumeration value="3" />
|
||||
<xs:enumeration value="I" />
|
||||
<xs:enumeration value="II" />
|
||||
<xs:enumeration value="III" />
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:enumeration value="NONE" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="polcat-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="X" />
|
||||
<xs:enumeration value="Y" />
|
||||
<xs:enumeration value="Z" />
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:enumeration value="OS" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="yorn-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Y" />
|
||||
<xs:enumeration value="N" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:simpleType name="shippingarea-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="NORTH_BALTIC_SEA"/>
|
||||
<xs:enumeration value="EUROPE"/>
|
||||
<xs:enumeration value="OVERSEAS"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="hazard-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="P"/>
|
||||
<xs:enumeration value="S"/>
|
||||
<xs:enumeration value="S/P"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="y-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Y"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="gender-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MALE"/>
|
||||
<xs:enumeration value="FEMALE"/>
|
||||
<xs:enumeration value="OTHER"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="document-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="IDENTITY_CARD"/>
|
||||
<xs:enumeration value="PASSPORT"/>
|
||||
<xs:enumeration value="MUSTER_BOOK"/>
|
||||
<xs:enumeration value="PICTURE_ID"/>
|
||||
<xs:enumeration value="RESIDENTAL_PERMIT"/>
|
||||
<xs:enumeration value="OTHER_LEGAL_IDENTITY_DOCUMENT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posint1-3-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:enumeration value="1"/>
|
||||
<xs:enumeration value="2"/>
|
||||
<xs:enumeration value="3"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
786
nsw/HIS-NORD/xsd/his-nord_nsw_v-1-0_all_reeder.xsd
Normal file
786
nsw/HIS-NORD/xsd/his-nord_nsw_v-1-0_all_reeder.xsd
Normal file
@ -0,0 +1,786 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.07.2015 -->
|
||||
<!-- XML Schema:data exchange NSW - german ports optionale Meldetypen-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="serv_reeder.xsd"/>
|
||||
<xs:include schemaLocation="prearrival72_reeder.xsd"/>
|
||||
<xs:include schemaLocation="sec_reeder.xsd"/>
|
||||
<xs:include schemaLocation="mdh_reeder.xsd"/>
|
||||
<xs:include schemaLocation="waste_reeder.xsd"/>
|
||||
<xs:include schemaLocation="bpol_reeder.xsd"/>
|
||||
<xs:include schemaLocation="pas_reeder.xsd"/>
|
||||
<xs:include schemaLocation="crew_reeder.xsd"/>
|
||||
<xs:include schemaLocation="tow_reeder.xsd"/>
|
||||
|
||||
<xs:element name="nsw" type="nsw"/>
|
||||
|
||||
<xs:complexType name="nsw">
|
||||
<xs:sequence>
|
||||
<xs:element name="conveyance" type="conveyance"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="xml_version" type="xs:string" use="required" fixed="HIS-NORD NSW_V1-0"/>
|
||||
<xs:attribute name="protect_version" type="xs:string" use="required" fixed="PROTE11"/>
|
||||
<xs:attribute name="date_registration" type="xs:dateTime" use="required"/>
|
||||
<xs:attribute name="message_sender" type="xs:string" use="required"/>
|
||||
<xs:attribute name="message_recipient" type="xs:string" use="required"/>
|
||||
<xs:attribute name="document_reference" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="conveyance">
|
||||
<xs:sequence>
|
||||
<xs:choice id="visit">
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="VisitId" type="visitid-type"/>
|
||||
<xs:element name="TransitId" type="transitid-type"/>
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="referenceid-type" minOccurs="0"/>
|
||||
<xs:element name="code" type="string1-99-type"/>
|
||||
</xs:sequence>
|
||||
</xs:choice>
|
||||
|
||||
<xs:element name="owner_sender" type="broker_owner"/>
|
||||
|
||||
<xs:element name="vessel" type="vessel-type"/>
|
||||
|
||||
<xs:choice id="noanod">
|
||||
<xs:element name="Import" type="import"/>
|
||||
<xs:element name="Export" type="export"/>
|
||||
<xs:element name="Transit" type="transit"/>
|
||||
</xs:choice>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="PersonsOnBoard" type="pob"/>
|
||||
|
||||
<xs:element name="NameOfMaster" type="string1-99-type" minOccurs="0"/>
|
||||
|
||||
<xs:element name="Draught_DMT" type="posfloat-type" minOccurs="0"/>
|
||||
|
||||
<xs:element name="Info" type="info" minOccurs="0"/>
|
||||
|
||||
<xs:element name="BunkerFuelList" type="bunker-type" minOccurs="0"/>
|
||||
|
||||
<xs:choice id="hza" minOccurs="0">
|
||||
<xs:element name="NoHazmatOnBoard" type="y-type"/>
|
||||
<xs:sequence>
|
||||
<xs:element name="HazmatCargoManifestOnBoard" type="yorn-type"/>
|
||||
<xs:element name="INFClass" type="infclass-type" minOccurs="0"/>
|
||||
<xs:element name="DGCodes" type="dgcodes"/>
|
||||
</xs:sequence>
|
||||
</xs:choice>
|
||||
|
||||
<xs:element name="GeneralCargo" type="generalcargo" minOccurs="0"/>
|
||||
|
||||
<!--OPTIONALE MELDETYPEN-->
|
||||
<xs:element name="Serv" type="serv" minOccurs="0"/>
|
||||
|
||||
<xs:element name="Pre72H" type="pre72" minOccurs="0"/>
|
||||
|
||||
<xs:choice id="sec" minOccurs="0">
|
||||
<xs:sequence>
|
||||
<xs:element name="SECSimplification" type="y-type"/>
|
||||
<xs:element name="PortOfCallWhereCompleteSECNotified" type="locode-type"/>
|
||||
</xs:sequence>
|
||||
<xs:element name="SEC" type="sec"/>
|
||||
</xs:choice>
|
||||
|
||||
<xs:choice id="mdh" minOccurs="0">
|
||||
<xs:sequence>
|
||||
<xs:element name="MDHSimplification" type="y-type"/>
|
||||
<xs:element name="PortOfCallWhereCompleteMDHNotified" type="locode-type"/>
|
||||
</xs:sequence>
|
||||
<xs:element name="MDH" type="mdh"/>
|
||||
</xs:choice>
|
||||
|
||||
<xs:choice id="was" minOccurs="0">
|
||||
<xs:element name="WasteDisposalValidExemption" type="y-type"/>
|
||||
<xs:element name="Waste" type="was"/>
|
||||
</xs:choice>
|
||||
|
||||
<xs:element name="BPOL" type="bpol" minOccurs="0"/>
|
||||
|
||||
<xs:element name="PAS" type="pas" minOccurs="0"/>
|
||||
|
||||
<xs:element name="CREW" type="crew" minOccurs="0"/>
|
||||
|
||||
<xs:element name="TOWS" type="tows" minOccurs="0"/>
|
||||
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="bunker-type">
|
||||
<xs:sequence>
|
||||
<xs:element name="BunkerFuel" type="bunkerfuel" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="bunkerfuel">
|
||||
<xs:sequence>
|
||||
<xs:element name="Name" type="string1-99-type"/>
|
||||
<xs:element name="NetMassTNE" type="posfloat-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="dgcodes">
|
||||
<xs:sequence>
|
||||
<xs:element name="DGCode" type="dgcode-type" maxOccurs="6"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="generalcargo">
|
||||
<xs:sequence>
|
||||
<xs:element name="LoadUnit" type="loadunit" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="loadunit">
|
||||
<xs:sequence>
|
||||
<xs:element name="HandlingCode" type="handlingcode-type"/>
|
||||
<xs:element name="LocationOnBoard" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="PortOfLoadingLocode" type="locode-type" minOccurs="0"/>
|
||||
<xs:element name="PortOfDischargeLocode" type="locode-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="CargoCodeNST" type="cargocode-type"/>
|
||||
<xs:element name="CargoNumberOfItems" type="posint-type" minOccurs="0"/>
|
||||
<xs:element name="CargoGrossQuantity_TNE" type="posfloat-type"/>
|
||||
<xs:element name="DGList" type="dglist" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="dglist">
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element name="LoadPositionIMDG" type="position-imdg" maxOccurs="unbounded"/>
|
||||
<xs:element name="LoadPositionIBC" type="position-ibc" maxOccurs="unbounded"/>
|
||||
<xs:element name="LoadPositionIGC" type="position-igc" maxOccurs="unbounded"/>
|
||||
<xs:element name="LoadPositionMARPOL" type="position-marpol" maxOccurs="unbounded"/>
|
||||
<xs:element name="LoadPositionIMSBC" type="position-imsbc" maxOccurs="unbounded"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-imdg">
|
||||
<xs:sequence>
|
||||
<xs:element name="UNNumber" type="unnumber-type"/>
|
||||
<xs:element name="IMOClass" type="imoclass-type"/>
|
||||
<xs:element name="PackingGroup" type="packinggroup-type" minOccurs="0"/>
|
||||
<xs:element name="TechnicalName" type="string1-255-type" minOccurs="0"/>
|
||||
<xs:element name="NetMassKGM" type="posfloat-type" minOccurs="0"/>
|
||||
<xs:element name="GrossMassKGM" type="posfloat-type" minOccurs="0"/>
|
||||
<xs:element name="CubeMTQ" type="posfloat-type" minOccurs="0"/>
|
||||
<xs:element name="NumberOfPackages" type="posint-type"/>
|
||||
<xs:choice maxOccurs="3">
|
||||
<xs:element name="PackageName" type="string1-99-type"/>
|
||||
<xs:element name="PackageCode" type="string1-24-type"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="PackageType" type="string1-99-type"/>
|
||||
</xs:choice>
|
||||
<xs:element name="LimitedQuantities" type="yorn-type"/>
|
||||
<xs:element name="ExceptedQuantities" type="yorn-type"/>
|
||||
<xs:element name="Class1NEW_KGM" type="posfloat0-type" minOccurs="0"/>
|
||||
<xs:element name="FlashpointCEL" type="flashpointcel-type" minOccurs="0"/>
|
||||
<xs:element name="ControlTempCEL" type="xs:float" minOccurs="0"/>
|
||||
<xs:element name="EmergencyTempCEL" type="xs:float" minOccurs="0"/>
|
||||
<xs:element name="Class7NuclideName" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="Class7MaxActivityBQL" type="posfloat0-type" minOccurs="0"/>
|
||||
<xs:element name="Class7Category" type="class7cat-type" minOccurs="0"/>
|
||||
<xs:element name="Class7TI" type="class7ti-type" minOccurs="0"/>
|
||||
<xs:element name="Class7CSI" type="class7csi-type" minOccurs="0"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="CompatibilityGroup" type="class1cg-type" minOccurs="0"/>
|
||||
<xs:element name="ProperShippingName" type="string1-255-type"/>
|
||||
<xs:element name="SubsidiaryRisks" type="subsidiaryrisks" minOccurs="0"/>
|
||||
<xs:element name="MarinePollutant" type="yorn-type"/>
|
||||
<xs:element name="GeneralCargoIBC" type="yorn-type" minOccurs="0"/>
|
||||
<xs:element name="ContainerNumber" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="VehicleLicenseNumber" type="string1-24-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-ibc">
|
||||
<xs:sequence>
|
||||
<xs:element name="Name" type="string1-255-type"/>
|
||||
<xs:element name="SpecRef15_19" type="yorn-type" minOccurs="0"/>
|
||||
<xs:element name="PollutionCategory" type="polcat-type"/>
|
||||
<xs:element name="NetMassKGM" type="posfloat-type"/>
|
||||
<xs:element name="FlashpointInfo" type="flashpointinfo-type"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="Hazards" type="hazard-type" minOccurs="0"/>
|
||||
<xs:element name="FlashpointCEL" type="flashpointcel-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-igc">
|
||||
<xs:sequence>
|
||||
<xs:element name="UNNumber" type="unnumber-type" minOccurs="0"/>
|
||||
<xs:element name="Name" type="string1-255-type"/>
|
||||
<xs:element name="NetMassKGM" type="posfloat-type"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="IMOClass" type="imoclass-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-marpol">
|
||||
<xs:sequence>
|
||||
<xs:element name="Name" type="string1-255-type"/>
|
||||
<xs:element name="NetMassKGM" type="posfloat-type"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="FlashpointInformation" type="flashpointinfo-type"/>
|
||||
<xs:element name="Flashpoint_CEL" type="flashpointcel-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="position-imsbc">
|
||||
<xs:sequence>
|
||||
<xs:element name="UNNumber" type="unnumber-type" minOccurs="0"/>
|
||||
<xs:element name="Name" type="string1-255-type"/>
|
||||
<xs:element name="MHB" type="yorn-type" />
|
||||
<xs:element name="NetMassKGM" type="posfloat-type"/>
|
||||
<xs:element name="Remarks" type="string1-255-type" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="IMOClass" type="imoclass-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="import">
|
||||
<xs:sequence>
|
||||
<xs:element name="LastPort" type="lastport"/>
|
||||
<xs:element name="PortOfCall" type="portofcallhazmat"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="export">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfCall" type="portofcallhazmat"/>
|
||||
<xs:element name="NextPort" type="nextporthazmat" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="transit">
|
||||
<xs:sequence>
|
||||
<xs:element name="LastPort" type="lastport"/>
|
||||
<xs:element name="NextPort" type="nextporthazmat" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="lastport">
|
||||
<xs:sequence>
|
||||
<xs:element name="Locode" type="locode-type" default="ZZUKN"/>
|
||||
<xs:element name="ETD" type="xs:dateTime" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="portofcallhazmat">
|
||||
<xs:sequence>
|
||||
<xs:element name="Locode" type="locode-type"/>
|
||||
<xs:element name="ETA" type="xs:dateTime"/>
|
||||
<xs:element name="ETD" type="xs:dateTime"/>
|
||||
<xs:element name="ATA" type="xs:dateTime" minOccurs="0"/>
|
||||
<xs:element name="ATD" type="xs:dateTime" minOccurs="0"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="CallPurposes" type="callpurposes" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="nextporthazmat">
|
||||
<xs:sequence>
|
||||
<xs:element name="Locode" type="locode-type" default="ZZUKN"/>
|
||||
<xs:element name="ETA" type="xs:dateTime" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="vessel-type">
|
||||
<xs:sequence>
|
||||
<xs:element name="IMONumber" type="imonumber-type" minOccurs="0"/>
|
||||
<xs:element name="CallSign" type="callsign-type"/>
|
||||
<xs:element name="MMSINumber" type="mmsinumber-type"/>
|
||||
<xs:element name="ENINumber" type="eninumber-type" minOccurs="0"/>
|
||||
<xs:element name="ShipName" type="string1-99-type"/>
|
||||
<xs:element name="Flag" type="flag-type"/>
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:element name="LengthOverall_MTR" type="posfloat-type"/>
|
||||
<xs:element name="Beam_MTR" type="posfloat-type"/>
|
||||
<xs:element name="GrossTonnage" type="posint-type"/>
|
||||
<xs:element name="PortOfRegistry" type="locode-type"/>
|
||||
<xs:element name="InmarsatCallNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ShipType" type="ship-type"/>
|
||||
<xs:element name="ISMCompany" type="ismcompany" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="broker_owner">
|
||||
<xs:sequence>
|
||||
<xs:element name="name_short" type="string1-99-type"/>
|
||||
<xs:element name="name_long" type="string1-99-type"/>
|
||||
<xs:element name="address" type="address-type"/>
|
||||
<xs:element name="contact" type="contacts"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="contacts">
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="string1-99-type"/>
|
||||
<xs:element name="firstname" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="phone" type="string1-99-type"/>
|
||||
<xs:element name="fax" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="email" type="string1-99-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="packages">
|
||||
<xs:sequence>
|
||||
<xs:element name="numberofpackages" type="xs:integer"/>
|
||||
<xs:element name="packagediscription" type="xs:string"/>
|
||||
<xs:element name="packagecode" type="xs:string" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="measure">
|
||||
<xs:sequence>
|
||||
<xs:element name="dimension" type="xs:string"/>
|
||||
<xs:element name="value" type="xs:string"/>
|
||||
<xs:element name="kind" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="class7">
|
||||
<xs:sequence>
|
||||
<xs:element name="radioactivity" type="measure"/>
|
||||
<xs:element name="criticalindex" type="measure"/>
|
||||
<xs:element name="transportindex" type="measure"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="address-type">
|
||||
<xs:sequence>
|
||||
<xs:element name="StreetNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="Place" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="PostCode" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="Locode" type="locode-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:complexType name="callpurposes">
|
||||
<xs:sequence>
|
||||
<xs:element name="CallPurpose" type="callpurpose" maxOccurs="9" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="callpurpose">
|
||||
<xs:sequence>
|
||||
<xs:element name="CallPurposeCode" type="callpurposecode-type"/>
|
||||
<xs:element name="CallPurposeDescription" type="string1-99-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="ismcompany">
|
||||
<xs:sequence>
|
||||
<xs:element name="ISMCompanyName" type="string1-99-type"/>
|
||||
<xs:element name="ISMCompanyId" type="companyid-type"/>
|
||||
<xs:element name="ISMCompanyStreetAndNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ISMCompanyPostalCode" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="ISMCompanyCity" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ISMCompanyCountry" type="string1-99-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="pob">
|
||||
<xs:sequence>
|
||||
<xs:element name="TotalPersonsOnBoard" type="pob-type"/>
|
||||
<xs:element name="TotalCrewMembersOnBoard" type="posint-type"/>
|
||||
<xs:element name="TotalPassengersOnBoard" type="posint0-type"/>
|
||||
<xs:element name="TotalStowawaysOnBoard" type="posint0-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="info">
|
||||
<xs:sequence>
|
||||
<xs:element name="ShippingArea" type="shippingarea-type"/>
|
||||
<xs:element name="RequestedPositionInPortOfCall" type="string1-99-type"/>
|
||||
<xs:element name="SpecialRequirementsOfShipAtBerth" type="string1-255-type" minOccurs="0"/>
|
||||
<xs:element name="ConstructionCharacteristicsOfShip" type="string0-99-type" minOccurs="0"/>
|
||||
<xs:element name="FumigatedBulkCargo" type="yorn-type"/>
|
||||
<xs:element name="DeadWeightSummer_TNE" type="xs:float" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="subsidiaryrisks">
|
||||
<xs:sequence>
|
||||
<xs:element name="SubsidiaryRisk" type="risk-type" minOccurs="1" maxOccurs="5"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- ============ simple types ============ -->
|
||||
<xs:simpleType name="callsign-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='4' />
|
||||
<xs:maxLength value='7' />
|
||||
<xs:pattern value="[A-Za-z0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="class7csi-type">
|
||||
<xs:restriction base='xs:integer'>
|
||||
<xs:minInclusive value="0"/>
|
||||
<xs:maxInclusive value="100"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="class7ti-type">
|
||||
<xs:restriction base='xs:float'>
|
||||
<xs:minInclusive value="0" />
|
||||
<xs:maxInclusive value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="email-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='5' />
|
||||
<xs:maxLength value='100' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="eninumber-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='8' />
|
||||
<xs:maxLength value='8' />
|
||||
<xs:pattern value="[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="flag-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='2' />
|
||||
<xs:maxLength value='2' />
|
||||
<xs:pattern value="[A-Z]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="imoclass-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
<xs:maxLength value="10" />
|
||||
<xs:pattern value="[0-9A-Z\.]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="imonumber-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="7" />
|
||||
<xs:maxLength value="7" />
|
||||
<xs:pattern value="[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="locode-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='5' />
|
||||
<xs:maxLength value='5' />
|
||||
<xs:pattern value="[A-Z][A-Z][A-Z0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="mmsinumber-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='9' />
|
||||
<xs:maxLength value='10' />
|
||||
<xs:pattern value="[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="ship-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='2'/>
|
||||
<xs:maxLength value='3'/>
|
||||
<xs:pattern value="[A-Z0-9]*"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="phonefax-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='2' />
|
||||
<xs:maxLength value='50' />
|
||||
<xs:pattern value="[\+]{0,1}[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="pob-type">
|
||||
<xs:restriction base='xs:integer'>
|
||||
<xs:minInclusive value="1" />
|
||||
<xs:maxInclusive value="99998" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posint-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minExclusive value="0" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="unnumber-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="4" />
|
||||
<xs:maxLength value="4" />
|
||||
<xs:pattern value="[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="version-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='3' />
|
||||
<xs:maxLength value='10' />
|
||||
<xs:pattern value="[0-9]*.[0-9]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posfloat-type">
|
||||
<xs:restriction base="xs:float">
|
||||
<xs:minExclusive value="0" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="referencecode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='32' />
|
||||
<xs:pattern value="[0-9a-zA-Z]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="referenceid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='0' />
|
||||
<xs:maxLength value='100' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string1-24-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='24' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string1-99-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='99' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string1-255-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='255' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:simpleType name="callpurposecode-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="1"/>
|
||||
<xs:maxExclusive value="1000"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="class1cg-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='1' />
|
||||
<xs:pattern value="[A-Z]*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="companyid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='7'/>
|
||||
<xs:maxLength value='7'/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="flashpointcel-type">
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:minLength value='1'/>
|
||||
<xs:maxLength value='10'/>
|
||||
<xs:pattern value="[<>]?[\-]?[0-9]+(\.[0-9]+)?"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="risk-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
<xs:maxLength value="11" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="cargocode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='2'/>
|
||||
<xs:maxLength value='2'/>
|
||||
<xs:pattern value="[0-9]+"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="visitid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="DE[A-Z]{3}-[0-9]{4}-[A-Z]{6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="transitid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="ZZNOK-[0-9]{4}-[A-Z]{6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string0-99-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='0' />
|
||||
<xs:maxLength value='99' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posint0-type">
|
||||
<xs:restriction base='xs:integer'>
|
||||
<xs:minInclusive value="0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posfloat0-type">
|
||||
<xs:restriction base='xs:float'>
|
||||
<xs:minInclusive value="0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- ======== simple types - enumerations =========== -->
|
||||
<xs:simpleType name="class7cat-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="1" />
|
||||
<xs:enumeration value="2" />
|
||||
<xs:enumeration value="3" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="dgcode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="IMDG"/>
|
||||
<xs:enumeration value="IMDG_MoU"/>
|
||||
<xs:enumeration value="IBC"/>
|
||||
<xs:enumeration value="MARPOL_ANNEX_I"/>
|
||||
<xs:enumeration value="IGC"/>
|
||||
<xs:enumeration value="IMSBC"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="flashpointinfo-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="NF" />
|
||||
<xs:enumeration value="GT60CEL" />
|
||||
<xs:enumeration value="LE60CEL" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="handlingcode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="LOAD"/>
|
||||
<xs:enumeration value="DISCHARGE"/>
|
||||
<!--neu 02.07.2015-->
|
||||
<xs:enumeration value="TRANSIT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="infclass-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="1"/>
|
||||
<xs:enumeration value="2"/>
|
||||
<xs:enumeration value="3"/>
|
||||
<xs:enumeration value="INF1"/>
|
||||
<xs:enumeration value="INF2"/>
|
||||
<xs:enumeration value="INF3"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="packinggroup-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="1" />
|
||||
<xs:enumeration value="2" />
|
||||
<xs:enumeration value="3" />
|
||||
<xs:enumeration value="I" />
|
||||
<xs:enumeration value="II" />
|
||||
<xs:enumeration value="III" />
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:enumeration value="NONE" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="polcat-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="X" />
|
||||
<xs:enumeration value="Y" />
|
||||
<xs:enumeration value="Z" />
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:enumeration value="OS" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="yorn-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Y" />
|
||||
<xs:enumeration value="N" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- neu in 1-0 -->
|
||||
<xs:simpleType name="shippingarea-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="NORTH_BALTIC_SEA"/>
|
||||
<xs:enumeration value="EUROPE"/>
|
||||
<xs:enumeration value="OVERSEAS"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="hazard-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="P"/>
|
||||
<xs:enumeration value="S"/>
|
||||
<xs:enumeration value="S/P"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="y-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Y"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="gender-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MALE"/>
|
||||
<xs:enumeration value="FEMALE"/>
|
||||
<xs:enumeration value="OTHER"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="document-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="IDENTITY_CARD"/>
|
||||
<xs:enumeration value="PASSPORT"/>
|
||||
<xs:enumeration value="MUSTER_BOOK"/>
|
||||
<xs:enumeration value="PICTURE_ID"/>
|
||||
<xs:enumeration value="RESIDENTAL_PERMIT"/>
|
||||
<xs:enumeration value="OTHER_LEGAL_IDENTITY_DOCUMENT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posint1-3-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:enumeration value="1"/>
|
||||
<xs:enumeration value="2"/>
|
||||
<xs:enumeration value="3"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
72
nsw/HIS-NORD/xsd/mdh_reeder.xsd
Normal file
72
nsw/HIS-NORD/xsd/mdh_reeder.xsd
Normal file
@ -0,0 +1,72 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:complexType name="mdh">
|
||||
<xs:sequence>
|
||||
<xs:element name="NonAccidentialDeathsDuringVoyage" type="yorn-type"/>
|
||||
<xs:element name="NonAccidentialDeathsDuringVoyageCount" type="posint-type" minOccurs="0"/>
|
||||
<xs:element name="SuspisionInfectiousNature" type="yorn-type"/>
|
||||
<xs:element name="NumberOfIllPersonsHigherThanExpected" type="yorn-type"/>
|
||||
<xs:element name="NumberOfIllPersons" type="posint-type" minOccurs="0"/>
|
||||
<xs:element name="SickPersonOnBoard" type="yorn-type"/>
|
||||
<xs:element name="MedicalConsulted" type="yorn-type"/>
|
||||
<xs:element name="AwareOfConditionsForFurtherInfections" type="yorn-type"/>
|
||||
<xs:element name="SanitaryMeasuresApplied" type="yorn-type"/>
|
||||
<xs:element name="SanitaryMeasuresDetails" type="sanitarydetails" minOccurs="0"/>
|
||||
<xs:element name="StowawaysDetected" type="yorn-type"/>
|
||||
<xs:element name="StowawayJoiningLocation" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="SickAnimalOrPetOnBoard" type="yorn-type"/>
|
||||
<xs:element name="ValidSanitaryControlExemptionOrCertificateOnBoard" type="yorn-type"/>
|
||||
<xs:element name="ValidSanitaryControlExemptionOrCertificate" type="sanitarycertificate" minOccurs="0"/>
|
||||
<xs:element name="SanitaryControlReinspectionRequired" type="yorn-type"/>
|
||||
<xs:element name="InfectedAreaVisited" type="yorn-type"/>
|
||||
<xs:element name="InfectedArea" type="infectedarea" minOccurs="0"/>
|
||||
<xs:element name="PortsOfCallLast30Days" type="portofcalls"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="sanitarydetails">
|
||||
<xs:sequence>
|
||||
<xs:element name="SanitaryMeasuresType" type="string1-99-type"/>
|
||||
<xs:element name="SanitaryMeasuresLocation" type="string1-99-type"/>
|
||||
<xs:element name="SanitaryMeasuresDate" type="xs:date"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="sanitarycertificate">
|
||||
<xs:sequence>
|
||||
<xs:element name="PlaceOfIssue" type="string1-99-type"/>
|
||||
<xs:element name="DateOfIssue" type="xs:date"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="infectedarea">
|
||||
<xs:sequence>
|
||||
<xs:element name="InfectedAreaPort" type="string1-99-type"/>
|
||||
<xs:element name="InfectedAreaDate" type="xs:date"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="portofcalls">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfCallLast30Days" type="portofcallmdh" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="portofcallmdh">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfCallLast30DaysLocode" type="locode-type"/>
|
||||
<xs:element name="PortOfCallLast30DaysDateOfDeparture" type="xs:date"/>
|
||||
<xs:element name="PortOfCallLast30DaysCrewMembersJoined" type="yorn-type"/>
|
||||
<xs:element name="PortOfCallLast30DaysCrewJoinedShip" type="crewjoined" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="crewjoined">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortOfCallLast30DaysCrewJoinedShipName" type="string1-99-type" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
34
nsw/HIS-NORD/xsd/pas_reeder.xsd
Normal file
34
nsw/HIS-NORD/xsd/pas_reeder.xsd
Normal file
@ -0,0 +1,34 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="pas">
|
||||
<xs:sequence>
|
||||
<xs:element name="Passengers" type="passengers"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="passengers">
|
||||
<xs:sequence>
|
||||
<xs:element name="Passenger" type="passenger" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="passenger">
|
||||
<xs:sequence>
|
||||
<xs:element name="PassengerLastName" type="string1-99-type"/>
|
||||
<xs:element name="PassengerFirstName" type="string1-99-type"/>
|
||||
<xs:element name="PassengerPlaceOfBirth" type="string1-99-type"/>
|
||||
<xs:element name="PassengerDateOfBirth" type="xs:date"/>
|
||||
<xs:element name="PassengerGender" type="gender-type" minOccurs="0"/>
|
||||
<xs:element name="PassengerNationality" type="flag-type"/>
|
||||
<xs:element name="PassengerIdentityDocumentType" type="document-type"/>
|
||||
<xs:element name="PassengerIdentityDocumentId" type="string1-99-type"/>
|
||||
<xs:element name="PassengerVisaNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="PassengerPortOfEmbarkation" type="locode-type"/>
|
||||
<xs:element name="PassengerPortOfDisembarkation" type="locode-type"/>
|
||||
<xs:element name="PassengerInTransit" type="yorn-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
40
nsw/HIS-NORD/xsd/prearrival72_reeder.xsd
Normal file
40
nsw/HIS-NORD/xsd/prearrival72_reeder.xsd
Normal file
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 12.03.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:complexType name="pre72">
|
||||
<xs:sequence>
|
||||
<xs:element name="Tanker" type="yorn-type"/>
|
||||
<xs:element name="TankerDetails" type="tankerdetails" minOccurs="0"/>
|
||||
<xs:element name="PlannedOperations" type="string1-99-type"/>
|
||||
<xs:element name="PlannedWorks" type="string1-255-type"/>
|
||||
<xs:element name="DateOfLastExpandedInspection" type="xs:date"/>
|
||||
<xs:element name="PlannedPeriodOfStay_HUR" type="posfloat0-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="tankerdetails">
|
||||
<xs:sequence>
|
||||
<xs:element name="TankerHullConfiguration" type="hullconfig-type"/>
|
||||
<xs:element name="ConditionCargoBallastTanks" type="cargocondition-type"/>
|
||||
<xs:element name="NatureOfCargo" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="VolumeOfCargo_TNE" type="posfloat-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- ======== simple types - enumerations =========== -->
|
||||
<xs:simpleType name="hullconfig-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SINGLE_HULL"/>
|
||||
<xs:enumeration value="SINGLE_HULL_WITH_SBT"/>
|
||||
<xs:enumeration value="DOUBLE_HULL"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="cargocondition-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="FULL"/>
|
||||
<xs:enumeration value="EMPTY"/>
|
||||
<xs:enumeration value="INERTED"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
105
nsw/HIS-NORD/xsd/sec_reeder.xsd
Normal file
105
nsw/HIS-NORD/xsd/sec_reeder.xsd
Normal file
@ -0,0 +1,105 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 12.03.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="sec">
|
||||
<xs:sequence>
|
||||
<xs:element name="CSOLastName" type="string1-99-type"/>
|
||||
<xs:element name="CSOFirstName" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="CSOPhone" type="string1-99-type"/>
|
||||
<xs:element name="CSOFax" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="CSOEMail" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ValidISSCOnBoard" type="yorn-type"/>
|
||||
<xs:element name="ReasonsForNoValidISSC" type="string1-255-type" minOccurs="0"/>
|
||||
<xs:element name="ISSCType" type="issc-type"/>
|
||||
<xs:element name="ISSCIssuerType" type="isscissuer-type"/>
|
||||
<xs:element name="ISSCIssuerName" type="string1-99-type"/>
|
||||
<xs:element name="ISSCDateOfExpiration" type="xs:date"/>
|
||||
<xs:element name="ApprovedSecurityPlanOnBoard" type="yorn-type"/>
|
||||
<xs:element name="CurrentShipSecurityLevel " type="posint1-3-type"/>
|
||||
<xs:element name="PortFacilityOfArrival" type="string1-99-type"/>
|
||||
<xs:element name="GeneralDescriptionOfCargo" type="cargodescription-type"/>
|
||||
<xs:element name="Last10Ports" type="last10ports"/>
|
||||
<xs:element name="LastActivities" type="lastactivities" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="last10ports">
|
||||
<xs:sequence>
|
||||
<xs:element name="LastPort" type="last10port" maxOccurs="10"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="last10port">
|
||||
<xs:sequence>
|
||||
<xs:element name="PortFacilityPortName" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="PortFacilityPortCountry" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="PortFacilityPortLoCode" type="locode-type" minOccurs="0"/>
|
||||
<xs:element name="PortFacilityDateOfArrival" type="xs:date"/>
|
||||
<xs:element name="PortFacilityDateOfDeparture" type="xs:date"/>
|
||||
<xs:element name="PortFacilityShipSecurityLevel" type="posint1-3-type"/>
|
||||
<xs:element name="PortFacilitySecurityMattersToReport" type="string1-255-type" minOccurs="0"/>
|
||||
<xs:element name="PortFacilityGISISCode" type="unnumber-type"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Index" type="posint-type" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="lastactivities">
|
||||
<xs:sequence>
|
||||
<xs:element name="LastActivity" type="lastactivity" minOccurs="0" maxOccurs="10"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="lastactivity">
|
||||
<xs:sequence>
|
||||
<xs:element name="ShipToShipActivityLocation" type="location"/>
|
||||
<xs:element name="ShipToShipActivityDateFrom" type="xs:date"/>
|
||||
<xs:element name="ShipToShipActivityDateTo" type="xs:date"/>
|
||||
<xs:element name="ShipToShipActivityType" type="string1-255-type"/>
|
||||
<xs:element name="ShipToShipActivitySecurityMattersToReportOf" type="string1-255-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="location">
|
||||
<xs:choice maxOccurs="3">
|
||||
<xs:element name="ShipToShipActivityLocationName" type="string1-255-type"/>
|
||||
<xs:element name="ShipToShipActivityLocationLoCode" type="locode-type"/>
|
||||
<xs:element name="ShipToShipActivityLocationCoordinates" type="coordinates"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="coordinates">
|
||||
<xs:sequence>
|
||||
<xs:element name="ShipToShipActivityLocationCoordinatesLatitude" type="xs:integer"/>
|
||||
<xs:element name="ShipToShipActivityLocationCoordinatesLongitude" type="xs:integer"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- ======== simple types - enumerations =========== -->
|
||||
|
||||
<xs:simpleType name="issc-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="FULL"/>
|
||||
<xs:enumeration value="INTERIM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="isscissuer-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ADMINISTRATION"/>
|
||||
<xs:enumeration value="RSO"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="cargodescription-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CONTAINER"/>
|
||||
<xs:enumeration value="VEHICLES"/>
|
||||
<xs:enumeration value="CONVENTIONAL_GENERAL_CARGO"/>
|
||||
<xs:enumeration value="DRY_CARGO_IN_BULK"/>
|
||||
<xs:enumeration value="LIQUID_CARGO_IN_BULK"/>
|
||||
<xs:enumeration value="EMPTY"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
25
nsw/HIS-NORD/xsd/serv_reeder.xsd
Normal file
25
nsw/HIS-NORD/xsd/serv_reeder.xsd
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="serv">
|
||||
<xs:sequence>
|
||||
<xs:element name="Services" type="services"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="services">
|
||||
<xs:sequence>
|
||||
<xs:element name="Service" type="service" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="service">
|
||||
<xs:sequence>
|
||||
<xs:element name="ServiceInvoiced" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="ServiceBeneficiary" type="string1-99-type"/>
|
||||
<xs:element name="ServiceInvoiceRecipient" type="string1-99-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
50
nsw/HIS-NORD/xsd/tow_reeder.xsd
Normal file
50
nsw/HIS-NORD/xsd/tow_reeder.xsd
Normal file
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 12.03.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="tows">
|
||||
<xs:sequence>
|
||||
<xs:element name="TOW" type="tow" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="tow">
|
||||
<xs:sequence>
|
||||
<xs:element name="TowageName" type="string1-99-type"/>
|
||||
<xs:element name="TowageFlag" type="flag-type" minOccurs="0"/>
|
||||
<xs:element name="TowageOperator" type="towageoperator" minOccurs="0"/>
|
||||
<xs:element name="TowageGrossTonnage" type="posint-type" minOccurs="0"/>
|
||||
<xs:element name="TowageLengthOverall_MTR" type="posfloat-type"/>
|
||||
<xs:element name="TowageBeam_MTR" type="posfloat-type"/>
|
||||
<xs:element name="TowagePurposeOfCall" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="TowageDraught_DMT" type="posfloat-type"/>
|
||||
<xs:element name="TowageRemarks" type="string1-255-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="towageoperator">
|
||||
<xs:sequence>
|
||||
<xs:element name="TowageOperatorCompanyName" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="Address" type="address" minOccurs="0"/>
|
||||
<xs:element name="Contact" type="contact" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="address">
|
||||
<xs:sequence>
|
||||
<xs:element name="TowageOperatorStreetAndNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="TowageOperatorPostalCode" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="TowageOperatorCity" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="TowageOperatorCountry" type="string1-99-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="contact">
|
||||
<xs:sequence>
|
||||
<xs:element name="TowageOperatorPhone" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="TowageOperatorFax" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="TowareOperatorEMail" type="string1-99-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
69
nsw/HIS-NORD/xsd/waste_reeder.xsd
Normal file
69
nsw/HIS-NORD/xsd/waste_reeder.xsd
Normal file
@ -0,0 +1,69 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="was">
|
||||
<xs:sequence>
|
||||
<xs:element name="LastWasteDisposalPort" type="locode-type"/>
|
||||
<xs:element name="LastWasteDisposalDate" type="xs:date"/>
|
||||
<xs:element name="WasteDisposalServiceProviderName" type="string0-99-type" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="WasteDisposalDelivery" type="wastedelivery-type"/>
|
||||
<xs:element name="Wastes" type="wastes">
|
||||
<xs:unique name="WasteUnique">
|
||||
<xs:selector xpath="Waste"/>
|
||||
<xs:field xpath="@WasteType"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
<xs:element name="ConfirmationOfCorrectness" type="yorn-type"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="wastes">
|
||||
<xs:sequence>
|
||||
<xs:element name="Waste" type="waste" minOccurs="9" maxOccurs="9"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="waste">
|
||||
<xs:sequence>
|
||||
<xs:element name="WasteDescription" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="WasteDisposalAmount_MTQ" type="posfloat0-type"/>
|
||||
<xs:element name="WasteDetails" type="wastedetails" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="WasteType" type="waste-type" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="wastedetails">
|
||||
<xs:sequence>
|
||||
<xs:element name="WasteCapacity_MTQ" type="posfloat0-type" minOccurs="0"/>
|
||||
<xs:element name="WasteAmountRetained_MTQ" type="posfloat0-type" minOccurs="0"/>
|
||||
<xs:element name="WasteDisposalPort" type="locode-type" minOccurs="0"/>
|
||||
<xs:element name="WasteAmountGeneratedTillNextPort_MTQ" type="posfloat0-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- ======== simple types - enumerations =========== -->
|
||||
|
||||
<xs:simpleType name="wastedelivery-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ALL"/>
|
||||
<xs:enumeration value="SOME"/>
|
||||
<xs:enumeration value="NONE"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="waste-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="WASTE_OILS-SLUDGE"/>
|
||||
<xs:enumeration value="WASTE_OILS-BILGE_WATER"/>
|
||||
<xs:enumeration value="WASTE_OILS-OTHERS"/>
|
||||
<xs:enumeration value="GARBAGE-FOOD_WASTE"/>
|
||||
<xs:enumeration value="GARBAGE-PLASTIC"/>
|
||||
<xs:enumeration value="GARBAGE-OTHER"/>
|
||||
<xs:enumeration value="SEWAGE"/>
|
||||
<xs:enumeration value="CARGO-ASSOCIATED_WASTE"/>
|
||||
<xs:enumeration value="CARGO-RESIDUES"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
@ -13,8 +13,7 @@ using log4net;
|
||||
|
||||
using bsmd.database;
|
||||
using bsmd.dbh;
|
||||
|
||||
|
||||
using bsmd.hisnord;
|
||||
|
||||
namespace SendNSWMessageService
|
||||
{
|
||||
@ -129,18 +128,19 @@ namespace SendNSWMessageService
|
||||
case Message.NSWProvider.DBH:
|
||||
sendSucceeded = bsmd.dbh.Request.SendMessage(message);
|
||||
if (!sendSucceeded)
|
||||
{
|
||||
message.InternalStatus = Message.BSMDStatus.SEND_FAILED;
|
||||
}
|
||||
break;
|
||||
|
||||
case Message.NSWProvider.DAKOSY:
|
||||
sendSucceeded = bsmd.dakosy.Request.Send(message);
|
||||
if (!sendSucceeded) message.InternalStatus = Message.BSMDStatus.SEND_FAILED;
|
||||
break;
|
||||
|
||||
case Message.NSWProvider.DUDR:
|
||||
_log.Warn("Cannot send via Daten und Dienste HRO yet");
|
||||
sendSucceeded = bsmd.hisnord.Request.Send(message);
|
||||
if (!sendSucceeded) message.InternalStatus = Message.BSMDStatus.SEND_FAILED;
|
||||
break;
|
||||
|
||||
default:
|
||||
_log.WarnFormat("Initial HIS not specified for message {0}", message.Id);
|
||||
break;
|
||||
|
||||
@ -114,6 +114,10 @@
|
||||
<Project>{df625ff0-2265-4686-9cb6-2a8511cb3b9d}</Project>
|
||||
<Name>bsmd.dbh</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\bsmd.hisnord\bsmd.hisnord.csproj">
|
||||
<Project>{e7e48971-e879-4e6a-b316-70ac0a6f4c95}</Project>
|
||||
<Name>bsmd.hisnord</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
|
||||
@ -150,16 +150,25 @@ namespace bsmd.ReportGenerator
|
||||
paragraph = section.AddParagraph("EU-NOAD incoming data receipt");
|
||||
paragraph.Format.Font.Size = 16;
|
||||
paragraph.Format.Font.Color = Colors.DarkRed;
|
||||
paragraph.Format.SpaceBefore = "8cm";
|
||||
paragraph.Format.SpaceBefore = Unit.FromCentimeter(4);
|
||||
|
||||
paragraph = section.AddParagraph("Rendering date: ");
|
||||
paragraph.Format.SpaceAfter = "2cm";
|
||||
paragraph.Format.SpaceAfter = Unit.FromCentimeter(3);
|
||||
paragraph.AddDateField();
|
||||
|
||||
paragraph = section.AddParagraph();
|
||||
paragraph.Format.Font.Size = 14;
|
||||
Table table = document.LastSection.AddTable();
|
||||
table.Format.Font.Size = 14;
|
||||
Column column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(4);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(8);
|
||||
|
||||
foreach (string key in coverInfos.Keys)
|
||||
paragraph.AddText(string.Format("{0}:\t\t{1}\n", key, coverInfos[key]));
|
||||
{
|
||||
Row row = table.AddRow();
|
||||
row.Cells[0].AddParagraph(key);
|
||||
row.Cells[1].AddParagraph(coverInfos[key] ?? string.Empty);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -203,27 +212,329 @@ namespace bsmd.ReportGenerator
|
||||
document.LastSection.AddParagraph(messageParagraph.Title, "Heading2");
|
||||
document.LastSection.AddParagraph(messageParagraph.Subtitle, "Heading3");
|
||||
|
||||
if (messageParagraph.MessageText != null) // 1:n message (CREW, PAS,..)
|
||||
Message message = messageParagraph as Message;
|
||||
|
||||
// Spezialbehandlung WAS Meldung
|
||||
if ((message != null) && (message.MessageNotificationClass == Message.NotificationClass.WAS))
|
||||
{
|
||||
BSMDDocument.CreateWASTable(document, message);
|
||||
return;
|
||||
}
|
||||
|
||||
if((message != null) && (message.MessageNotificationClass == Message.NotificationClass.BKRD))
|
||||
{
|
||||
BSMDDocument.CreateBKRDTable(document, message);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((message != null) && (message.MessageNotificationClass == Message.NotificationClass.BKRA))
|
||||
{
|
||||
BSMDDocument.CreateBKRATable(document, message);
|
||||
return;
|
||||
}
|
||||
|
||||
if((message != null) && (message.MessageNotificationClass == Message.NotificationClass.LADG))
|
||||
{
|
||||
BSMDDocument.CreateLADGTable(document, message);
|
||||
return;
|
||||
}
|
||||
|
||||
if (messageParagraph.MessageText != null) // komplette Nachricht (z.B. STAT)
|
||||
BSMDDocument.AddActualTableParagraph(document, messageParagraph.MessageText, false);
|
||||
|
||||
if (messageParagraph.ChildParagraphs != null)
|
||||
if((message != null) && (message.MessageNotificationClass == Message.NotificationClass.SEC))
|
||||
{
|
||||
// TODO: Adäquate Tabellendarstellung designen
|
||||
BSMDDocument.CreateLast10PortFacilitiesTable(document, message);
|
||||
return;
|
||||
}
|
||||
|
||||
//if (messageParagraph.ShowChildrenAsTable)
|
||||
//{
|
||||
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
if (messageParagraph.ChildParagraphs != null) // 1:n message (CREW, PAS,..)
|
||||
{
|
||||
foreach (IMessageParagraph childParagraph in messageParagraph.ChildParagraphs)
|
||||
{
|
||||
BSMDDocument.AddActualTableParagraph(document, childParagraph.MessageText, true);
|
||||
}
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
#region LADG
|
||||
|
||||
private static void CreateLADGTable(Document document, Message message)
|
||||
{
|
||||
Table table = document.LastSection.AddTable();
|
||||
table.Rows.VerticalAlignment = VerticalAlignment.Center;
|
||||
table.Borders.Visible = true;
|
||||
|
||||
Column column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(1);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(7);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(4);
|
||||
|
||||
Row hRow = table.AddRow();
|
||||
hRow.Cells[1].AddParagraph("handling type");
|
||||
hRow.Cells[2].AddParagraph("Code (NST2007)");
|
||||
hRow.Cells[1].AddParagraph("Number of items");
|
||||
hRow.Cells[2].AddParagraph("Gross quantity (tons)");
|
||||
|
||||
for (int i = 0; i < message.Elements.Count; i++)
|
||||
{
|
||||
Row row = table.AddRow();
|
||||
LADG ladg = message.Elements[i] as LADG;
|
||||
row.Cells[0].AddParagraph((i + 1).ToString());
|
||||
row.Cells[1].AddParagraph(ladg.CargoHandlingType.HasValue ? (ladg.CargoHandlingType.Value == 0) ? "Load" : "Discharge" : "");
|
||||
row.Cells[2].AddParagraph(ladg.CargoCodeNST ?? "");
|
||||
row.Cells[3].AddParagraph(ladg.CargoNumberOfItems.HasValue ? ladg.CargoNumberOfItems.Value.ToString() : "");
|
||||
row.Cells[4].AddParagraph(ladg.CargoGrossQuantity_TNE.HasValue ? ladg.CargoGrossQuantity_TNE.Value.ToString() : "");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region SEC
|
||||
|
||||
private static void CreateLast10PortFacilitiesTable(Document document, Message message)
|
||||
{
|
||||
SEC sec = message.Elements[0] as SEC;
|
||||
if (sec.LastTenPortFacilitesCalled.Count > 0)
|
||||
{
|
||||
document.LastSection.AddParagraph("Last 10 port facilites called", "Heading3");
|
||||
Table table = document.LastSection.AddTable();
|
||||
table.Rows.VerticalAlignment = VerticalAlignment.Center;
|
||||
table.Borders.Visible = true;
|
||||
|
||||
Column column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(0.8);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(3.9);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(1.5);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(0.8);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(1);
|
||||
|
||||
Row hRow = table.AddRow();
|
||||
hRow.Cells[0].AddParagraph("No.");
|
||||
hRow.Cells[1].AddParagraph("Port name");
|
||||
hRow.Cells[2].AddParagraph("Country");
|
||||
hRow.Cells[3].AddParagraph("LoCode");
|
||||
hRow.Cells[4].AddParagraph("Arr.");
|
||||
hRow.Cells[5].AddParagraph("Dep.");
|
||||
hRow.Cells[6].AddParagraph("Ship sec. level");
|
||||
hRow.Cells[7].AddParagraph("sec. matter to report");
|
||||
hRow.Cells[8].AddParagraph("GISIS");
|
||||
|
||||
for(int i=0;i<sec.LastTenPortFacilitesCalled.Count;i++) {
|
||||
Row row = table.AddRow();
|
||||
BSMDDocument.SetLast10PortFacility((i + 1), sec.LastTenPortFacilitesCalled[i], row);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void SetLast10PortFacility(int p, LastTenPortFacilitiesCalled lastTenPortFacilitiesCalled, Row row)
|
||||
{
|
||||
row.Cells[0].AddParagraph(p.ToString());
|
||||
row.Cells[1].AddParagraph(lastTenPortFacilitiesCalled.PortFacilityPortName ?? "");
|
||||
row.Cells[2].AddParagraph(lastTenPortFacilitiesCalled.PortFacilityPortCountry ?? "");
|
||||
row.Cells[3].AddParagraph(lastTenPortFacilitiesCalled.PortFacilityPortLoCode ?? "");
|
||||
row.Cells[4].AddParagraph(lastTenPortFacilitiesCalled.PortFacilityDateOfArrival.HasValue ? lastTenPortFacilitiesCalled.PortFacilityDateOfArrival.Value.ToShortDateString() : "");
|
||||
row.Cells[5].AddParagraph(lastTenPortFacilitiesCalled.PortFacilityDateOfDeparture.HasValue ? lastTenPortFacilitiesCalled.PortFacilityDateOfDeparture.Value.ToShortDateString() : "");
|
||||
row.Cells[6].AddParagraph(lastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel.HasValue ? lastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel.ToString() : "");
|
||||
row.Cells[7].AddParagraph(lastTenPortFacilitiesCalled.PortFacilitySecurityMattersToReport ?? "");
|
||||
row.Cells[8].AddParagraph(lastTenPortFacilitiesCalled.PortFacilityGISISCode ?? "");
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region BKRD
|
||||
|
||||
private static void CreateBKRDTable(Document document, Message message)
|
||||
{
|
||||
Table table = document.LastSection.AddTable();
|
||||
table.Rows.VerticalAlignment = VerticalAlignment.Center;
|
||||
table.Borders.Visible = true;
|
||||
|
||||
Column column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(6);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(8);
|
||||
|
||||
Row hRow = table.AddRow();
|
||||
hRow.Cells[1].AddParagraph("Name / type of fuel");
|
||||
hRow.Cells[2].AddParagraph("Bunker fuel amount in tons");
|
||||
|
||||
for (int i = 0; i < message.Elements.Count; i++)
|
||||
{
|
||||
Row row = table.AddRow();
|
||||
BRKD brkd = message.Elements[i] as BRKD;
|
||||
row.Cells[0].AddParagraph((i + 1).ToString());
|
||||
row.Cells[1].AddParagraph(brkd.BunkerFuelType ?? "");
|
||||
row.Cells[2].AddParagraph(brkd.BunkerFuelQuantity_TNE.HasValue ? brkd.BunkerFuelQuantity_TNE.Value.ToString("N2") : "");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region BKRA
|
||||
|
||||
private static void CreateBKRATable(Document document, Message message)
|
||||
{
|
||||
Table table = document.LastSection.AddTable();
|
||||
table.Rows.VerticalAlignment = VerticalAlignment.Center;
|
||||
table.Borders.Visible = true;
|
||||
|
||||
Column column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(6);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(8);
|
||||
|
||||
Row hRow = table.AddRow();
|
||||
hRow.Cells[1].AddParagraph("Name / type of fuel");
|
||||
hRow.Cells[2].AddParagraph("Bunker fuel amount in tons");
|
||||
|
||||
for (int i = 0; i < message.Elements.Count; i++)
|
||||
{
|
||||
Row row = table.AddRow();
|
||||
BRKA brkd = message.Elements[i] as BRKA;
|
||||
row.Cells[0].AddParagraph((i + 1).ToString());
|
||||
row.Cells[1].AddParagraph(brkd.BunkerFuelType ?? "");
|
||||
row.Cells[2].AddParagraph(brkd.BunkerFuelQuantity_TNE.HasValue ? brkd.BunkerFuelQuantity_TNE.Value.ToString("N2") : "");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region CreateWASTable
|
||||
|
||||
private static void CreateWASTable(Document document, Message message)
|
||||
{
|
||||
WAS was = message.Elements[0] as WAS;
|
||||
|
||||
Table table = document.LastSection.AddTable();
|
||||
table.Rows.VerticalAlignment = VerticalAlignment.Center;
|
||||
table.Borders.Visible = true;
|
||||
|
||||
Column column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(10);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(6);
|
||||
|
||||
Row row = table.AddRow();
|
||||
row.Cells[0].AddParagraph("Last port where waste or cargo residues were discharged");
|
||||
row.Cells[1].AddParagraph("Date of last disposal");
|
||||
row = table.AddRow();
|
||||
row.Cells[0].AddParagraph(was.LastWasteDisposalPort ?? "");
|
||||
if(was.LastWasteDisposalDate.HasValue)
|
||||
row.Cells[1].AddParagraph(was.LastWasteDisposalDate.ToString());
|
||||
row = table.AddRow();
|
||||
row.Cells[0].AddParagraph("Name of waste disposal service provider");
|
||||
row.Cells[1].AddParagraph("Waste disposal order (all, some, none");
|
||||
row = table.AddRow();
|
||||
for (int i = 0; i < was.WasteDisposalServiceProvider.Count; i++)
|
||||
row.Cells[0].AddParagraph(was.WasteDisposalServiceProvider[i].WasteDisposalServiceProviderName);
|
||||
if (was.WasteDisposalDelivery.HasValue)
|
||||
row.Cells[1].AddParagraph((was.WasteDisposalDelivery.Value == 0) ? "ALL" : (was.WasteDisposalDelivery == 1) ? "SOME" : "NONE");
|
||||
|
||||
table = document.LastSection.AddTable();
|
||||
table.Rows.VerticalAlignment = VerticalAlignment.Top;
|
||||
table.Borders.Visible = true;
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(4);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
column = table.AddColumn();
|
||||
column.Width = Unit.FromCentimeter(2);
|
||||
|
||||
row = table.AddRow();
|
||||
row.Cells[0].AddParagraph("TYPE");
|
||||
row.Cells[1].AddParagraph("Description");
|
||||
row.Cells[2].AddParagraph("Amount to be disposed");
|
||||
row.Cells[3].AddParagraph("Maximum dedicated storage capacity on board");
|
||||
row.Cells[4].AddParagraph("Amount retained on board");
|
||||
row.Cells[5].AddParagraph("Port of delivery of remaining waste");
|
||||
row.Cells[6].AddParagraph("Estimated waste/cargo residues amount generated between port of call and next port");
|
||||
|
||||
row = table.AddRow();
|
||||
row.Cells[0].AddParagraph("1 Oil Sludge");
|
||||
GetWasteForIndex(1, was, row);
|
||||
|
||||
row = table.AddRow();
|
||||
row.Cells[0].AddParagraph("2 Oil Bilgewater");
|
||||
GetWasteForIndex(2, was, row);
|
||||
|
||||
row = table.AddRow();
|
||||
row.Cells[0].AddParagraph("3 Oil other");
|
||||
GetWasteForIndex(3, was, row);
|
||||
|
||||
row = table.AddRow();
|
||||
row.Cells[0].AddParagraph("4 Garbage Foodwaste");
|
||||
GetWasteForIndex(4, was, row);
|
||||
|
||||
row = table.AddRow();
|
||||
row.Cells[0].AddParagraph("5 Garbage plastic");
|
||||
GetWasteForIndex(5, was, row);
|
||||
|
||||
row = table.AddRow();
|
||||
row.Cells[0].AddParagraph("6 Garbage other");
|
||||
GetWasteForIndex(6, was, row);
|
||||
|
||||
row = table.AddRow();
|
||||
row.Cells[0].AddParagraph("7 Sewage");
|
||||
GetWasteForIndex(7, was, row);
|
||||
|
||||
row = table.AddRow();
|
||||
row.Cells[0].AddParagraph("8 Cargo associated waste");
|
||||
GetWasteForIndex(8, was, row);
|
||||
|
||||
row = table.AddRow();
|
||||
row.Cells[0].AddParagraph("9 Cargo residues");
|
||||
GetWasteForIndex(9, was, row);
|
||||
}
|
||||
|
||||
private static void GetWasteForIndex(int index, WAS was, Row row)
|
||||
{
|
||||
foreach (Waste waste in was.Waste)
|
||||
{
|
||||
if (waste.Identifier == index.ToString())
|
||||
{
|
||||
row.Cells[1].AddParagraph(waste.WasteDescription ?? "");
|
||||
row.Cells[2].AddParagraph(waste.WasteDisposalAmount_MTQ.HasValue ? waste.WasteDisposalAmount_MTQ.Value.ToString("N2") : "");
|
||||
row.Cells[3].AddParagraph(waste.WasteCapacity_MTQ.HasValue ? waste.WasteCapacity_MTQ.Value.ToString("N2") : "");
|
||||
row.Cells[4].AddParagraph(waste.WasteAmountRetained_MTQ.HasValue ? waste.WasteAmountRetained_MTQ.Value.ToString("N2") : "");
|
||||
row.Cells[5].AddParagraph(waste.WasteDisposalPort ?? "");
|
||||
row.Cells[6].AddParagraph(waste.WasteAmountGeneratedTillNextPort_MTQ.HasValue ? waste.WasteAmountGeneratedTillNextPort_MTQ.Value.ToString("N2") : "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private static void AddActualTableParagraph(Document document, List<KeyValuePair<string, string>> messageText, bool isSubTable)
|
||||
{
|
||||
Table table = document.LastSection.AddTable();
|
||||
|
||||
@ -84,9 +84,22 @@ namespace bsmd.ReportGenerator
|
||||
}
|
||||
coverInfos.Add("IMO", reportCore.IMO);
|
||||
DateTime eta = reportCore.ETA ?? (reportCore.ETAKielCanal ?? new DateTime(0));
|
||||
coverInfos.Add("ETA", eta.ToString());
|
||||
coverInfos.Add("ETA", eta.ToShortDateString());
|
||||
coverInfos.Add("Port", reportCore.Portname);
|
||||
|
||||
coverInfos.Add("", "");
|
||||
if (reportCore.Customer != null)
|
||||
{
|
||||
coverInfos.Add("Name", reportCore.Customer.Name);
|
||||
coverInfos.Add("Contact first name", reportCore.Customer.ContactFirstName);
|
||||
coverInfos.Add("Contact last name", reportCore.Customer.ContactLastName);
|
||||
coverInfos.Add("Customer number", reportCore.Customer.CustomerNumber);
|
||||
coverInfos.Add("Street", reportCore.Customer.StreetAndNumber);
|
||||
coverInfos.Add("Postal code", reportCore.Customer.PostalCode);
|
||||
coverInfos.Add("City", reportCore.Customer.City);
|
||||
coverInfos.Add("Country", reportCore.Customer.Country);
|
||||
coverInfos.Add("Phone", reportCore.Customer.Phone);
|
||||
coverInfos.Add("E-Mail", reportCore.Customer.Email);
|
||||
}
|
||||
|
||||
Document migraDocument = BSMDDocument.CreateDocument(
|
||||
string.Format("NSW Eingangsdatenübersicht für IMO {0}, ETA {1}", reportCore.IMO, reportCore.ETA),
|
||||
@ -107,11 +120,34 @@ namespace bsmd.ReportGenerator
|
||||
BSMDDocument.RenderDocument(migraDocument, fullPath);
|
||||
_log.InfoFormat("Document created for MessageCoreId {0}, IMO {1}", reportCore.Id, reportCore.IMO);
|
||||
string subject = string.Format("NSW message report for {0}", reportCore.IMO);
|
||||
BSMDMail.SendNSWReportAsAttachment(subject, fullPath);
|
||||
List<string> attachments = new List<string>();
|
||||
attachments.Add(fullPath);
|
||||
|
||||
// 10.7.15: Check PAS/CREW messages to create extra csv files and add them as well
|
||||
|
||||
Message pas = messages.Find(x => x.MessageNotificationClass == Message.NotificationClass.PAS);
|
||||
string passengerCSV = null;
|
||||
if ((pas != null) && (pas.Elements.Count > 0))
|
||||
{
|
||||
passengerCSV = CrewPasHelper.CreateCSV(pas);
|
||||
attachments.Add(passengerCSV);
|
||||
}
|
||||
|
||||
Message crew = messages.Find(x => x.MessageNotificationClass == Message.NotificationClass.CREW);
|
||||
string crewCSV = null;
|
||||
if ((crew != null) && (crew.Elements.Count > 0))
|
||||
{
|
||||
crewCSV = CrewPasHelper.CreateCSV(crew);
|
||||
attachments.Add(crewCSV);
|
||||
}
|
||||
|
||||
BSMDMail.SendNSWReportWithAttachments(subject, attachments);
|
||||
// reset report status
|
||||
reportCore.ReportStatus = MessageCore.ReportStatusEnum.NONE;
|
||||
DBManager.Instance.Save(reportCore);
|
||||
|
||||
if (passengerCSV != null) File.Delete(passengerCSV);
|
||||
if (crewCSV != null) File.Delete(crewCSV);
|
||||
}
|
||||
|
||||
DBManager.Instance.Disconnect();
|
||||
|
||||
@ -79,6 +79,7 @@
|
||||
<Link>Properties\AssemblyProjectKeyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="BSMDDocument.cs" />
|
||||
<Compile Include="CrewPasHelper.cs" />
|
||||
<Compile Include="ProjectInstaller.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
|
||||
@ -99,7 +99,21 @@ namespace bsmd.database
|
||||
List<DatabaseEntity> cores = aMessageCore.LoadList(reader);
|
||||
List<MessageCore> result = new List<MessageCore>();
|
||||
foreach (MessageCore core in cores)
|
||||
{
|
||||
result.Add(core);
|
||||
|
||||
if (core.CustomerId.HasValue)
|
||||
{
|
||||
Customer c = new Customer();
|
||||
SqlCommand cCmd = new SqlCommand();
|
||||
c.PrepareLoadCommand(cCmd, Message.LoadFilter.BY_ID, core.CustomerId.Value);
|
||||
reader = this.PerformCommand(cCmd);
|
||||
List<DatabaseEntity> customers = c.LoadList(reader);
|
||||
if (customers.Count > 0)
|
||||
core.Customer = customers[0] as Customer;
|
||||
}
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@ -73,6 +73,8 @@ namespace bsmd.database
|
||||
|
||||
public bool IsTransit { get; set; }
|
||||
|
||||
public bool Incoming { get; set; } // tbd: für HIS-NORD, mal sehen ob das so bleibt
|
||||
|
||||
public BSMDStatus BSMDStatusInternal { get; set; }
|
||||
|
||||
public Message.NSWProvider InitialHIS { get; set; }
|
||||
|
||||
@ -19,7 +19,7 @@ namespace bsmd.email
|
||||
{
|
||||
public class BSMDMail
|
||||
{
|
||||
public static void SendNSWReportAsAttachment(string subject, string filename)
|
||||
public static void SendNSWReportWithAttachments(string subject, List<string> filenameList)
|
||||
{
|
||||
ILog log = LogManager.GetLogger(typeof(BSMDMail));
|
||||
SmtpClient smtpClient = new SmtpClient();
|
||||
@ -44,7 +44,7 @@ namespace bsmd.email
|
||||
message.Body = "see attachment";
|
||||
message.To.Add(recipient);
|
||||
|
||||
if (filename != null)
|
||||
foreach(string filename in filenameList)
|
||||
{
|
||||
Attachment attachment = new Attachment(filename, MediaTypeNames.Application.Octet);
|
||||
ContentDisposition disposition = attachment.ContentDisposition;
|
||||
|
||||
@ -880,7 +880,8 @@ namespace bsmd.herberg.FormService
|
||||
if (wDict.ContainsKey("WasteDisposalAmount_MTQ")) waste.WasteDisposalAmount_MTQ = Extensions.TryParseDouble(wDict["WasteDisposalAmount_MTQ"]);
|
||||
if (wDict.ContainsKey("WasteDescription")) waste.WasteDescription = wDict["WasteDescription"];
|
||||
if (wDict.ContainsKey("WasteType")) waste.WasteType = Enums.ParseWasteType(wDict["WasteType"]);
|
||||
if (wDict.ContainsKey("WasteDisposalPort")) waste.WasteDisposalPort = wDict["WasteDisposalPort"];
|
||||
if (wDict.ContainsKey("WasteDisposalCountryCode") && wDict.ContainsKey("WasteDisposalPortCode"))
|
||||
waste.WasteDisposalPort = wDict["WasteDisposalCountryCode"] + wDict["WasteDisposalPortCode"];
|
||||
|
||||
saveMessages.Add(waste);
|
||||
}
|
||||
|
||||
@ -36,6 +36,9 @@
|
||||
<AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="log4net">
|
||||
<HintPath>..\packages\log4net.2.0.3\lib\net40-full\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
@ -54,7 +57,15 @@
|
||||
<Compile Include="..\bsmd.database\Properties\AssemblyProjectKeyInfo.cs">
|
||||
<Link>Properties\AssemblyProjectKeyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="his-nord.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Request.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\bsmd.database\bsmd.database.csproj">
|
||||
<Project>{19945af2-379b-46a5-b27a-303b5ec1d557}</Project>
|
||||
<Name>bsmd.database</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
|
||||
5160
nsw/Source/bsmd.hisnord/his-nord.cs
Normal file
5160
nsw/Source/bsmd.hisnord/his-nord.cs
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user