3.0.8
Erweiterung Dakosy, HIS-Nord (erste Anfänge)
This commit is contained in:
parent
b5ff458b83
commit
3ce90d643a
Binary file not shown.
19
nsw/HIS-NORD/xsd.assert/agent_reeder.xsd
Normal file
19
nsw/HIS-NORD/xsd.assert/agent_reeder.xsd
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="agnt">
|
||||
<xs:sequence>
|
||||
<xs:element name="AgentCompanyName" type="string1-99-type"/>
|
||||
<xs:element name="AgentStreetAndNumber" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="AgentPostalCode" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="AgentCity" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="AgentCountry" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="AgentLastName" type="string1-99-type"/>
|
||||
<xs:element name="AgentFirstName" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="AgentPhone" type="string1-99-type"/>
|
||||
<xs:element name="AgentFax" type="string1-99-type" minOccurs="0"/>
|
||||
<xs:element name="AgentEMail" type="string1-99-type" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
||||
177
nsw/HIS-NORD/xsd.assert/basic_types.xsd
Normal file
177
nsw/HIS-NORD/xsd.assert/basic_types.xsd
Normal file
@ -0,0 +1,177 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<!-- ============ simple types ============ -->
|
||||
<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="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="companyid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='7'/>
|
||||
<xs:maxLength value='7'/>
|
||||
</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="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="posint0-type">
|
||||
<xs:restriction base='xs:integer'>
|
||||
<xs:minInclusive value="0"/>
|
||||
</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:simpleType name="posint-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minExclusive value="0" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="posfloat0-type">
|
||||
<xs:restriction base='xs:float'>
|
||||
<xs:minInclusive value="0"/>
|
||||
</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="string1-3-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='3' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string1-4-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1' />
|
||||
<xs:maxLength value='4' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string2-4-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='2' />
|
||||
<xs:maxLength value='4' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="string0-24-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='0'/>
|
||||
<xs:maxLength value='24'/>
|
||||
</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="string0-99-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='0'/>
|
||||
<xs:maxLength value='99'/>
|
||||
</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>
|
||||
|
||||
<xs:simpleType name="string1-500-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1'/>
|
||||
<xs:maxLength value='500'/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- ======== simple types - enumerations =========== -->
|
||||
<xs:simpleType name="yorn-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Y"/>
|
||||
<xs:enumeration value="N"/>
|
||||
</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:schema>
|
||||
@ -1,25 +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>
|
||||
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<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>
|
||||
18
nsw/HIS-NORD/xsd.assert/bunker_reeder.xsd
Normal file
18
nsw/HIS-NORD/xsd.assert/bunker_reeder.xsd
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<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:schema>
|
||||
@ -1,32 +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>
|
||||
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<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>
|
||||
292
nsw/HIS-NORD/xsd.assert/hazmat_reeder.xsd
Normal file
292
nsw/HIS-NORD/xsd.assert/hazmat_reeder.xsd
Normal file
@ -0,0 +1,292 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="generalcargo">
|
||||
<xs:sequence>
|
||||
<xs:element name="LoadUnit" type="loadunit" maxOccurs="unbounded" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="loadunit">
|
||||
<xs:sequence>
|
||||
<xs:element name="HandlingCode" type="handlingcode-type"/>
|
||||
<!-- neu in 2-0 neues Element StowagePositionBayRowTier bei Containern-->
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element name="LocationOnBoard" type="string1-24-type" minOccurs="0"/>
|
||||
<xs:element name="StowagePositionBayRowTier" type="stowagepositionbayrowtier" minOccurs="0"/>
|
||||
</xs:choice>
|
||||
<xs:element name="PortOfLoadingLocode" type="locode-type" minOccurs="0"/>
|
||||
<xs:element name="PortOfDischargeLocode" type="locode-type" minOccurs="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="stowagepositionbayrowtier">
|
||||
<xs:sequence>
|
||||
<xs:element name="Bay" type="bay-type"/>
|
||||
<xs:element name="Row" type="cargocode-type"/>
|
||||
<xs:element name="Tier" type="cargocode-type"/>
|
||||
</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"/>
|
||||
<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"/>
|
||||
<xs:element name="CompatibilityGroup" type="class1cg-type" minOccurs="0"/>
|
||||
<!-- neu in 2-0 ProperShippingName von 255 auf 500 Anzahl Zeichen gestiegen-->
|
||||
<xs:element name="ProperShippingName" type="string1-500-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="subsidiaryrisks">
|
||||
<xs:sequence>
|
||||
<xs:element name="SubsidiaryRisk" type="risk-type" minOccurs="1" maxOccurs="5"/>
|
||||
</xs:sequence>
|
||||
</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"/>
|
||||
<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"/>
|
||||
<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"/>
|
||||
<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"/>
|
||||
<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="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>
|
||||
<!-- ============ simple types ============ -->
|
||||
|
||||
<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="bay-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='3'/>
|
||||
<xs:maxLength value='3'/>
|
||||
<xs:pattern value="[0-9]+"/>
|
||||
</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="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="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="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="class7cat-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:enumeration value="1" />
|
||||
<xs:enumeration value="2" />
|
||||
<xs:enumeration value="3" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="risk-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="0" />
|
||||
<xs:maxLength value="11" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- ======== simple types - enumerations =========== -->
|
||||
|
||||
<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="infclass-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value=""/>
|
||||
<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" />
|
||||
<xs:enumeration value="NONE" />
|
||||
</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"/>
|
||||
<xs:enumeration value="TRANSIT"/>
|
||||
</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"/>
|
||||
<xs:enumeration value="OS"/>
|
||||
</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:schema>
|
||||
@ -1,803 +1,124 @@
|
||||
<?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>
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<!-- XML Schema:data exchange NSW - german ports optionale Meldetypen-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="basic_types.xsd"/>
|
||||
<xs:include schemaLocation="bunker_reeder.xsd"/>
|
||||
<xs:include schemaLocation="hazmat_reeder.xsd"/>
|
||||
<xs:include schemaLocation="noanod_reeder.xsd"/>
|
||||
<xs:include schemaLocation="owner_reeder.xsd"/>
|
||||
<xs:include schemaLocation="pob_reeder.xsd"/>
|
||||
<xs:include schemaLocation="vessel_reeder.xsd"/>
|
||||
<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:include schemaLocation="info_reeder.xsd"/>
|
||||
<xs:include schemaLocation="agent_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">
|
||||
<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>
|
||||
|
||||
<xs:element name="PersonsOnBoard" type="pob" minOccurs="0"/>
|
||||
|
||||
<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>
|
||||
<!-- neu in 2-0 Element CurrentShipSecurityLevel hinzugekommen-->
|
||||
<xs:element name="CurrentShipSecurityLevel" type="posint1-3-type"/>
|
||||
<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"/>
|
||||
<!-- neu in 2-0 neue Agent-Meldeklasse-->
|
||||
<xs:element name="AGNT" type="agnt" 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) and empty(GeneralCargo/LoadUnit/StowagePositionBayRowTier)
|
||||
else GeneralCargo/LoadUnit and (GeneralCargo/LoadUnit/LocationOnBoard or GeneralCargo/LoadUnit/StowagePositionBayRowTier) and GeneralCargo/LoadUnit/PortOfLoadingLocode
|
||||
and GeneralCargo/LoadUnit/PortOfDischargeLocode and GeneralCargo/LoadUnit/DGList"/>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
||||
29
nsw/HIS-NORD/xsd.assert/info_reeder.xsd
Normal file
29
nsw/HIS-NORD/xsd.assert/info_reeder.xsd
Normal file
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:complexType name="info">
|
||||
<xs:sequence>
|
||||
<xs:element name="ShippingArea" type="shippingarea-type"/>
|
||||
<!-- neu in 2-0 Element PortArea hinzugekommen-->
|
||||
<xs:element name="PortArea" type="string2-4-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"/>
|
||||
<!-- neu in 2-0 Elemente BowThrusterPower und SternThrusterPower hinzugekommen-->
|
||||
<xs:element name="BowThrusterPower" type="string0-24-type" minOccurs="0"/>
|
||||
<xs:element name="SternThrusterPower" type="string0-24-type" minOccurs="0"/>
|
||||
<xs:element name="FumigatedBulkCargo" type="yorn-type"/>
|
||||
<xs:element name="DeadWeightSummer_TNE" type="xs:float" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- ======== simple types - enumerations =========== -->
|
||||
<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:schema>
|
||||
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 15.01.2015 -->
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:complexType name="mdh">
|
||||
<xs:sequence>
|
||||
@ -14,26 +14,35 @@
|
||||
<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"/>
|
||||
<!-- neu in 2-0 StowawayJoiningLocation zu StowawayJoiningLocations-->
|
||||
<xs:element name="StowawayJoiningLocations" type="stowawayjoininglocations" 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"/>
|
||||
<!-- neu in 2-0 InfectedArea zu InfectedAreas-->
|
||||
<xs:element name="InfectedAreas" type="infectedareas" 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 (StowawaysDetected eq 'Y') then StowawayJoiningLocations else empty(StowawayJoiningLocations)"/>
|
||||
<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:assert test="if (InfectedAreaVisited eq 'Y') then InfectedAreas else empty(InfectedAreas)"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="sanitarydetails">
|
||||
<!-- neu in 2-0 mehrere SanitaryDetails-->
|
||||
<xs:sequence>
|
||||
<xs:element name="SanitaryDetail" type="sanitarydetail" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="sanitarydetail">
|
||||
<xs:sequence>
|
||||
<xs:element name="SanitaryMeasuresType" type="string1-99-type"/>
|
||||
<xs:element name="SanitaryMeasuresLocation" type="string1-99-type"/>
|
||||
@ -41,6 +50,13 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="stowawayjoininglocations">
|
||||
<!-- neu in 2-0 mehrere StowawayJoiningLocations-->
|
||||
<xs:sequence>
|
||||
<xs:element name="StowawayJoiningLocation" type="string1-99-type" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="sanitarycertificate">
|
||||
<xs:sequence>
|
||||
<xs:element name="PlaceOfIssue" type="string1-99-type"/>
|
||||
@ -48,6 +64,13 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="infectedareas">
|
||||
<!-- neu in 2-0 mehrere InfectedAreas-->
|
||||
<xs:sequence>
|
||||
<xs:element name="InfectedArea" type="infectedarea" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="infectedarea">
|
||||
<xs:sequence>
|
||||
<xs:element name="InfectedAreaPort" type="string1-99-type"/>
|
||||
|
||||
68
nsw/HIS-NORD/xsd.assert/noanod_reeder.xsd
Normal file
68
nsw/HIS-NORD/xsd.assert/noanod_reeder.xsd
Normal file
@ -0,0 +1,68 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<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"/>
|
||||
<xs:element name="CallPurposes" type="callpurposes" minOccurs="0"/>
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element name="Hafengebiet" type="string1-3-type"/>
|
||||
<xs:element name="GISIS" type="string1-4-type"/>
|
||||
</xs:choice>
|
||||
</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="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>
|
||||
<!-- ============ simple types ============ -->
|
||||
<xs:simpleType name="callpurposecode-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="1"/>
|
||||
<xs:maxExclusive value="1000"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
41
nsw/HIS-NORD/xsd.assert/owner_reeder.xsd
Normal file
41
nsw/HIS-NORD/xsd.assert/owner_reeder.xsd
Normal file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<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="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>
|
||||
|
||||
<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>
|
||||
|
||||
<!-- ============ simple types ============ -->
|
||||
<xs:simpleType name="referenceid-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='0' />
|
||||
<xs:maxLength value='100' />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
@ -1,34 +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>
|
||||
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<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>
|
||||
21
nsw/HIS-NORD/xsd.assert/pob_reeder.xsd
Normal file
21
nsw/HIS-NORD/xsd.assert/pob_reeder.xsd
Normal file
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<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>
|
||||
<!-- ============ simple types ============ -->
|
||||
<xs:simpleType name="pob-type">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="1"/>
|
||||
<xs:maxInclusive value="99998"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 12.03.2015 -->
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:complexType name="pre72">
|
||||
<xs:sequence>
|
||||
@ -7,7 +7,8 @@
|
||||
<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"/>
|
||||
<!-- neu in 2-0 minOccurs="0" hinzugekommen-->
|
||||
<xs:element name="DateOfLastExpandedInspection" type="xs:date" minOccurs="0"/>
|
||||
<xs:element name="PlannedPeriodOfStay_HUR" type="posfloat0-type"/>
|
||||
</xs:sequence>
|
||||
<xs:assert test="if (Tanker eq 'Y') then TankerDetails else empty(TankerDetails)"/>
|
||||
|
||||
@ -1,108 +1,110 @@
|
||||
<?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>
|
||||
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<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"/>
|
||||
<!-- neu in 2-0 Pause am Ende von CurrentShipSecurityLevel entfernt-->
|
||||
<xs:element name="CurrentShipSecurityLevel" type="posint1-3-type"/>
|
||||
<xs:element name="PortFacilityOfArrival" type="string1-99-type" minOccurs="0"/>
|
||||
<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 'N') 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>
|
||||
<!-- neu in 2-0 maxOccurs="10" auf unbounded entfernt-->
|
||||
<xs:element name="LastActivity" type="lastactivity" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</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>
|
||||
@ -1,25 +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>
|
||||
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<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>
|
||||
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 12.03.2015 -->
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:complexType name="tows">
|
||||
|
||||
86
nsw/HIS-NORD/xsd.assert/vessel_reeder.xsd
Normal file
86
nsw/HIS-NORD/xsd.assert/vessel_reeder.xsd
Normal file
@ -0,0 +1,86 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<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"/>
|
||||
<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"/>
|
||||
<!-- neu in 2-0 Element TransportMode hinzugekommen-->
|
||||
<xs:element name="TransportMode" type="transportmode-type"/>
|
||||
<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="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>
|
||||
|
||||
<!-- ============ simple types ============ -->
|
||||
<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="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="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="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="transportmode-type">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value='1'/>
|
||||
<xs:maxLength value='1'/>
|
||||
<xs:pattern value="(1|8)"/>
|
||||
</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:schema>
|
||||
@ -1,70 +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>
|
||||
|
||||
<?xml version="1.0"?>
|
||||
<!-- DATEN + DIENSTE GmbH Rostock, Version vom 02.02.2016 -->
|
||||
<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="string1-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>
|
||||
@ -1,18 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using bsmd.database;
|
||||
using log4net;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.ServiceProcess;
|
||||
using System.Text;
|
||||
using System.Timers;
|
||||
using System.Threading.Tasks;
|
||||
using log4net;
|
||||
|
||||
using bsmd.database;
|
||||
using bsmd.dakosy;
|
||||
|
||||
namespace bsmd.dakosy.ResponseService
|
||||
{
|
||||
@ -74,7 +66,6 @@ namespace bsmd.dakosy.ResponseService
|
||||
try
|
||||
{
|
||||
Response.ReadAll();
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@ -83,8 +74,7 @@ namespace bsmd.dakosy.ResponseService
|
||||
}
|
||||
else
|
||||
{
|
||||
this.EventLog.WriteEntry("FormService stopped: DB connection failed", EventLogEntryType.Error);
|
||||
this.Stop();
|
||||
this.EventLog.WriteEntry("FormService DB connection failure", EventLogEntryType.Error);
|
||||
}
|
||||
|
||||
lock (this._timerlock)
|
||||
|
||||
@ -38,8 +38,9 @@
|
||||
<AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="log4net">
|
||||
<HintPath>..\packages\log4net.2.0.3\lib\net40-full\log4net.dll</HintPath>
|
||||
<Reference Include="log4net, Version=1.2.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\log4net.2.0.5\lib\net45-full\log4net.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
@ -85,7 +86,9 @@
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
<None Include="..\bsmdKey.snk" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="packages.config">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="log4net" version="2.0.3" targetFramework="net45" />
|
||||
<package id="log4net" version="2.0.5" targetFramework="net45" />
|
||||
</packages>
|
||||
@ -33,6 +33,7 @@ namespace bsmd.dakosy
|
||||
|
||||
// fill eDeclaration class
|
||||
eDeclarationMessage edm = new eDeclarationMessage();
|
||||
edm.Version = "3.0"; // TODO
|
||||
// edm.Version = "08.15"; // entfernt auf Anraten von Fr. Ebeling 30.6.15
|
||||
edm.InterchangeHeader = new InterchangeHeaderType();
|
||||
edm.InterchangeHeader.CreationTime = DateTime.UtcNow;
|
||||
@ -73,9 +74,10 @@ namespace bsmd.dakosy
|
||||
vList.Visit[0].MessageHeader.MessageSender = new Participant();
|
||||
vList.Visit[0].MessageHeader.MessageSender.ParticipantCode = new ParticipantCode();
|
||||
vList.Visit[0].MessageHeader.MessageSender.ParticipantCode.AgencyID = "DAK";
|
||||
vList.Visit[0].MessageHeader.MessageSender.ParticipantCode.Value = "BSM"; // TODO -> Absprache!
|
||||
vList.Visit[0].MessageHeader.MessageSender.ParticipantCode.Value = "BSM";
|
||||
vList.Visit[0].MessageHeader.MessageReferenceNumber = aMessage.Id.Value.ToString("N");
|
||||
vList.Visit[0].MessageType = MessageType.FULL; // bei DRAFT geht es nicht an das NSW
|
||||
// bei DRAFT geht es nicht an das NSW
|
||||
vList.Visit[0].MessageType = Properties.Settings.Default.TestMode ? MessageType.DRAFT : MessageType.FULL;
|
||||
if (aMessage.MessageCore.IsTransit)
|
||||
vList.Visit[0].TransitID = aMessage.MessageCore.TransitId;
|
||||
else
|
||||
@ -120,6 +122,35 @@ namespace bsmd.dakosy
|
||||
|
||||
switch (aMessage.MessageNotificationClass)
|
||||
{
|
||||
case Message.NotificationClass.AGNT:
|
||||
{
|
||||
bsmd.database.AGNT agnt = aMessage.Elements[0] as bsmd.database.AGNT;
|
||||
vList.Visit[0].AGNT = new AGNT();
|
||||
vList.Visit[0].AGNT.CompanyName = agnt.AgentCompanyName;
|
||||
|
||||
int lastBlank = agnt.AgentStreetAndNumber.LastIndexOf(' ');
|
||||
string number = (lastBlank > 0) ? agnt.AgentStreetAndNumber.Substring(lastBlank) : "";
|
||||
if ((lastBlank > 0) && (number.Length > 0) && (Char.IsNumber(number[0])))
|
||||
{
|
||||
vList.Visit[0].AGNT.StreetName = agnt.AgentStreetAndNumber.Substring(0, lastBlank);
|
||||
vList.Visit[0].AGNT.StreetNumber = agnt.AgentStreetAndNumber.Substring(lastBlank);
|
||||
}
|
||||
else
|
||||
{
|
||||
vList.Visit[0].AGNT.StreetName = agnt.AgentStreetAndNumber;
|
||||
vList.Visit[0].AGNT.StreetNumber = "";
|
||||
}
|
||||
|
||||
vList.Visit[0].AGNT.PostalCode = agnt.AgentPostalCode;
|
||||
vList.Visit[0].AGNT.City = agnt.AgentCity;
|
||||
vList.Visit[0].AGNT.Country = agnt.AgentCountry;
|
||||
vList.Visit[0].AGNT.LastName = agnt.AgentLastName;
|
||||
vList.Visit[0].AGNT.FirstName = agnt.AgentFirstName;
|
||||
vList.Visit[0].AGNT.Phone = agnt.AgentPhone;
|
||||
vList.Visit[0].AGNT.Fax = agnt.AgentFax;
|
||||
vList.Visit[0].AGNT.EMail = agnt.AgentEMail;
|
||||
}
|
||||
break;
|
||||
case Message.NotificationClass.NOA_NOD:
|
||||
bsmd.database.NOA_NOD noa_nod = aMessage.Elements[0] as bsmd.database.NOA_NOD;
|
||||
if (noa_nod == null) throw new ApplicationException("dbEntity is no NOA_NOD message!");
|
||||
@ -212,7 +243,7 @@ namespace bsmd.dakosy
|
||||
}
|
||||
|
||||
break;
|
||||
case Message.NotificationClass.LADG: // TBD: dito
|
||||
case Message.NotificationClass.LADG:
|
||||
{
|
||||
if (aMessage.Elements.Count > 0)
|
||||
{
|
||||
@ -235,7 +266,7 @@ namespace bsmd.dakosy
|
||||
}
|
||||
}
|
||||
break;
|
||||
case Message.NotificationClass.CREW: // TBD: dito
|
||||
case Message.NotificationClass.CREW:
|
||||
{
|
||||
if (aMessage.Elements.Count > 0)
|
||||
{
|
||||
@ -290,6 +321,9 @@ namespace bsmd.dakosy
|
||||
vList.Visit[0].INFO.DeadWeightSummerTNESpecified = info.DeplacementSummerDraught_TNE.HasValue;
|
||||
if (info.DeplacementSummerDraught_TNE.HasValue)
|
||||
vList.Visit[0].INFO.DeadWeightSummerTNE = info.DeplacementSummerDraught_TNE.Value;
|
||||
vList.Visit[0].INFO.PortArea = info.PortArea;
|
||||
vList.Visit[0].INFO.BowThrusterPower = info.BowThrusterPower;
|
||||
vList.Visit[0].INFO.SternThrusterPower = info.SternThrusterPower;
|
||||
break;
|
||||
case Message.NotificationClass.MDH:
|
||||
bsmd.database.MDH mdh = aMessage.Elements[0] as bsmd.database.MDH;
|
||||
@ -316,13 +350,17 @@ namespace bsmd.dakosy
|
||||
vList.Visit[0].MDH.AwareOfConditionsForFurtherInfections = mdh.AwareOfFurtherInfections ?? false;
|
||||
vList.Visit[0].MDH.SanitaryMeasuresAppliedSpecified = mdh.SanitaryMeasuresApplied.HasValue;
|
||||
vList.Visit[0].MDH.SanitaryMeasuresApplied = mdh.SanitaryMeasuresApplied ?? false;
|
||||
if (mdh.SanitaryMeasuresApplied ?? false)
|
||||
if (mdh.SanitaryMeasuresApplied ?? false && (mdh.SanitaryMeasuresDetails.Count > 0))
|
||||
{
|
||||
vList.Visit[0].MDH.SanitaryMeasuresDetails = new SanitaryMeasuresDetails();
|
||||
vList.Visit[0].MDH.SanitaryMeasuresDetails.SanitaryMeasuresType = mdh.SanitaryMeasuresType;
|
||||
vList.Visit[0].MDH.SanitaryMeasuresDetails.SanitaryMeasuresLocation = mdh.SanitaryMeasuresLocation;
|
||||
if (mdh.SanitaryMeasuresDate.HasValue)
|
||||
vList.Visit[0].MDH.SanitaryMeasuresDetails.SanitaryMeasuresDate = mdh.SanitaryMeasuresDate.Value;
|
||||
vList.Visit[0].MDH.SanitaryMeasuresDetails = new SanitaryMeasuresDetails[mdh.SanitaryMeasuresDetails.Count];
|
||||
for (int smIndex = 0; smIndex < mdh.SanitaryMeasuresDetails.Count; smIndex++) {
|
||||
SanitaryMeasuresDetails smDetails = new SanitaryMeasuresDetails();
|
||||
if (mdh.SanitaryMeasuresDetails[smIndex].SanitaryMeasuresDate.HasValue)
|
||||
smDetails.SanitaryMeasuresDate = mdh.SanitaryMeasuresDetails[smIndex].SanitaryMeasuresDate.Value;
|
||||
smDetails.SanitaryMeasuresLocation = mdh.SanitaryMeasuresDetails[smIndex].SanitaryMeasuresLocation;
|
||||
smDetails.SanitaryMeasuresType = mdh.SanitaryMeasuresDetails[smIndex].SanitaryMeasuresType;
|
||||
vList.Visit[0].MDH.SanitaryMeasuresDetails[smIndex] = smDetails;
|
||||
}
|
||||
}
|
||||
vList.Visit[0].MDH.StowawaysDetectedSpecified = mdh.StowawaysDetected.HasValue;
|
||||
vList.Visit[0].MDH.StowawaysDetected = mdh.StowawaysDetected ?? false;
|
||||
@ -339,12 +377,17 @@ namespace bsmd.dakosy
|
||||
vList.Visit[0].MDH.SanitaryControlReinspectionRequired = mdh.SanitaryControlReinspectionRequired ?? false;
|
||||
vList.Visit[0].MDH.InfectedAreaVisitedSpecified = mdh.InfectedAreaVisited.HasValue;
|
||||
vList.Visit[0].MDH.InfectedAreaVisited = mdh.InfectedAreaVisited ?? false;
|
||||
if (mdh.InfectedAreaVisited ?? false)
|
||||
if (mdh.InfectedAreaVisited ?? false && (mdh.InfectedAreas.Count > 0))
|
||||
{
|
||||
vList.Visit[0].MDH.InfectedArea = new InfectedArea();
|
||||
if (mdh.InfectedAreaDate.HasValue)
|
||||
vList.Visit[0].MDH.InfectedArea.InfectedAreaDate = mdh.InfectedAreaDate.Value;
|
||||
vList.Visit[0].MDH.InfectedArea.InfectedAreaPort = mdh.InfectedAreaPort;
|
||||
vList.Visit[0].MDH.InfectedArea = new InfectedArea[mdh.InfectedAreas.Count];
|
||||
for (int iaIndex = 0; iaIndex < mdh.InfectedAreas.Count; iaIndex++)
|
||||
{
|
||||
InfectedArea infectedArea = new InfectedArea();
|
||||
if (mdh.InfectedAreas[iaIndex].InfectedAreaDate.HasValue)
|
||||
infectedArea.InfectedAreaDate = mdh.InfectedAreas[iaIndex].InfectedAreaDate.Value;
|
||||
infectedArea.InfectedAreaPort = mdh.InfectedAreas[iaIndex].InfectedAreaPort;
|
||||
vList.Visit[0].MDH.InfectedArea[iaIndex] = infectedArea;
|
||||
}
|
||||
}
|
||||
if (mdh.PortOfCallLast30Days.Count > 0)
|
||||
{
|
||||
@ -658,6 +701,9 @@ namespace bsmd.dakosy
|
||||
}
|
||||
vList.Visit[0].STAT.ISMCompany.IsmCompanyCity = stat.ISMCompanyCity;
|
||||
vList.Visit[0].STAT.ISMCompany.IsmCompanyCountry = stat.ISMCompanyCountry;
|
||||
vList.Visit[0].STAT.TransportModeSpecified = !stat.TransportMode.IsNullOrEmpty();
|
||||
if(vList.Visit[0].STAT.TransportModeSpecified)
|
||||
vList.Visit[0].STAT.TransportMode = (stat.TransportMode == "1") ? TransportModeType.Item1 : TransportModeType.Item8;
|
||||
}
|
||||
break;
|
||||
case Message.NotificationClass.WAS:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -2,6 +2,6 @@
|
||||
|
||||
[assembly: AssemblyCompany("Informatikbüro Daniel Schick")]
|
||||
[assembly: AssemblyProduct("BSMD NSW interface")]
|
||||
[assembly: AssemblyInformationalVersion("3.0.7")]
|
||||
[assembly: AssemblyInformationalVersion("3.0.8")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2014-2016 Informatikbüro Daniel Schick. All rights reserved.")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
@ -1,4 +1,4 @@
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyVersion("3.0.7.*")]
|
||||
[assembly: AssemblyVersion("3.0.8.*")]
|
||||
|
||||
|
||||
@ -565,14 +565,11 @@ namespace bsmd.dbh
|
||||
rootStat.PortOfRegistry = stat.PortOfRegistry;
|
||||
rootStat.ShipType = stat.ShipType;
|
||||
rootStat.InmarsatCallNumber = stat.InmarsatCallNumber;
|
||||
RootSTATTransportMode transportMode;
|
||||
if(Enum.TryParse<RootSTATTransportMode>(stat.TransportMode, out transportMode))
|
||||
{
|
||||
rootStat.TransportMode = transportMode;
|
||||
} else
|
||||
{
|
||||
_log.WarnFormat("failed to parse transportmode {0}", stat.TransportMode);
|
||||
}
|
||||
|
||||
rootStat.TransportMode = RootSTATTransportMode.Item1; // default is maritime transport!
|
||||
if (!stat.TransportMode.IsNullOrEmpty() && stat.TransportMode.Equals("8"))
|
||||
rootStat.TransportMode = RootSTATTransportMode.Item8;
|
||||
|
||||
if (!stat.ISMCompanyName.IsNullOrEmpty())
|
||||
{
|
||||
rootStat.ISMCompany = new RootSTATISMCompany();
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user