<xs:sequence>
 <xs:element name="internal_id" type="nts:internal_id_type" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Internal ID</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="nts_number" type="nts:nts_number_type">
 <xs:annotation>
 <xs:documentation>NtS Number</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="target_group" type="nts:target_group_type" minOccurs="0" maxOccurs="unbounded">
 <xs:annotation>
 <xs:documentation>Target group information</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="subject_code" type="nts:subject_code_enum">
 <xs:annotation>
 <xs:documentation>Subject code must contain one of the following: Announcement (ANNOUN), Warning (WARNIN), Notice withdrawn (CANCEL) or Information service (INFSER). More information on the use of codes can be found in the NtS Encoding Guide.</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="validity_period" type="nts:validity_period_type">
 <xs:annotation>
 <xs:documentation>Overall period of validity</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="contents" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Additional information in local language</xs:documentation>
 </xs:annotation>
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:maxLength value="500"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="source" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Notice source (name of authority)</xs:documentation>
 </xs:annotation>
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:maxLength value="64"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="reason_code" type="nts:reason_code_enum" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Reason / justification of the notice</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="communication" type="nts:communication_type" minOccurs="0" maxOccurs="unbounded">
 <xs:annotation>
 <xs:documentation>Communication channel information</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:choice maxOccurs="unbounded">
 <xs:element name="fairway_section" type="nts:fairway_section_type">
 <xs:annotation>
 <xs:documentation>Fairway section</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="object" type="nts:object_type">
 <xs:annotation>
 <xs:documentation>Object section</xs:documentation>
 </xs:annotation>
 </xs:element>
 </xs:choice>
 </xs:sequence>
 </xs:complexType>
 <!--
 ========================================
 = types used in definition of ftm_type =
 ========================================
 -->
 <xs:simpleType name="subject_code_enum">
 <xs:restriction base="xs:string">
 <xs:minLength value="3"/>
 <xs:maxLength value="6"/>
 <xs:enumeration value="ANNOUN"/>
 <xs:enumeration value="WARNIN"/>
 <xs:enumeration value="CANCEL"/>
 <!-- the following values are added due to CR 128 -->
 <xs:enumeration value="INFSER"/>
 <!-- obsolete values due to CR 128 but still valid for backwards compatibility -->
 <xs:enumeration value="OBSTRU"/>
 <xs:enumeration value="PAROBS"/>
 <xs:enumeration value="DELAY"/>
 <xs:enumeration value="VESLEN"/>
 <xs:enumeration value="VESHEI"/>
 <xs:enumeration value="VESBRE"/>
 <xs:enumeration value="VESDRA"/>
 <xs:enumeration value="AVALEN"/>
 <xs:enumeration value="CLEHEI"/>
 <xs:enumeration value="CLEWID"/>
 <xs:enumeration value="AVADEP"/>
 <xs:enumeration value="NOMOOR"/>
 <xs:enumeration value="SERVIC"/>
 <xs:enumeration value="NOSERV"/>
 <xs:enumeration value="SPEED"/>
 <xs:enumeration value="WAVWAS"/>
 <xs:enumeration value="PASSIN"/>
 <xs:enumeration value="ANCHOR"/>
 <xs:enumeration value="OVRTAK"/>
 <xs:enumeration value="MINPWR"/>
 <xs:enumeration value="DREDGE"/>
 <xs:enumeration value="WORK"/>
 <xs:enumeration value="EVENT"/>
 <xs:enumeration value="CHGMAR"/>
 <xs:enumeration value="CHGSER"/>
 <xs:enumeration value="SPCMAR"/>
 <xs:enumeration value="EXERC"/>
 <xs:enumeration value="LEADEP"/>
 <xs:enumeration value="LEVDEC"/>
 <xs:enumeration value="LEVRIS"/>
 <xs:enumeration value="LIMITA"/>
 <xs:enumeration value="MISECH"/>
 <xs:enumeration value="ECDISU"/>
 <xs:enumeration value="NEWOBJ"/>
 <xs:enumeration value="CHWWY"/>
 <xs:enumeration value="CONWWY"/>
 <xs:enumeration value="DIVER"/>
 <xs:enumeration value="SPECTR"/>
 <xs:enumeration value="LOCRUL"/>
 <xs:enumeration value="VHFCOV"/>
 <xs:enumeration value="HIGVOL"/>
 <xs:enumeration value="TURNIN"/>
 <xs:enumeration value="CONBRE"/>
 <xs:enumeration value="CONLEN"/>
 <xs:enumeration value="REMOBJ"/>
 </xs:restriction>
 </xs:simpleType>
 <xs:simpleType name="reason_code_enum">
 <xs:restriction base="xs:string">
 <xs:minLength value="3"/>
 <xs:maxLength value="6"/>
 <xs:enumeration value="EVENT"/>
 <xs:enumeration value="WORK"/>
 <xs:enumeration value="DREDGE"/>
 <xs:enumeration value="EXERC"/>
 <xs:enumeration value="HIGWAT"/>
 <xs:enumeration value="HIWAI"/>
 <xs:enumeration value="HIWAII"/>
 <xs:enumeration value="LOWWAT"/>
 <xs:enumeration value="SHALLO"/>
 <xs:enumeration value="CALAMI"/>
 <xs:enumeration value="LAUNCH"/>
 <xs:enumeration value="DECLEV"/>
 <xs:enumeration value="FLOMEA"/>
 <xs:enumeration value="BLDWRK"/>
 <xs:enumeration value="REPAIR"/>
 <xs:enumeration value="INSPEC"/>
 <xs:enumeration value="FIRWRK"/>
 <xs:enumeration value="LIMITA"/>
 <xs:enumeration value="CHGFWY"/>
 <xs:enumeration value="CONSTR"/>
 <xs:enumeration value="DIVING"/>
 <xs:enumeration value="SPECTR"/>
 <xs:enumeration value="EXT"/>
 <xs:enumeration value="MIN"/>
 <xs:enumeration value="SOUND"/>
 <xs:enumeration value="OTHER"/>
 <xs:enumeration value="STRIKE"/>
 <xs:enumeration value="FLOMAT"/>
 <xs:enumeration value="EXPLOS"/>
 <xs:enumeration value="ICE"/>
 <xs:enumeration value="OBSTAC"/>
 <!--the following values are added due to CR 128-->
 <xs:enumeration value="CHGMAR"/>
 <xs:enumeration value="DAMMAR"/>
 <xs:enumeration value="FALMAT"/>
 <xs:enumeration value="MISECH"/>
 <xs:enumeration value="HEARIS"/>
 <xs:enumeration value="HIGVOL"/>
 <xs:enumeration value="ECDISU"/>
 <xs:enumeration value="LOCRUL"/>
 <xs:enumeration value="NEWOBJ"/>
 <xs:enumeration value="OBUNWA"/>
 <xs:enumeration value="VHFCOV"/>
 <xs:enumeration value="REMOBJ"/>
 <xs:enumeration value="LEVRIS"/>
 <xs:enumeration value="SPCMAR"/>
 <!--the following value is added due to CR 155-->
 <xs:enumeration value="WERMCO"/>
 <!--obsolete values due to CR 128 but still valid for backwards compatibility -->
 <xs:enumeration value="INFSER"/>
 </xs:restriction>
 </xs:simpleType>
 <xs:complexType name="communication_type">
 <xs:sequence>
 <xs:element name="reporting_code" type="nts:reporting_code_enum">
 <xs:annotation>
 <xs:documentation>Reporting regime (information, or duty to report)</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="communication_code" type="nts:communication_code_enum">
 <xs:annotation>
 <xs:documentation>Communication code (telephone, VHF etc.)</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="number" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Telephone, VHF number (including callsign), e-mail address, URL or teletext</xs:documentation>
 </xs:annotation>
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:maxLength value="128"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="label" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Name of the attachment or additional