<?xml version="1.0" encoding="UTF-8"?>

<!--
------------------------------------------------------------------------------
--
--  TSDuck - The MPEG Transport Stream Toolkit
--  Copyright (c) 2005-2025, Thierry Lelegard
--  BSD-2-Clause license, see LICENSE.txt file or https://tsduck.io/license
--
------------------------------------------------------------------------------
--
--  XML model for all tables and descriptors
--
------------------------------------------------------------------------------
-->

<tsduck>
  <_any in="_tables" />
  <_metadata>
    <metadata PID="uint13, optional" time="YYYY-MM-DD hh:mm:ss, optional" first_ts_packet="uint64, optional" last_ts_packet="uint64, optional" attribute="string, optional">
      <section>
        Hexadecimal content.
      </section>
    </metadata>
  </_metadata>
  <_tables>
    <AEIT version="uint5, default=0" AEIT_subtype="uint, default=0" MGT_tag="uint, required">
      <_any in="_metadata" />
      <source source_id="uint16, required">
        <event off_air="bool, required" event_id="uint14, required" start_time="YYYY-MM-DD hh:mm:ss, required" duration="uint20, required">
          <title_text>
            <string language="char3, required" text="string, required" />
          </title_text>
          <_any in="_descriptors" />
        </event>
      </source>
      <reserved>
        Hexadecimal content
      </reserved>
    </AEIT>
    <AETT version="uint5, default=0" AETT_subtype="uint8, default=0" MGT_tag="uint8, required">
      <_any in="_metadata" />
      <ETM_data ETM_id="uint32, required">
        <extended_text_message>
          <string language="char3, required" text="string, required" />
        </extended_text_message>
      </ETM_data>
      <reserved>
        Hexadecimal content
      </reserved>
    </AETT>
    <AIT version="uint5, default=0" current="bool, default=true" test_application_flag="bool, default=true" application_type="uint15, required">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <application control_code="uint8, required">
        <application_identifier organization_id="uint32, required" application_id="uint16, required" />
        <_any in="_descriptors" />
      </application>
    </AIT>
    <AMT version="uint5, default=0" current="bool, default=true">
      <_any in="_metadata" />
      <service service_id="uint16, required" src="ip-address/prefix, required" dst="ip-address/prefix, required">
        <private_data>
          Hexadecimal content
        </private_data>
      </service>
    </AMT>
    <ATSC_EIT version="uint5, default=0" source_id="uint16, required" protocol_version="uint8, default=0">
      <_any in="_metadata" />
      <event event_id="uint16, required" start_time="YYYY-MM-DD hh:mm:ss, required" ETM_location="uint2, required" length_in_seconds="uint20, required">
        <title_text>
          <string language="char3, required" text="string, required" />
        </title_text>
        <_any in="_descriptors" />
      </event>
    </ATSC_EIT>
    <BAT version="uint5, default=0" current="bool, default=true" bouquet_id="uint16, required">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <transport_stream transport_stream_id="uint16, required" original_network_id="uint16, required" preferred_section="uint8, optional">
        <_any in="_descriptors" />
      </transport_stream>
    </BAT>
    <BIT version="uint5, default=0" current="bool, default=true" original_network_id="uint16, required" broadcast_view_propriety="bool, required">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <broadcaster broadcaster_id="uint8, required">
        <_any in="_descriptors" />
      </broadcaster>
    </BIT>
    <cable_emergency_alert_table sequence_number="uint5, required" protocol_version="uint8, default=0" EAS_event_ID="uint16, required" EAS_originator_code="char3, required" EAS_event_code="string, required" alert_message_time_remaining="uint8, optional" event_start_time="YYYY-MM-DD hh:mm:ss, optional" event_duration="uint16, optional" alert_priority="uint4, required" details_OOB_source_ID="uint16, optional" details_major_channel_number="uint10, optional" details_minor_channel_number="uint10, optional" audio_OOB_source_ID="uint16, optional">
      <_any in="_metadata" />
      <nature_of_activation_text>
        <string language="char3, required" text="string, required" />
      </nature_of_activation_text>
      <alert_text>
        <string language="char3, required" text="string, required" />
      </alert_text>
      <location state_code="uint8, required" county_subdivision="uint4, required" county_code="uint10, required" />
      <exception major_channel_number="uint10, optional" minor_channel_number="uint10, optional" OOB_source_ID="uint16, optional" />
      <_any in="_descriptors" />
    </cable_emergency_alert_table>
    <CAT version="uint5, default=0" current="bool, default=true">
      <_any in="_metadata" />
      <_any in="_descriptors" />
    </CAT>
    <CDT version="uint5, default=0" current="bool, default=true" download_data_id="uint16, required" original_network_id="uint16, required" data_type="uint8, required">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <data_module>
        Hexadecimal content
      </data_module>
    </CDT>
    <CIT version="uint5, default=0" current="bool, default=true" service_id="uint16, required" transport_stream_id="uint16, required" original_network_id="uint16, required">
      <_any in="_metadata" />
      <prepend_string value="string, required" />
      <crid crid_ref="uint16, required" prepend_string_index="uint8, optional" unique_string="string, required" />
    </CIT>
    <container_table version="uint5, default=0" current="bool, default=true" container_id="uint16, required">
      <_any in="_metadata" />
      <compression_wrapper>
        Hexadecimal content
      </compression_wrapper>
    </container_table>
    <CVCT version="uint5, default=0" current="bool, default=true" protocol_version="uint8, default=0" transport_stream_id="uint16, required">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <channel short_name="string, required" major_channel_number="uint10, required" minor_channel_number="uint10, required" modulation_mode="analog|64-QAM|256-QAM|8-VSB|16-VSB|uint8, required" carrier_frequency="uint32, default=0" channel_TSID="uint16, required" program_number="uint16, required" ETM_location="uint2, default=0" access_controlled="bool, default=false" hidden="bool, default=false" path_select="uint1, default=0" out_of_band="bool, default=false" hide_guide="bool, default=false" service_type="analog|dtv|audio|data|software|uint6, default=dtv" source_id="uint16, required">
        <_any in="_descriptors" />
      </channel>
    </CVCT>
    <DCCSCT version="uint5, default=0" protocol_version="uint8, default=0" dccsct_type="uint16, default=0">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <update update_type="new_genre_category|new_state|new_county|uint8, required" genre_category_code="uint8, required when update_type == new_genre_category" dcc_state_location_code="uint8, required when update_type == new_state" state_code="uint8, required when update_type == new_county" dcc_county_location_code="uint10, required when update_type == new_county">
        <_any in="_descriptors" />
        <genre_category_name_text>
          <string language="char3, required" text="string, required" />
        </genre_category_name_text>
        <dcc_state_location_code_text>
          <string language="char3, required" text="string, required" />
        </dcc_state_location_code_text>
        <dcc_county_location_code_text>
          <string language="char3, required" text="string, required" />
        </dcc_county_location_code_text>
      </update>
    </DCCSCT>
    <DCCT version="uint5, default=0" protocol_version="uint8, default=0" dcc_subtype="uint8, default=0" dcc_id="uint8, required">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <dcc_test dcc_context="temporary_retune|channel_redirect|uint1, required" dcc_from_major_channel_number="uint10, required" dcc_from_minor_channel_number="uint10, required" dcc_to_major_channel_number="uint10, required" dcc_to_minor_channel_number="uint10, required" dcc_start_time="YYYY-MM-DD hh:mm:ss, required" dcc_end_time="YYYY-MM-DD hh:mm:ss, required">
        <_any in="_descriptors" />
        <dcc_term dcc_selection_type="uint8, required" dcc_selection_id="uint64, required">
          <_any in="_descriptors" />
        </dcc_term>
      </dcc_test>
    </DCCT>
    <DCT version="uint5, default=0" current="bool, default=true" network_id="uint16, required" transmission_rate="uint8, required">
      <_any in="_metadata" />
      <transport_stream id="uint16, required" DL_PID="uint13, required" ECM_PID="uint13, default=0x1FFF">
        <model maker_id="uint8, required" model_id="uint8, required" version_id="uint8, required" DLT_size="uint8, required" />
      </transport_stream>
    </DCT>
    <DET version="uint5, default=0" source_id="uint16, required" protocol_version="uint8, default=0">
      <_any in="_metadata" />
      <data data_id="uint14, required" start_time="YYYY-MM-DD hh:mm:ss, required" ETM_location="uint2, required" length_in_seconds="uint20, required">
        <title_text>
          <string language="char3, required" text="string, required" />
        </title_text>
        <_any in="_descriptors" />
      </data>
    </DET>
    <DFIT version="uint5, default=0" current="bool, default=true" font_id="uint7, required" font_id_extension="uint9, default=0" font_family="string, required">
      <_any in="_metadata" />
      <font_style_weight font_style="uint3, required" font_weight="uint4, required" />
      <font_file_URI font_file_format="uint4, required" uri="string, required" />
      <font_size font_size="uint16, required" />
    </DFIT>
    <discontinuity_information_table transition="bool, required">
      <_any in="_metadata" />
    </discontinuity_information_table>
    <DLT maker_id="uint8, required" model_id="uint8, required" version_id="uint8, required" Lsection_number="uint16, required" last_Lsection_number="uint16, required">
      <_any in="_metadata" />
      <model_info>
        Hexadecimal content.
        Final block contains exactly 145 bytes.
        Padded with FF is less bytes are provided.
      </model_info>
      <code_data>
        Hexadecimal content.
        Final block contains exactly 2048 bytes.
        Padded with FF is less bytes are provided.
      </code_data>
    </DLT>
    <DSMCC_download_data_message version="uint5, default=0" current="bool, default=true" table_id_extension="uint16, default=0xFFFF" protocol_discriminator="uint8, required" dsmcc_type="uint8, required" message_id="uint16, required" download_id="uint32, required" module_id="uint16, required" module_version="uint8, required">
      <_any in="_metadata" />
      <block_data>
        Hexadecimal content
      </block_data>
    </DSMCC_download_data_message>
    <DSMCC_stream_descriptors_table version="uint5, default=0" current="bool, default=true" table_id_extension="uint16, default=0xFFFF">
      <_any in="_metadata" />
      <_any in="_descriptors" />
    </DSMCC_stream_descriptors_table>
    <DSMCC_user_to_network_message version="uint5, default=0" current="bool, default=true" table_id_extension="uint16, default=0xFFFF" protocol_discriminator="uint8, required, default=0x11" dsmcc_type="uint8, required, default=0x03" message_id="uint16, required" transaction_id="uint32, required">
      <_any in="_metadata" />
      <DSI>
        <server_id>
          Hexadecimal content
        </server_id>
        <_any in="_dsmccCompatibilityDescriptor" />
        <IOR>
          <type_id>
            Hexadecimal content
          </type_id>
          <tagged_profile profile_id_tag="uint32_t, required" profile_data_byte_order="uint8, required">
            <BIOP_profile_body>
              <lite_component component_id_tag="uint32_t, required">
                <BIOP_object_location carousel_id="uint32_t, required" module_id="uint16_t, required" version_major="uint8_t, required" version_minor="uint8_t, required">
                  <object_key_data>
                      Hexadecimal content
                  </object_key_data>
                </BIOP_object_location>
                <DSM_conn_binder>
                  <_any in="_dsmccTap" />
                </DSM_conn_binder>
                <Unknown_component>
                  <component_data>
                      Hexadecimal content
                  </component_data>
                </Unknown_component>
              </lite_component>
            </BIOP_profile_body>
            <Lite_options_profile_body>
              <profile_data>
              Hexadecimal content
              </profile_data>
            </Lite_options_profile_body>
            <Unknown_profile_body>
              <profile_data>
              Hexadecimal content
              </profile_data>
            </Unknown_profile_body>
          </tagged_profile>
        </IOR>
      </DSI>
      <DII download_id="uint32, required" block_size="uint16, required">
        <_any in="_dsmccCompatibilityDescriptor" />
        <module module_id="uint16, required" module_size="uint32, required" module_version="uint8, required" module_timeout="uint32, required" block_timeout="uint32, required" min_block_time="uint32, required">
          <_any in="_dsmccTap" />
          <_any in="_descriptors" />
        </module>
      </DII>
    </DSMCC_user_to_network_message>
    <DST version="uint5, default=0" table_id_extension="uint16, default=0xFFFF" sdf_protocol_version="uint8, default=1">
      <_any in="_metadata" />
      <application>
        <_any in="_dsmccCompatibilityDescriptor" />
        <app_id description="uint16, required">
          Hexadecimal content
        </app_id>
        <tap protocol_encapsulation="uint8, required" action_type="uint7, required" resource_location="bool, required">
          <_any in="_dsmccTap" />
          <_any in="_descriptors" />
        </tap>
        <_any in="_descriptors" />
        <app_data>
          Hexadecimal content
        </app_data>
      </application>
      <_any in="_descriptors" />
      <service_private_data>
        Hexadecimal content
      </service_private_data>
    </DST>
    <EIT type="pf|uint4, default=pf" version="uint5, default=0" current="bool, default=true" actual="bool, default=true" service_id="uint16, required" transport_stream_id="uint16, required" original_network_id="uint16, required" segment_last_section_number="uint8, ignored (legacy)" last_table_id="uint8, default=same as table id">
      <_any in="_metadata" />
      <event event_id="uint16, required" start_time="YYYY-MM-DD hh:mm:ss, required" duration="hh:mm:ss, required" running_status="undefined|not-running|starting|pausing|running|off-air, default=undefined" CA_mode="bool, default=false" preferred_section="uint8, ignored (legacy)">
        <_any in="_descriptors" />
      </event>
    </EIT>
    <ERT version="uint5, default=0" current="bool, default=true" event_relation_id="uint16, required" information_provider_id="uint16, required" relation_type="uint4, required">
      <_any in="_metadata" />
      <relation node_id="uint16, required" collection_mode="uint4, required" parent_node_id="uint16, required" reference_number="uint8, required">
        <_any in="_descriptors" />
      </relation>
    </ERT>
    <ETT version="uint5, default=0" protocol_version="uint8, default=0" ETT_table_id_extension="uint16, required" ETM_id="uint32, required">
      <_any in="_metadata" />
      <extended_text_message>
        <string language="char3, required" text="string, required" />
      </extended_text_message>
    </ETT>
    <generic_long_table table_id="uint8, required" table_id_ext="uint16, default=0xFFFF" version="uint5, default=0" current="bool, default=true" private="bool, default=true">
      <_any in="_metadata" />
      <section>
        Hexadecimal content.
        Generic table with binary payload of long sections,
        to be used when a specific table is not yet implemented.
        The body of the section elements shall contain an even number of
        hexadecimal digits, the payload of the long section. The CRC32
        field is not part of this payload, it will be recomputed.
        The private indicator shall be false on MPEG-defined sections
        and preferably true on DVB-defined and user-defined sections.
      </section>
    </generic_long_table>
    <generic_short_table table_id="uint8, required" private="bool, default=true">
      Hexadecimal content.
      Generic table with binary payload of one short section,
      to be used when a specific table is not yet implemented.
      The body of this element shall contain an even number of
      hexadecimal digits, the payload of the short section.
      The private indicator shall be false on MPEG-defined sections
      and preferably true on DVB-defined and user-defined sections.
      <_any in="_metadata" />
    </generic_short_table>
    <INT version="uint5, default=0" current="bool, default=true" action_type="uint8, default=0x01" processing_order="uint8, default=0x00" platform_id="uint24, required">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <device>
        <target>
          <_any in="_descriptors" />
        </target>
        <operational>
          <_any in="_descriptors" />
        </operational>
      </device>
    </INT>
    <ITT version="uint5, default=0" current="bool, default=true" event_id="uint16, required">
      <_any in="_metadata" />
      <_any in="_descriptors" />
    </ITT>
    <LDT version="uint5, default=0" current="bool, default=true" original_service_id="uint16, required" transport_stream_id="uint16, required" original_network_id="uint16, required">
      <_any in="_metadata" />
      <description description_id="uint16, required">
        <_any in="_descriptors" />
      </description>
    </LDT>
    <LIT version="uint5, default=0" current="bool, default=true" event_id="uint16, required" service_id="uint16, required" transport_stream_id="uint16, required" original_network_id="uint16, required">
      <_any in="_metadata" />
      <event local_event_id="uint16, required">
        <_any in="_descriptors" />
      </event>
    </LIT>
    <LTST version="uint5, default=0" table_id_extension="uint16, required" protocol_version="uint8, default=0">
      <_any in="_metadata" />
      <source source_id="uint16, required">
        <data data_id="uint14, required" start_time="YYYY-MM-DD hh:mm:ss, required" ETM_location="uint2, required" length_in_seconds="uint20, required">
          <title_text>
            <string language="char3, required" text="string, required" />
          </title_text>
          <_any in="_descriptors" />
        </data>
      </source>
    </LTST>
    <MGT version="uint5, default=0" protocol_version="uint8, default=0">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <table type="TVCT-current|TVCT-next|CVCT-current|CVCT-next|ETT|DCCSCT|EIT-0..EIT-127|ETT-0..ETT-127|RRT-1..RRT-255|DCCT-0DCCT-255|uint16, required" PID="uint13, required" version_number="uint5, required" number_bytes="uint32, required">
        <_any in="_descriptors" />
      </table>
    </MGT>
    <MPE_FEC padding_columns="uint8, required">
      <_any in="_metadata" />
      <column>
        <real_time_parameters delta_t="uint12, required" table_boundary="bool, required" frame_boundary="bool, required" address="uint18, required" />
        <rs_data>
          Hexadecimal content
        </rs_data>
      </column>
    </MPE_FEC>
    <MPE_IFEC burst_number="uint8, required" IFEC_burst_size="uint8, required">
      <_any in="_metadata" />
      <burst>
        <real_time_parameters delta_t="uint12, required" MPE_boundary="bool, required" frame_boundary="bool, required" prev_burst_size="uint18, required" />
        <IFEC_data>
          Hexadecimal content
        </IFEC_data>
      </burst>
    </MPE_IFEC>
    <NBIT version="uint5, default=0" current="bool, default=true" original_network_id="uint16, required" body="bool, default=true">
      <_any in="_metadata" />
      <information information_id="uint16, required" information_type="uint4, required" description_body_location="uint2, required" user_defined="uint8, default=0xFF">
        <key id="uint16, required" />
        <_any in="_descriptors" />
      </information>
    </NBIT>
    <NIT version="uint5, default=0" current="bool, default=true" network_id="uint16, required" actual="bool, default=true">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <transport_stream transport_stream_id="uint16, required" original_network_id="uint16, required" preferred_section="uint8, optional">
        <_any in="_descriptors" />
      </transport_stream>
    </NIT>
    <NRT version="uint5, default=0" table_id_extension="uint16, default=0xFFFF">
      <_any in="_metadata" />
      <resource>
        <_any in="_dsmccCompatibilityDescriptor" />
        <_any in="_dsmccResourceDescriptor" />
      </resource>
      <private_data>
        Hexadecimal content
      </private_data>
    </NRT>
    <PAT version="uint5, default=0" current="bool, default=true" transport_stream_id="uint16, required" network_PID="uint13, optional">
      <_any in="_metadata" />
      <service service_id="uint16, required" program_map_PID="uint13, required" />
    </PAT>
    <PCAT version="uint5, default=0" current="bool, default=true" service_id="uint16, required" transport_stream_id="uint16, required" original_network_id="uint16, required" content_id="uint32, required">
      <_any in="_metadata" />
      <version content_version="uint16, required" content_minor_version="uint16, required" version_indicator="uint2, required">
        <schedule start_time="YYYY-MM-DD hh:mm:ss, required" duration="hh:mm:ss, required" />
        <_any in="_descriptors" />
      </version>
    </PCAT>
    <PMT version="uint5, default=0" current="bool, default=true" service_id="uint16, required" PCR_PID="uint13, default=0x1FFF">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <component stream_type="uint8, required" elementary_PID="uint13, required">
        <_any in="_descriptors" />
      </component>
    </PMT>
    <RCT version="uint5, default=0" current="bool, default=true" service_id="uint16, required" year_offset="uint16, required">
      <_any in="_metadata" />
      <link link_type="uint4, required" how_related_classification_scheme_id="uint6, required" term_id="uint12, required" group_id="uint4, required" precedence="uint4, required" media_uri="string, required when link_type == 0 or 2" default_icon_flag="bool, required" icon_id="uint3, required">
        <dvb_binary_locator identifier_type="uint2, required" scheduled_time_reliability="bool, required" inline_service="bool, required" start_date="uint9, required" dvb_service_triplet_id="uint10, required when inline_service == false" transport_stream_id="uint16, required when inline_service == true" original_network_id="uint16, required when inline_service == true" service_id="uint16, required when inline_service == true" start_time="uint16, required" duration="uint16, required" event_id="uint16, required when identifier_type == 1" TVA_id="uint16, required when identifier_type == 2 or 3" component_tag="uint8, required when identifier_type == 3" early_start_window="uint3, required when identifier_type == 0 and scheduled_time_reliability == true" late_end_window="uint5, required when identifier_type == 0 and scheduled_time_reliability == true" />
        <promotional_text language_code="char3, required" text="string, required" />
        <_any in="_descriptors" />
      </link>
      <_any in="_descriptors" />
    </RCT>
    <RNT version="uint5, default=0" current="bool, default=true" context_id="uint16, required" context_id_type="uint8, required">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <resolution_provider name="string, required">
        <_any in="_descriptors" />
        <CRID_authority name="string, required" policy="uint2, required">
          <_any in="_descriptors" />
        </CRID_authority>
      </resolution_provider>
    </RNT>
    <RRT version="uint5, default=0" protocol_version="uint8, default=0" rating_region="uint8, required">
      <_any in="_metadata" />
      <rating_region_name>
        <string language="char3, required" text="string, required" />
      </rating_region_name>
      <dimension graduated_scale="bool, required">
        <dimension_name>
          <string language="char3, required" text="string, required" />
        </dimension_name>
        <value>
          <abbrev_rating_value>
            <string language="char3, required" text="string, required" />
          </abbrev_rating_value>
          <rating_value>
            <string language="char3, required" text="string, required" />
          </rating_value>
        </value>
      </dimension>
      <_any in="_descriptors" />
    </RRT>
    <RST>
      <_any in="_metadata" />
      <event transport_stream_id="uint16, required" original_network_id="uint16, required" service_id="uint16, required" event_id="uint16, required" running_status="undefined|not-running|starting|pausing|running|off-air, required" />
    </RST>
    <SAT version="uint5, default=0" current="bool, default=true" satellite_table_id="uint6, required" table_count="uint10, required">
      <_any in="_metadata" />
      <satellite_position_v2_info>
        <satellite_position satellite_id="uint24, required">
          <geostationary orbital_position="SatelliteOrbitalPosition, eg. 19.2, required" west_east_flag="east|west, required" />
          <earth_orbiting epoch_year="uint8, required" day_of_the_year="uint16, required" day_fraction="float, required" mean_motion_first_derivative="float, required" mean_motion_second_derivative="float, required" drag_term="float32, required" inclination="float32, required" right_ascension_of_the_ascending_node="float32, required" eccentricity="float32, required" argument_of_perigree="float32, required" mean_anomaly="float32, required" mean_motion="float32, required" />
        </satellite_position>
      </satellite_position_v2_info>
      <cell_fragment_info>
        <cell_fragment cell_fragment_id="uint32, required" first_occurence="bool, required" last_occurence="bool, required" center_latitude="int18, optional" center_longitude="int19, optional" max_distance="uint24, optional">
          <delivery_system id="uint32, required" />
          <new_delivery_system id="uint32, required">
            <time_of_application base="uint33, required" ext="uint9, required" />
          </new_delivery_system>
          <obsolescent_delivery_system id="uint32, required">
            <time_of_obsolescence base="uint33, required" ext="uint9, required" />
          </obsolescent_delivery_system>
        </cell_fragment>
      </cell_fragment_info>
      <time_association_info association_type="uint4, required" leap59="bool, optional" leap61="bool, optional" past_leap59="bool, optional" past_leap61="bool, optional" association_timestamp_seconds="uint64, required" association_timestamp_nanoseconds="uint32, required">
        <ncr base="uint33, required" ext="uint9, required" />
      </time_association_info>
      <beamhopping_timeplan_info>
        <beamhopping_timeplan id="uint32, required">
          <time_of_application base="uint33, required" ext="uint9, required" />
          <cycle_duration base="uint33, required" ext="uint9, required" />
          <time_plan_mode_0>
            <dwell_duration base="uint33, required" ext="uint9, required" />
            <on_time base="uint33, required" ext="uint9, required" />
          </time_plan_mode_0>
          <time_plan_mode_1 current_slot="uint15, required">
            <slot id="uint15, required" transmission_on="bool, required" />
          </time_plan_mode_1>
          <time_plan_mode_2>
            <grid_size base="uint33, required" ext="uint9, required" />
            <revisit_duration base="uint33, required" ext="uint9, required" />
            <sleep_time base="uint33, required" ext="uint9, required" />
            <sleep_duration base="uint33, required" ext="uint9, required" />
          </time_plan_mode_2>
        </beamhopping_timeplan>
      </beamhopping_timeplan_info>
      <satellite_position_v3_info oem_version_major="uint4, required" oem_version_minor="uint4, required">
        <creation_date year="uint8, required" day="uint9, required" day_fraction="float32, required" />
        <v3_satellite satellite_id="uint24, required" interpolation_type="Linear|Lagrange|Hermite, optional" interpolation_degree="uint3, optional">
          <total_start_time year="uint8, required" day="uint9, required" day_fraction="float32, required" />
          <total_stop_time year="uint8, required" day="uint9, required" day_fraction="float32, required" />
          <usable_start_time year="uint8, required" day="uint9, required" day_fraction="float32, required" />
          <usable_stop_time year="uint8, required" day="uint9, required" day_fraction="float32, required" />
          <ephemeris_data ephemeris_x="float32, required" ephemeris_y="float32, required" ephemeris_z="float32, required" ephemeris_x_dot="float32, required" ephemeris_y_dot="float32, required" ephemeris_z_dot="float32, required" ephemeris_x_ddot="float32, optional" ephemeris_y_ddot="float32, optional" ephemeris_z_ddot="float32, optional">
            <epoch year="uint8, required" day="uint9, required" day_fraction="float32, required" />
          </ephemeris_data>
          <covariance>
            <epoch year="uint8, required" day="uint9, required" day_fraction="float32, required" />
            <element>float32</element>
          </covariance>
        </v3_satellite>
      </satellite_position_v3_info>
    </SAT>
    <SDT version="uint5, default=0" current="bool, default=true" transport_stream_id="uint16, required" original_network_id="uint16, required" actual="bool, default=true">
      <_any in="_metadata" />
      <service service_id="uint16, required" EIT_schedule="bool, default=false" EIT_present_following="bool, default=false" running_status="undefined|not-running|starting|pausing|running|off-air, default=undefined" CA_mode="bool, default=false">
        <_any in="_descriptors" />
      </service>
    </SDT>
    <SDTT version="uint5, default=0" current="bool, default=true" table_id_ext="uint16, required" transport_stream_id="uint16, required" original_network_id="uint16, required" service_id="uint16, required">
      <_any in="_metadata" />
      <content group="uint4, required" target_version="uint12, required" new_version="uint12, required" download_level="uint2, required" version_indicator="uint2, required" schedule_timeshift_information="uint4, required">
        <schedule start_time="YYYY-MM-DD hh:mm:ss, required" duration="hh:mm:ss, required" />
        <_any in="_descriptors" />
      </content>
    </SDTT>
    <selection_information_table version="uint5, default=0" current="bool, default=true">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <service service_id="uint16, required" running_status="undefined|not-running|starting|pausing|running|off-air, required">
        <_any in="_descriptors" />
      </service>
    </selection_information_table>
    <SGT version="uint5, default=0" current="bool, default=true" service_list_id="uint16, required">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <service service_id="uint16, required" transport_stream_id="uint16, required" original_network_id="uint16, required" logical_channel_number="uint14, required" visible_service_flag="bool, default=true" new_service_flag="bool, default=false" genre_code="uint16, default=0xFFFF">
        <_any in="_descriptors" />
      </service>
    </SGT>
    <splice_information_table protocol_version="uint8, default=0" pts_adjustment="uint33, default=0" tier="uint12, default=0xFFF">
      <_any in="_metadata" />
      <splice_null />
      <splice_schedule>
        <splice_event splice_event_id="uint32, required" splice_event_cancel="bool, default=false" out_of_network="bool, required when splice_event_cancel is false" utc_splice_time="YYYY-MM-DD hh:mm:ss or uint32, required when splice_event_cancel is false and program_splice_flag is to be set" unique_program_id="uint16, required when splice_event_cancel is false" avail_num="uint8, default=0" avails_expected="uint8, default=0">
          <break_duration auto_return="bool, required" duration="uint33, required" />
          <component component_tag="uint8, required" utc_splice_time="YYYY-MM-DD hh:mm:ss or uint32, required" />
        </splice_event>
      </splice_schedule>
      <splice_insert splice_event_id="uint32, required" splice_event_cancel="bool, default=false" out_of_network="bool, required when splice_event_cancel is false" splice_immediate="bool, default=false" pts_time="uint33, required when splice_event_cancel is false and splice_immediate is false and program_splice_flag is to be set" unique_program_id="uint16, required when splice_event_cancel is false" avail_num="uint8, default=0" avails_expected="uint8, default=0">
        <break_duration auto_return="bool, required" duration="uint33, required" />
        <component component_tag="uint8, required" pts_time="uint33, required when splice_immediate is false" />
      </splice_insert>
      <time_signal pts_time="uint33, optional" />
      <bandwidth_reservation />
      <private_command identifier="uint32, required">
        Hexadecimal content
      </private_command>
      <_any in="_descriptors" />
    </splice_information_table>
    <STT protocol_version="uint8, default=0" system_time="uint32, required" GPS_UTC_offset="uint8, required" DS_status="bool, required" DS_day_of_month="uint5, default=0" DS_hour="uint8, default=0">
      <_any in="_metadata" />
      <_any in="_descriptors" />
    </STT>
    <SVCT version="uint5, default=0" current="bool, default=true" SVCT_subtype="uint8, default=0" SVCT_id="uint8, required" protocol_version="uint8, default=0">
      <_any in="_metadata" />
      <channel short_name="string, required" major_channel_number="uint10, required" minor_channel_number="uint10, required" modulation_mode="uint6, required" carrier_frequency="uint, frequency in Hz, required" carrier_symbol_rate="uint32, required" polarization="uint2, required" FEC_Inner="uint8, required" channel_TSID="uint16, required" program_number="uint16, required" ETM_location="uint2, required" hidden="bool, default=false" hide_guide="bool, default=false" service_type="analog|dtv|audio|data|software|uint6, default=dtv" source_id="uint16, required" feed_id="uint8, required">
        <_any in="_descriptors" />
      </channel>
      <_any in="_descriptors" />
    </SVCT>
    <TDT UTC_time="YYYY-MM-DD hh:mm:ss, required">
      <_any in="_metadata" />
    </TDT>
    <TOT UTC_time="YYYY-MM-DD hh:mm:ss, required">
      <_any in="_metadata" />
      <_any in="_descriptors" />
    </TOT>
    <TSDT version="uint5, default=0" current="bool, default=true">
      <_any in="_metadata" />
      <_any in="_descriptors" />
    </TSDT>
    <TVCT version="uint5, default=0" current="bool, default=true" protocol_version="uint8, default=0" transport_stream_id="uint16, required">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <channel short_name="string, required" major_channel_number="uint10, required" minor_channel_number="uint10, required" modulation_mode="analog|64-QAM|256-QAM|8-VSB|16-VSB|uint8, required" carrier_frequency="uint32, default=0" channel_TSID="uint16, required" program_number="uint16, required" ETM_location="uint2, default=0" access_controlled="bool, default=false" hidden="bool, default=false" hide_guide="bool, default=false" service_type="analog|dtv|audio|data|software|uint6, default=dtv" source_id="uint16, required">
        <_any in="_descriptors" />
      </channel>
    </TVCT>
    <UNT version="uint5, default=0" current="bool, default=true" action_type="uint8, default=0x01" OUI="uint24, required" processing_order="uint8, default=0x00">
      <_any in="_metadata" />
      <_any in="_descriptors" />
      <devices>
        <_any in="_dsmccCompatibilityDescriptor" />
        <platform>
          <target>
            <_any in="_descriptors" />
          </target>
          <operational>
            <_any in="_descriptors" />
          </operational>
        </platform>
      </devices>
    </UNT>
  </_tables>
  <_descriptors>
    <AAC_descriptor profile_and_level="uint8, required" SAOC_DE="bool, optional" AAC_type="uint8, optional">
      <additional_info>
        Hexadecimal content
      </additional_info>
    </AAC_descriptor>
    <AC3_descriptor component_type="uint8, optional" bsid="uint8, optional" mainid="uint8, optional" asvc="uint8, optional">
      <additional_info>
        Hexadecimal content
      </additional_info>
    </AC3_descriptor>
    <AC4_descriptor ac4_dialog_enhancement_enabled="bool, optional" ac4_channel_mode="uint2, optional">
      <ac4_dsi_toc>
        Hexadecimal content
      </ac4_dsi_toc>
      <additional_info>
        Hexadecimal content
      </additional_info>
    </AC4_descriptor>
    <adaptation_field_data_descriptor adaptation_field_data_identifier="uint8, required" />
    <af_extensions_descriptor />
    <ancillary_data_descriptor ancillary_data_identifier="uint8, required" />
    <announcement_support_descriptor>
      <announcement announcement_type="uint4, required" reference_type="uint3, required" original_network_id="uint16, optional" transport_stream_id="uint16, optional" service_id="uint16, optional" component_tag="uint8, optional" />
    </announcement_support_descriptor>
    <application_descriptor service_bound="bool, required" visibility="uint2, required" application_priority="uint8, required">
      <profile application_profile="uint16, required" version="string 'major.minor.micro', required" />
      <transport_protocol label="uint8, required" />
    </application_descriptor>
    <application_icons_descriptor icon_locator="string, required" icon_flags="uint16, required">
      <reserved_future_use>
        Hexadecimal content
      </reserved_future_use>
    </application_icons_descriptor>
    <application_name_descriptor>
      <language code="char3, required" application_name="string, required" />
    </application_name_descriptor>
    <application_recording_descriptor scheduled_recording="bool, required" trick_mode_aware="bool, required" time_shift="bool, required" dynamic="bool, required" av_synced="bool, required" initiating_replay="bool, required">
      <label label="string, required" storage_properties="uint2, required" />
      <component tag="uint8, required" />
      <private>
        Hexadecimal content
      </private>
      <reserved_future_use>
        Hexadecimal content
      </reserved_future_use>
    </application_recording_descriptor>
    <application_signalling_descriptor>
      <application application_type="uint15, required" AIT_version_number="uint5, required" />
    </application_signalling_descriptor>
    <application_storage_descriptor storage_property="uint8, required" not_launchable_from_broadcast="bool, required" launchable_completely_from_cache="bool, required" is_launchable_with_older_version="bool, required" version="uint31, required" priority="uint8, required">
    </application_storage_descriptor>
    <application_usage_descriptor usage_type="uint8, required">
    </application_usage_descriptor>
    <area_broadcasting_information_descriptor>
      <station station_id="uint24, required" location_code="uint16, required" broadcast_signal_format="uint8, required">
        <additional_station_info>
          Hexadecimal content
        </additional_station_info>
      </station>
    </area_broadcasting_information_descriptor>
    <association_tag_descriptor association_tag="uint16, required" use="uint16, required">
      <selector_bytes>
        Hexadecimal content
      </selector_bytes>
      <private_data>
        Hexadecimal content
      </private_data>
    </association_tag_descriptor>
    <astra_bouquet_list_descriptor>
      <bouquet name="string, required" />
    </astra_bouquet_list_descriptor>
    <astra_service_list_name_descriptor language_code="char3, required" name="string, required" />
    <astra_virtual_service_id_descriptor virtual_service_id="uint16, required">
      <reserved>
        Hexadecimal content
      </reserved>
    </astra_virtual_service_id_descriptor>
    <ATSC_AC3_audio_stream_descriptor sample_rate_code="uint3, required" bsid="uint5, required" bit_rate_code="uint6, required" surround_mode="uint2, required" bsmod="uint3, required" num_channels="uint4, required" full_svc="bool, required" mainid="uint3, optional" priority="uint2, optional" asvcflags="uint8, optional" text="string, optional" language="char3, optional" language_2="char3, optional">
      <additional_info>
        Hexadecimal content
      </additional_info>
    </ATSC_AC3_audio_stream_descriptor>
    <ATSC_component_list_descriptor alternate="bool, required">
      <component stream_type="uint8, required" format_identifier="uint32, required">
        <stream_info>
          Hexadecimal content
        </stream_info>
      </component>
    </ATSC_component_list_descriptor>
    <ATSC_CRC32_descriptor CRC_32="uint32, required" />
    <ATSC_data_service_descriptor data_service_profile="uint8, required" data_service_level="uint8, required">
      <private_data>
        Hexadecimal content
      </private_data>
    </ATSC_data_service_descriptor>
    <ATSC_download_descriptor download_id="uint32, required" carousel_period="uint32, default=0" control_msg_time_out_value="uint32, default=0" />
    <ATSC_EAC3_audio_descriptor mixinfoexists="bool, required" full_service="bool, required" audio_service_type="uint3, required" number_of_channels="uint3, required" bsid="uint5, optional" priority="uint2, optional" mainid="uint3, optional" asvc="uint8, optional" substream1="uint8, optional" substream2="uint8, optional" substream3="uint8, optional" language="char3, optional" language_2="char3, optional" substream1_lang="char3, optional" substream2_lang="char3, optional" substream3_lang="char3, optional">
      <additional_info>
        Hexadecimal content
      </additional_info>
    </ATSC_EAC3_audio_descriptor>
    <ATSC_group_link_descriptor position="uint8, required" group_id="uint32, required" />
    <ATSC_module_link_descriptor position="uint8, required" module_id="uint16, required" />
    <ATSC_multiprotocol_encapsulation_descriptor deviceId_address_range="uint3, default=6" deviceId_IP_mapping_flag="bool, default=true" alignment_indicator="bool, default=false" max_sections_per_datagram="uint8, default=1" />
    <ATSC_parameterized_service_descriptor application_tag="uint8, required">
      <application_data>
        Hexadecimal content
      </application_data>
    </ATSC_parameterized_service_descriptor>
    <ATSC_PID_count_descriptor total_number_of_PIDs="uint13, default=0" min_number_of_PIDs="uint13, default=0" />
    <ATSC_private_information_descriptor format_identifier="uint32, required">
      <private_data>
        Hexadecimal content (optional element)
      </private_data>
    </ATSC_private_information_descriptor>
    <ATSC_stuffing_descriptor>
      Hexadecimal content
    </ATSC_stuffing_descriptor>
    <ATSC_time_shifted_service_descriptor>
      <service time_shift="uint10, required" major_channel_number="uint10, required" minor_channel_number="uint10, required" />
    </ATSC_time_shifted_service_descriptor>
    <audio_component_descriptor stream_content="uint4, default=2" component_type="uint8, required" component_tag="uint8, required" stream_type="uint8, required" simulcast_group_tag="uint8, default=0xFF" main_component="bool, default=true" quality_indicator="uint2, required" sampling_rate="uint3, required" ISO_639_language_code="char3, required" ISO_639_language_code_2="char3, optional" text="string, optional" />
    <audio_preselection_descriptor>
      <preselection preselection_id="uint5, required" audio_rendering_indication="uint3, required" audio_description="bool, default=false" spoken_subtitles="bool, default=false" dialogue_enhancement="bool, default=false" interactivity_enabled="bool, default=false" ISO_639_language_code="char3, optional" message_id="uint8, optional">
        <multi_stream_info>
          <component tag="uint8, required" />
        </multi_stream_info>
        <future_extension>
          Hexadecimal content
        </future_extension>
      </preselection>
    </audio_preselection_descriptor>
    <audio_stream_descriptor free_format="bool, required" ID="uint1, required" layer="uint2, required" variable_rate_audio="bool, required" />
    <australia_logical_channel_descriptor>
      <service service_id="uint16, required" logical_channel_number="uint10, required" visible_service="bool, default=true" />
    </australia_logical_channel_descriptor>
    <auxiliary_video_stream_descriptor aux_video_codedstreamtype="uint8, required">
      <si_message payload_type="uint32, required">
        <generic_params aux_is_bottom_field="bool, optional" aux_is_interlaced="bool, optional" position_offset_h="uint8, required" position_offset_v="uint8, required" />
        <depth_params kfar_numerator="uint8, required" knear_numerator="uint8, required" />
        <parallax_params parallax_zero="uint16, required" parallax_scale="uint16, required" dref="uint16, required" wref="uint16, required" />
        <reserved_si_message>
          Hexadecimal data
        </reserved_si_message>
      </si_message>
    </auxiliary_video_stream_descriptor>
    <AV1_video_descriptor version="uint7, required" seq_profile="uint3, required" seq_level_idx_0="uint5, required" seq_tier_0="uint1, required" high_bitdepth="bool, required" twelve_bit="bool, required" monochrome="bool, required" chroma_subsampling_x="bool, required" chroma_subsampling_y="bool, required" chroma_sample_position="unknown|vertical|colocated, required" HDR_WCG_idc="uint2, required" initial_presentation_delay_minus_one="uint4, optional" />
    <AVC_timing_and_HRD_descriptor hrd_management_valid="bool, required" N="uint32, optional" K="uint32, optional" num_units_in_tick="uint32, optional" fixed_frame_rate="bool, required" temporal_poc="bool, required" picture_to_display_conversion="bool, required" />
    <AVC_video_descriptor profile_idc="uint8, required" constraint_set0="bool, required" constraint_set1="bool, required" constraint_set2="bool, required" constraint_set3="bool, default=false" constraint_set4="bool, default=false" constraint_set5="bool, default=false" AVC_compatible_flags="uint2, required" level_idc="uint8, required" AVC_still_present="bool, required" AVC_24_hour_picture="bool, required" frame_packing_SEI_not_present="bool, default=false" />
    <AVS2_audio_descriptor num_channels="uint8, required" sample_rate_index="uint4, required" language="char3, optional" description="string, optional">
      <version_info audio_codec_id="uint4, required" coding_profile="basic|object, required" bitrate_index="uint4, optional (required if audio_codec_id=0)" bitstream_type="uniform|variable, optional (required if audio_codec_id=0)" raw_frame_length="uint16, optional (required if audio_codec_id=0)" resolution="8 bits|16 bits|24 bits, required">
      </version_info>
      <additional_info>
        Hexadecimal content
      </additional_info>
    </AVS2_audio_descriptor>
    <AVS3_audio_descriptor sampling_frequency_index="uint4, required" resolution="8 bits|16 bits|24 bits, required">
      <general_coding coding_profile="basic|object|HOA, required" bitrate_index="uint4, required" bitstream_type="uniform|variable, required" channel_number_index="uint7, required" raw_frame_length="uint16, required">
      </general_coding>
      <lossless_coding sampling_frequency="uint24, optional" coding_profile="basic|object|HOA, required" channel_number="uint8, required">
      </lossless_coding>
      <fullrate_coding nn_type="uint3, required" channel_num_index="uint7, optional" num_objects="uint7, optional" hoa_order="uint4, optional" total_bitrate="uint16, required" />
      <additional_info>
        Hexadecimal content
      </additional_info>
    </AVS3_audio_descriptor>
    <AVS3_video_descriptor profile_id="uint8, required" level_id="uint8, required" multiple_frame_rate_flag="bool, required" frame_rate_code="uint4, required" sample_precision="uint3, required" chroma_format="uint2, required" temporal_id_flag="bool, required" td_mode_flag="bool, required" library_stream_flag="bool, required" library_picture_enable_flag="bool, required" colour_primaries="uint8, required" transfer_characteristics="uint8, required" matrix_coefficients="uint8, required" />
    <basic_local_event_descriptor segmentation_mode="uint4, required" start_time_NPT="uint33, optional" end_time_NPT="uint33, optional" start_time="hh:mm:ss, optional" duration="hh:mm:ss, optional" start_time_extension="mmm, optional" duration_extension="mmm, optional">
      <reserved_data>
        Hexadecimal content
      </reserved_data>
      <component tag="uint8, required" />
    </basic_local_event_descriptor>
    <board_information_descriptor title="string, required" text="string, required" />
    <bouquet_name_descriptor bouquet_name="string, required" />
    <broadcaster_name_descriptor name="string, required" />
    <C2_bundle_delivery_system_descriptor>
      <plp plp_id="uint8, required" data_slice_id="uint8, required" C2_system_tuning_frequency="FrequencyHz, required" C2_system_tuning_frequency_type="uint2, required" active_OFDM_symbol_duration="uint3, required" guard_interval="1/128|1/64|uint3, required" master_channel="bool, required" />
    </C2_bundle_delivery_system_descriptor>
    <C2_delivery_system_descriptor plp_id="uint8, required" data_slice_id="uint8, required" C2_system_tuning_frequency="FrequencyHz, required" C2_system_tuning_frequency_type="uint2, required" active_OFDM_symbol_duration="uint3, required" guard_interval="1/128|1/64|uint3, required" />
    <CA_contract_info_descriptor CA_system_id="uint16, required" CA_unit_id="uint4, required" fee_name="string, optional">
      <component tag="uint8, required" />
      <contract_verification_info>
        Hexadecimal content
      </contract_verification_info>
    </CA_contract_info_descriptor>
    <CA_descriptor CA_system_id="uint16, required" CA_PID="uint13, required">
      <private_data>
        Hexadecimal content
      </private_data>
    </CA_descriptor>
    <CA_EMM_TS_descriptor CA_system_id="uint16, required" transport_stream_id="uint16, required" original_network_id="uint16, required" power_supply_period="uint8, required" />
    <CA_identifier_descriptor>
      <CA_system_id value="uint16, required" />
    </CA_identifier_descriptor>
    <CA_service_descriptor CA_system_id="uint16, required" ca_broadcaster_group_id="uint8, required" message_control="uint8, required">
      <service id="uint16, required" />
    </CA_service_descriptor>
    <cable_delivery_system_descriptor frequency="FrequencyHz, required" FEC_outer="undefined|none|RS, default=RS" modulation="auto|16-QAM|32-QAM|64-QAM|128-QAM|256-QAM, default=16-QAM" symbol_rate="SymbolRate, required" FEC_inner="undefined|1/2|2/3|3/4|5/6|7/8|8/9|3/5|4/5|9/10|none, required" />
    <caption_service_descriptor>
      <service language="char3, required" digital_cc="bool, required" line21_field="bool, optional" caption_service_number="uint6, required" easy_reader="bool, required" wide_aspect_ratio="bool, required" />
    </caption_service_descriptor>
    <carousel_compatible_composite_descriptor>
      <subdescriptor type="uint8, required">
        Hexadecimal content
      </subdescriptor>
    </carousel_compatible_composite_descriptor>
    <carousel_identifier_descriptor carousel_id="uint32, required">
      <private_data>
        Hexadecimal content
      </private_data>
    </carousel_identifier_descriptor>
    <cell_frequency_link_descriptor>
      <cell cell_id="uint16, required" frequency="FrequencyHz, required">
        <subcell cell_id_extension="uint8, required" transposer_frequency="FrequencyHz, required" />
      </cell>
    </cell_frequency_link_descriptor>
    <cell_list_descriptor>
      <cell cell_id="uint16, required" cell_latitude="int16, required" cell_longitude="int16, required" cell_extent_of_latitude="uint12, required" cell_extent_of_longitude="uint12, required">
        <subcell cell_id_extension="uint8, required" subcell_latitude="int16, required" subcell_longitude="int16, required" subcell_extent_of_latitude="uint12, required" subcell_extent_of_longitude="uint12, required" />
      </cell>
    </cell_list_descriptor>
    <CI_ancillary_data_descriptor>
      <ancillary_data>
        Hexadecimal content
      </ancillary_data>
    </CI_ancillary_data_descriptor>
    <component_descriptor stream_content="uint4, required" stream_content_ext="uint4, default=0xF" component_type="uint8, required" component_tag="uint8, default=0" language_code="char3, required" text="string, optional" />
    <component_name_descriptor>
      <component_name_string>
        <string language="char3, required" text="string, required" />
      </component_name_string>
    </component_name_descriptor>
    <conditional_playback_descriptor CA_system_id="uint16, required" CA_PID="uint13, required">
      <private_data>
        Hexadecimal content
      </private_data>
    </conditional_playback_descriptor>
    <content_advisory_descriptor>
      <region rating_region="uint8, required">
        <dimension rating_dimension_j="uint8, required" rating_value="uint4, required" />
        <rating_description>
          <string language="char3, required" text="string, required" />
        </rating_description>
      </region>
    </content_advisory_descriptor>
    <content_availability_descriptor copy_restriction_mode="bool, required" image_constraint_token="bool, required" retention_mode="bool, required" retention_state="uint3, required" encryption_mode="bool, required">
      <reserved_future_use>
        Hexadecimal content
      </reserved_future_use>
    </content_availability_descriptor>
    <content_descriptor>
      <content content_nibble_level_1="uint4, required" content_nibble_level_2="uint4, required" user_byte="uint8, required" />
    </content_descriptor>
    <content_identifier_descriptor>
      <crid crid_type="uint6, required" crid_location="uint2, required" crid_ref="uint16, optional" crid="string, optional" />
    </content_identifier_descriptor>
    <content_labelling_descriptor metadata_application_format="uint16, required" metadata_application_format_identifier="uint32, optional" content_time_base_indicator="uint4, required" content_time_base_value="uint33, optional" metadata_time_base_value="uint33, optional" content_id="uint7, optional">
      <content_reference_id>
        Hexadecimal content
      </content_reference_id>
      <time_base_association_data>
        Hexadecimal content
      </time_base_association_data>
      <private_data>
        Hexadecimal content
      </private_data>
    </content_labelling_descriptor>
    <copyright_descriptor copyright_identifier="uint32, required">
      <additional_copyright_info>
        Hexadecimal content
      </additional_copyright_info>
    </copyright_descriptor>
    <country_availability_descriptor country_availability="bool, required">
      <country country_code="char3, required" />
    </country_availability_descriptor>
    <CP_descriptor CP_system_id="uint16, required" CP_PID="uint13, required">
      <private_data>
        Hexadecimal content
      </private_data>
    </CP_descriptor>
    <CP_identifier_descriptor>
      <CP_system_id value="uint16, required" />
    </CP_identifier_descriptor>
    <cpcm_delivery_signalling_descriptor cpcm_version="uint8, required">
      <cpcm_v1_delivery_signalling copy_control="uint3, required" do_not_cpcm_scramble="bool, required" viewable="bool, required" move_local="bool, required" move_and_copy_propagation_information="uint2, required" view_propagation_information="uint2, required" remote_access_record_flag="bool, required" export_beyond_trust="bool, required" disable_analogue_sd_export="bool, required" disable_analogue_sd_consumption="bool, required" disable_analogue_hd_export="bool, required" disable_analogue_hd_consumption="bool, required" image_constraint="bool, required" view_window_start="YYYY-MM-DD hh:mm:ss, optional" view_window_end="YYYY-MM-DD hh:mm:ss, optional" view_period_from_first_playback="uint16, optional" simultaneous_view_count="uint8, optional" remote_access_delay="uint16, optional" remote_access_date="YYYY-MM-DD hh:mm:ss, optional">
        <cps C_and_R_regime_mask="uint8, required">
          Hexadecimal Content
        </cps>
      </cpcm_v1_delivery_signalling>
    </cpcm_delivery_signalling_descriptor>
    <cue_identifier_descriptor cue_stream_type="insert_null_schedule|all|segmentation|tiered_splicing|tiered_segmentation|uint8, required">
    </cue_identifier_descriptor>
    <CUVV_video_stream_descriptor cuvv_tag="uint32, required to be 0x63757676" cuva_version_map="uint16, required" terminal_provide_code="uint16, required to be 0x0004" terminal_provide_oriented_code="1.0|2.0|3.0|4.0, required" />
    <data_broadcast_descriptor data_broadcast_id="uint16, required" component_tag="uint8, required" language_code="char3, required">
      <selector_bytes>Hexadecimal content</selector_bytes>
      <text>String</text>
    </data_broadcast_descriptor>
    <data_broadcast_id_descriptor data_broadcast_id="uint16, required">
      <selector_bytes>Hexadecimal content</selector_bytes>
    </data_broadcast_id_descriptor>
    <data_component_descriptor data_component_id="uint16, required">
      <additional_data_component_info>
        Hexadecimal content
      </additional_data_component_info>
    </data_component_descriptor>
    <data_content_descriptor data_component_id="uint16, required" entry_component="uint8, required" ISO_639_language_code="char3, required" text="string, required">
      <selector_bytes>Hexadecimal content</selector_bytes>
      <component ref="uint8, required" />
    </data_content_descriptor>
    <data_stream_alignment_descriptor alignment_type="uint8, required" />
    <dcc_arriving_request_descriptor dcc_arriving_request_type="uint8, required">
      <dcc_arriving_request_text>
        <string language="char3, required" text="string, required" />
      </dcc_arriving_request_text>
    </dcc_arriving_request_descriptor>
    <dcc_departing_request_descriptor dcc_departing_request_type="uint8, required">
      <dcc_departing_request_text>
        <string language="char3, required" text="string, required" />
      </dcc_departing_request_text>
    </dcc_departing_request_descriptor>
    <default_authority_descriptor fqdn="string, required" />
    <deferred_association_tags_descriptor transport_stream_id="uint16, required" program_number="uint16, required">
      <association tag="uint16, required" />
      <private_data>
        Hexadecimal content
      </private_data>
    </deferred_association_tags_descriptor>
    <digital_copy_control_descriptor digital_recording_control_data="uint2, required" user_defined="uint4, default=0" maximum_bitrate="uint8, optional">
      <component_control component_tag="uint8, required" digital_recording_control_data="uint2, required" user_defined="uint4, default=0" maximum_bitrate="uint8, optional" />
    </digital_copy_control_descriptor>
    <DII_location_descriptor transport_protocol_label="uint8, required">
      <module DII_identification="uint15, required" association_tag="uint16, required" />
    </DII_location_descriptor>
    <download_content_descriptor reboot="bool, required" add_on="bool, required" component_size="uint32, required" download_id="uint32, required" time_out_value_DII="uint32, required" leak_rate="uint22, required" component_tag="uint8, required">
      <_any in="_dsmccCompatibilityDescriptor" />
      <module module_id="uint16, required" module_size="uint32, required">
        <module_info>
          Hexadecimal content
        </module_info>
      </module>
      <private_data>
        Hexadecimal content
      </private_data>
      <text_info ISO_639_language_code="char3, required" text="string, required" />
    </download_content_descriptor>
    <dsmcc_caching_priority_descriptor priority_value="uint8, required" transparency_level="uint8, required" />
    <dsmcc_compressed_module_descriptor compression_method="uint8, required" original_size="uint32, required" />
    <dsmcc_content_type_descriptor content_type="string, required" />
    <dsmcc_CRC32_descriptor CRC_32="uint32, required" />
    <dsmcc_est_download_time_descriptor est_download_time="uint32, required" />
    <dsmcc_group_link_descriptor position="uint8, required" group_id="uint32, required" />
    <dsmcc_info_descriptor language_code="char3, required" info="string, required" />
    <dsmcc_label_descriptor label="string, required" />
    <dsmcc_location_descriptor location_tag="uint8, required" />
    <dsmcc_module_link_descriptor position="uint8, required" module_id="uint16, required" />
    <dsmcc_name_descriptor name="string, required" />
    <dsmcc_ssu_module_type_descriptor SSU_module_type="uint8, required" />
    <dsmcc_subgroup_association_descriptor subgroup_tag="uint40, required" />
    <dsmcc_type_descriptor type="string, required" />
    <DSNG_descriptor station_identification="string, required" />
    <dtg_guidance_descriptor guidance_type="uint2, required" ISO_639_language_code="char3, optional" text="string, optional" guidance_mode="bool, optional">
      <reserved_future_use>
        Hexadecimal content
      </reserved_future_use>
    </dtg_guidance_descriptor>
    <dtg_HD_simulcast_logical_channel_descriptor>
      <service service_id="uint16, required" logical_channel_number="uint10, required" visible_service="bool, default=true" />
    </dtg_HD_simulcast_logical_channel_descriptor>
    <dtg_logical_channel_descriptor>
      <service service_id="uint16, required" logical_channel_number="uint10, required" visible_service="bool, default=true" />
    </dtg_logical_channel_descriptor>
    <dtg_preferred_name_identifier_descriptor name_id="uint8, required" />
    <dtg_preferred_name_list_descriptor>
      <language code="char3, required">
        <name name_id="uint8, required" name="string, required" />
      </language>
    </dtg_preferred_name_list_descriptor>
    <dtg_service_attribute_descriptor>
      <service service_id="uint16, required" numeric_selection="bool, required" visible_service="bool, required" />
    </dtg_service_attribute_descriptor>
    <dtg_short_service_name_descriptor name="string, required" />
    <DTS_descriptor sample_rate_code="uint4, required" bit_rate_code="uint6, required" nblks="uint7, 0x05 to 0x7F, required" fsize="uint14, 0x005F to 0x2000, required" surround_mode="uint6, required" lfe="bool, default=false" extended_surround="uint2, default=0">
      <additional_info>
        Hexadecimal content
      </additional_info>
    </DTS_descriptor>
    <DTS_HD_descriptor>
      <substream_core channel_count="uint5, required" LFE="bool, required" sampling_frequency="uint4, required" sample_resolution="bool, required">
        <asset_info asset_construction="uint5, required" vbr="bool, required" post_encode_br_scaling="bool, required" bit_rate="uint13, required" component_type="uint8, optional" ISO_639_language_code="char3, optional" />
      </substream_core>
      <substream_0 channel_count="uint5, required" LFE="bool, required" sampling_frequency="uint4, required" sample_resolution="bool, required">
        <asset_info asset_construction="uint5, required" vbr="bool, required" post_encode_br_scaling="bool, required" bit_rate="uint13, required" component_type="uint8, optional" ISO_639_language_code="char3, optional" />
      </substream_0>
      <substream_1 channel_count="uint5, required" LFE="bool, required" sampling_frequency="uint4, required" sample_resolution="bool, required">
        <asset_info asset_construction="uint5, required" vbr="bool, required" post_encode_br_scaling="bool, required" bit_rate="uint13, required" component_type="uint8, optional" ISO_639_language_code="char3, optional" />
      </substream_1>
      <substream_2 channel_count="uint5, required" LFE="bool, required" sampling_frequency="uint4, required" sample_resolution="bool, required">
        <asset_info asset_construction="uint5, required" vbr="bool, required" post_encode_br_scaling="bool, required" bit_rate="uint13, required" component_type="uint8, optional" ISO_639_language_code="char3, optional" />
      </substream_2>
      <substream_3 channel_count="uint5, required" LFE="bool, required" sampling_frequency="uint4, required" sample_resolution="bool, required">
        <asset_info asset_construction="uint5, required" vbr="bool, required" post_encode_br_scaling="bool, required" bit_rate="uint13, required" component_type="uint8, optional" ISO_639_language_code="char3, optional" />
      </substream_3>
      <additional_info>
        Hexadecimal content
      </additional_info>
    </DTS_HD_descriptor>
    <DTS_neural_descriptor config_id="uint8, required">
      <additional_info>
        Hexadecimal content
      </additional_info>
    </DTS_neural_descriptor>
    <DTS_UHD_descriptor DecoderProfileCode="uint6, required" FrameDurationCode="uint2, required" MaxPayloadCode="uint2, required" StreamIndex="uint3, required">
      <codec_selector>
        Hexadecimal Content
      </codec_selector>
    </DTS_UHD_descriptor>
    <DVB_AC3_descriptor component_type="uint8, optional" bsid="uint8, optional" mainid="uint8, optional" asvc="uint8, optional">
      <additional_info>
        Hexadecimal content
      </additional_info>
    </DVB_AC3_descriptor>
    <DVB_AC4_descriptor ac4_dialog_enhancement_enabled="bool, optional" ac4_channel_mode="uint2, optional">
      <ac4_dsi_toc>
        Hexadecimal content
      </ac4_dsi_toc>
      <additional_info>
        Hexadecimal content
      </additional_info>
    </DVB_AC4_descriptor>
    <DVB_enhanced_AC3_descriptor mixinfoexists="bool, required" component_type="uint8, optional" bsid="uint8, optional" mainid="uint8, optional" asvc="uint8, optional" substream1="uint8, optional" substream2="uint8, optional" substream3="uint8, optional">
      <additional_info>
        Hexadecimal content
      </additional_info>
    </DVB_enhanced_AC3_descriptor>
    <dvb_html_application_boundary_descriptor label="string, required" regular_expression="string, required">
    </dvb_html_application_boundary_descriptor>
    <dvb_html_application_descriptor parameter="string, optional">
      <application id="uint16, required" />
    </dvb_html_application_descriptor>
    <dvb_html_application_location_descriptor physical_root="string, required" initial_path="string, required">
    </dvb_html_application_location_descriptor>
    <dvb_j_application_descriptor>
      <parameter value="string, required" />
    </dvb_j_application_descriptor>
    <dvb_j_application_location_descriptor base_directory="string, required" classpath_extension="string, required" initial_class="string, required">
    </dvb_j_application_location_descriptor>
    <DVB_stuffing_descriptor>
      Hexadecimal content
    </DVB_stuffing_descriptor>
    <DVB_time_shifted_service_descriptor reference_service_id="uint16, required" />
    <eacem_HD_simulcast_logical_channel_descriptor>
      <service service_id="uint16, required" logical_channel_number="uint10, required" visible_service="bool, default=true" />
    </eacem_HD_simulcast_logical_channel_descriptor>
    <eacem_logical_channel_number_descriptor>
      <service service_id="uint16, required" logical_channel_number="uint10, required" visible_service="bool, default=true" />
    </eacem_logical_channel_number_descriptor>
    <eacem_preferred_name_identifier_descriptor name_id="uint8, required" />
    <eacem_preferred_name_list_descriptor>
      <language code="char3, required">
        <name name_id="uint8, required" name="string, required" />
      </language>
    </eacem_preferred_name_list_descriptor>
    <eacem_stream_identifier_descriptor version_byte="uint8, required" />
    <EAS_audio_file_descriptor>
      <file audio_format="uint7, required" file_name="string, optional" audio_source="uint8, required" program_number="uint16, optional" carousel_id="uint32, optional" application_id="uint16, optional" download_id="uint32, optional" module_id="uint32, optional" />
    </EAS_audio_file_descriptor>
    <EAS_inband_details_channel_descriptor details_RF_channel="uint8, required" details_program_number="uint16, required">
    </EAS_inband_details_channel_descriptor>
    <EAS_inband_exception_channels_descriptor>
      <exception RF_channel="uint8, required" program_number="uint16, required" />
    </EAS_inband_exception_channels_descriptor>
    <EAS_metadata_descriptor fragment_number="uint8, default=1">
    </EAS_metadata_descriptor>
    <ECM_repetition_rate_descriptor CA_system_id="uint16, required" ECM_repetition_rate="uint16, required">
      <private_data>
        Hexadecimal content
      </private_data>
    </ECM_repetition_rate_descriptor>
    <emergency_information_descriptor>
      <event service_id="uint16, required" started="bool, required" signal_level="uint1, required">
        <area code="uint12, required" />
      </event>
    </emergency_information_descriptor>
    <enhanced_AC3_descriptor mixinfoexists="bool, required" component_type="uint8, optional" bsid="uint8, optional" mainid="uint8, optional" asvc="uint8, optional" substream1="uint8, optional" substream2="uint8, optional" substream3="uint8, optional">
      <additional_info>
        Hexadecimal content
      </additional_info>
    </enhanced_AC3_descriptor>
    <eutelsat_channel_number_descriptor>
      <service original_network_id="uint16, required" transport_stream_id="uint16, required" service_id="uint16, required" eutelsat_channel_number="uint10, required" />
    </eutelsat_channel_number_descriptor>
    <EVC_timing_and_HRD_descriptor hrd_management_valid="bool, required" N="uint32, optional" K="uint32, optional" num_units_in_tick="uint32, optional" />
    <EVC_video_descriptor profile_idc="uint8, required" level_idc="uint8, required" toolset_idc_h="uint32, required" toolset_idc_l="uint32, required" progressive_source_flag="bool, required" interlaced_source_flag="bool, required" non_packed_constraint_flag="bool, required" frame_only_constraint_flag="bool, required" EVC_still_present_flag="bool, required" EVC_24hr_picture_present_flag="bool, required" HDR_WCG_idc="uint2, default=3" video_properties_tag="uint4, default=0" temporal_id_min="uint3, optional, specify both min and max or none" temporal_id_max="uint3, optional, specify both min and max or none" />
    <event_group_descriptor group_type="uint4, required">
      <actual service_id="uint16, required" event_id="uint16, required" />
      <other original_network_id="uint16, required" transport_stream_id="uint16, required" service_id="uint16, required" event_id="uint16, required" />
      <private_data>
        Hexadecimal content
      </private_data>
    </event_group_descriptor>
    <extended_broadcaster_descriptor broadcaster_type="uint4, required" terrestrial_broadcaster_id="uint16, optional">
      <affiliation id="uint8, required" />
      <broadcaster original_network_id="uint16, required" broadcaster_id="uint8, required" />
      <private_data>
        Hexadecimal content
      </private_data>
    </extended_broadcaster_descriptor>
    <extended_channel_name_descriptor>
      <long_channel_name_text>
        <string language="char3, required" text="string, required" />
      </long_channel_name_text>
    </extended_channel_name_descriptor>
    <extended_event_descriptor descriptor_number="uint8, required" last_descriptor_number="uint8, required" language_code="char3, required">
      <text>String</text>
      <item>
        <description>String</description>
        <name>String</name>
      </item>
    </extended_event_descriptor>
    <external_application_authorization_descriptor>
      <application organization_id="uint32, required" application_id="uint16, required" application_priority="uint8, required" />
    </external_application_authorization_descriptor>
    <external_ES_ID_descriptor external_ES_ID="uint16, required" />
    <FMC_descriptor>
      <stream ES_ID="uint16, required" M4MuxChannel="uint8, required" />
    </FMC_descriptor>
    <frequency_list_descriptor coding_type="undefined|satellite|cable|terrestrial|uint2, required">
      <centre_frequency value="FrequencyHz, required" />
    </frequency_list_descriptor>
    <FTA_content_management_descriptor user_defined="bool, required" do_not_scramble="bool, required" control_remote_access_over_internet="uint2, required" do_not_apply_revocation="bool, required" />
    <generic_descriptor tag="uint8, required">
      Hexadecimal content.
      Generic descriptor with binary payload, to be used when a specific
      descriptor is not yet implemented. The body of this element shall
      contain an even number of hexadecimal digits.
    </generic_descriptor>
    <genre_descriptor>
      <attribute value="uint8, required" />
    </genre_descriptor>
    <graphics_constraints_descriptor can_run_without_visible_ui="bool, required" handles_configuration_changed="bool, required" handles_externally_controlled_video="bool, required">
      <graphics_configuration>
        Hexadecimal content
      </graphics_configuration>
    </graphics_constraints_descriptor>
    <green_extension_descriptor>
      <constant_backlight_voltage_time_interval value="uint16, required" />
      <max_variation value="uint16, required" />
    </green_extension_descriptor>
    <HD_simulcast_logical_channel_descriptor>
      <service service_id="uint16, required" logical_channel_number="uint10, required" visible_service="bool, default=true" />
    </HD_simulcast_logical_channel_descriptor>
    <HEVC_hierarchy_extension_descriptor extension_dimension_bits="uint16, required" hierarchy_layer_index="uint6, required" temporal_id="uint3, required" nuh_layer_id="uint6, required" tref_present="bool, required" hierarchy_channel="uint6, required">
      <embedded_layer hierarchy_layer_index="uint6, required" />
    </HEVC_hierarchy_extension_descriptor>
    <HEVC_operation_point_descriptor>
      <profile_tier_level_info>
        Hexadecimal Content
      </profile_tier_level_info>
      <operation_point target_ols="uint8, required" constant_frame_rate_info_idc="uint2, required" applicable_temporal_id="uint3, required" frame_rate_indicator="uint12, default=0" avg_bit_rate="uint24, default=0" max_bit_rate="uint24, default=0">
        <ES prepend_dependencies="bool, required" ES_reference="uint6, required" />
        <ESinOP necessary_layer="bool, required" output_layer="bool, required" ptl_ref_idx="uint6, required" />
      </operation_point>
    </HEVC_operation_point_descriptor>
    <HEVC_subregion_descriptor SubstreamIDsPerLine="uint7, required" TotalSubstreamIDs="uint8, required" LevelFullPanorama="uint8, required">
      <SubregionLayout PreambleSubstreamID="uint7, optional" Level="uint8, required" PictureSizeHor="uint16, required" PictureSizeVer="uint16, required">
        <Pattern>
          <Substream offset="int8, required" />
        </Pattern>
      </SubregionLayout>
    </HEVC_subregion_descriptor>
    <HEVC_tile_substream_descriptor SubstreamID="uint7, required">
      <Reference PreambleFlag="uint1, required" PatternReference="uint7, required" />
      <Substream Flag="uint1, required" AdditionalSubstreamID="uint7, required" />
    </HEVC_tile_substream_descriptor>
    <HEVC_timing_and_HRD_descriptor hrd_management_valid="bool, required" target_schedule_idx="uint5, optional" N="uint32, optional" K="uint32, optional" num_units_in_tick="uint32, optional" />
    <HEVC_video_descriptor profile_space="uint2, required" tier_flag="bool, required" profile_idc="uint5, required" profile_compatibility_indication="uint32, required" progressive_source_flag="bool, required" interlaced_source_flag="bool, required" non_packed_constraint_flag="bool, required" frame_only_constraint_flag="bool, required" copied_44bits="uint44, default=0" reserved_zero_44bits="uint44, default=0" level_idc="uint8, required" HEVC_still_present_flag="bool, required" HEVC_24hr_picture_present_flag="bool, required" sub_pic_hrd_params_not_present="bool, default=true" HDR_WCG_idc="uint2, default=3" temporal_id_min="uint3, optional, specify both min and max or none" temporal_id_max="uint3, optional, specify both min and max or none" />
    <hierarchical_transmission_descriptor high_quality="bool, required" reference_PID="uint13, required" />
    <hierarchy_descriptor view_scalability_flag="bool, default=true" temporal_scalability="bool, default=true" spatial_scalability="bool, default=true" quality_scalability="bool, default=true" no_view_scalability_flag="bool, default=true" no_temporal_scalability="bool, default=true" no_spatial_scalability="bool, default=true" no_quality_scalability="bool, default=true" hierarchy_type="uint4, required" hierarchy_layer_index="uint6, required" tref_present="bool, required" hierarchy_embedded_layer_index="uint6, required" hierarchy_channel="uint6, required" />
    <hybrid_information_descriptor format="uint4, required" component_tag="uint8, optional" module_id="uint16, optional" URL="string, optional" />
    <IBP_descriptor closed_gop="bool, required" identical_gop="bool, required" max_gop_length="uint14, required" />
    <image_icon_descriptor descriptor_number="uint4, required" last_descriptor_number="uint4, required" icon_id="uint3, required" icon_transport_mode="uint2, optional" coordinate_system="uint3, optional" icon_horizontal_origin="uint12, optional" icon_vertical_origin="uint12, optional" icon_type="string, optional" url="string, optional">
      <icon_data>
        Hexadecimal content
      </icon_data>
    </image_icon_descriptor>
    <IOD_descriptor Scope_of_IOD_label="uint8, required" IOD_label="uint8, required">
      <InitialObjectDescriptor>
        Hexadecimal content
      </InitialObjectDescriptor>
    </IOD_descriptor>
    <ip_signalling_descriptor platform_id="uint24, required">
    </ip_signalling_descriptor>
    <IPMAC_generic_stream_location_descriptor interactive_network_id="uint16, required" modulation_system_type="DVB-S2|DVB-T2|DVB-C2|DVB-NGH|uint8, required" modulation_system_id="uint16, default=0" PHY_stream_id="uint16, default=0">
      <selector_bytes>Hexadecimal content</selector_bytes>
    </IPMAC_generic_stream_location_descriptor>
    <IPMAC_platform_name_descriptor language_code="char3, required" text="string, required">
    </IPMAC_platform_name_descriptor>
    <IPMAC_platform_provider_name_descriptor language_code="char3, required" text="string, required">
    </IPMAC_platform_provider_name_descriptor>
    <IPMAC_stream_location_descriptor network_id="uint16, required" original_network_id="uint16, required" transport_stream_id="uint16, required" service_id="uint16, required" component_tag="uint8, required">
    </IPMAC_stream_location_descriptor>
    <ISDB_access_control_descriptor CA_system_id="uint16, required" transmission_type="uint3, default=7" PID="uint13, required">
      <private_data>
        Hexadecimal content
      </private_data>
    </ISDB_access_control_descriptor>
    <ISDB_advanced_cable_delivery_system_descriptor>
      <normal_data plp_id="uint8, required" effective_symbol_length="uint3, required" guard_interval="uint3, required" bundled_channel="uint8, required">
        <carrier data_slice_id="uint8, required" frequency="uint, frequency in Hz, required" frame_type="uint2, required" FEC_outer="uint4, required" modulation="uint8, required" FEC_inner="uint4, required" />
      </normal_data>
      <other_data descriptor_tag_extension="uint8, default=0x01">
        Hexadecimal content
      </other_data>
    </ISDB_advanced_cable_delivery_system_descriptor>
    <ISDB_CA_startup_descriptor CA_system_ID="uint16, required" CA_program_ID="uint13, required" load_indicator="uint7, required" second_CA_program_ID="uint13, optional" second_load_indicator="uint7, optional">
      <exclusion CA_program_ID="uint13, required" />
      <load_security_info>
        Hexadecimal content
      </load_security_info>
      <private_data>
        Hexadecimal content
      </private_data>
    </ISDB_CA_startup_descriptor>
    <ISDB_cable_TS_division_system_descriptor>
      <carrier frequency="uint, frequency in Hz, required" frame_type="uint4, required" FEC_outer="uint4, required" modulation="uint8, required" symbol_rate="uint, in symbols/second, required" FEC_inner="uint4, default=15">
        <future_use_data>
          Hexadecimal content
        </future_use_data>
        <service id="uint16, required" />
      </carrier>
    </ISDB_cable_TS_division_system_descriptor>
    <ISDB_character_code_descriptor character_code="uint8, required" />
    <ISDB_component_group_descriptor component_group_type="uint3, required">
      <component_group component_group_id="uint4, required" total_bit_rate="uint8, optional" explanation="string, optional">
        <CAUnit CA_unit_id="uint4, required">
          <component_tags>
            Up to 16 8-bit component tags
          </component_tags>
        </CAUnit>
      </component_group>
    </ISDB_component_group_descriptor>
    <ISDB_connected_transmission_descriptor connected_transmission_group_id="uint16, required" segment_type="uint2, required" modulation_type_A="uint2, required" modulation_type_B="uint2, required" modulation_type_C="uint2, required">
      <addtional_connected_transmission_info>
         Hexadecimal data
       </addtional_connected_transmission_info>
    </ISDB_connected_transmission_descriptor>
    <ISDB_download_protection_descriptor DL_system_ID="uint8, required" PID="uint13, required" encrypt_protocol_number="uint8, required">
      <encrypt_info>
        Hexadecimal content
      </encrypt_info>
    </ISDB_download_protection_descriptor>
    <ISDB_hyperlink_descriptor hyper_linkage_type="uint8, required" link_destination_type="uint8, required">
      <Service original_network_id="uint16, required" transport_stream_id="uint16, required" service_id="uint16, required" />
      s
      <Event original_network_id="uint16, required" transport_stream_id="uint16, required" service_id="uint16, required" event_id="uint16, required" />
      <Module original_network_id="uint16, required" transport_stream_id="uint16, required" service_id="uint16, required" event_id="uint16, required" component_tag="uint8, required" module_id="uint16, required" />
      <Content original_network_id="uint16, required" transport_stream_id="uint16, required" service_id="uint16, required" content_id="uint16, required" />
      <ContentModule original_network_id="uint16, required" transport_stream_id="uint16, required" service_id="uint16, required" content_id="uint16, required" component_tag="uint8, required" module_id="uint16, required" />
      <ERTNode information_provider_id="uint16, required" event_relation_id="uint16, required" node_id="uint16, required" />
      <StoredContent uri="string, required" />
      <private_data>
          Hexadecimal encoded private data
      </private_data>
    </ISDB_hyperlink_descriptor>
    <ISDB_LDT_linkage_descriptor original_service_id="uint16, required" transport_stream_id="uint16, required" original_network_id="uint16, required">
      <Description id="uint16, required" type="uint4, required" user_defined="uint8, required" />
    </ISDB_LDT_linkage_descriptor>
    <ISDB_network_identifier_descriptor country_code="char3, required" media_type="AB|AC|BS|CB|TB, required" network_id="uint16, required">
      <private_data>
        Hexadecimal content
      </private_data>
    </ISDB_network_identifier_descriptor>
    <ISDB_scrambler_descriptor scrambler_identification="uint8, required">
      <data>
        Hexadecimal content
      </data>
    </ISDB_scrambler_descriptor>
    <ISDB_target_region_descriptor region_spec_type="uint8, required" regions_mask="string, optional" />
    <ISDB_terrestrial_delivery_system_descriptor area_code="uint12, required" guard_interval="1/32|1/16|1/8|1/4, required" transmission_mode="2k|4k|8k|mode1|mode2|mode3, required">
      <frequency value="FrequencyHz, required" />
    </ISDB_terrestrial_delivery_system_descriptor>
    <ISDB_wired_multicarrier_transmission_descriptor>
      <carrier frequency="uint, frequency in Hz, required" frame_type="uint4, required" FEC_outer="uint4, required" modulation="uint8, required" symbol_rate="uint, in symbols/second, required" FEC_inner="uint4, default=15" group_id="uint8, required" />
    </ISDB_wired_multicarrier_transmission_descriptor>
    <ISO_639_language_descriptor>
      <language code="char3, required" audio_type="uint8, required" />
    </ISO_639_language_descriptor>
    <ISP_access_mode_descriptor access_mode="unused|dialup|uint8, required">
    </ISP_access_mode_descriptor>
    <J2K_video_descriptor profile_and_level="uint15, required" horizontal_size="uint32, required" vertical_size="uint32, required" max_bit_rate="uint32, required" max_buffer_size="uint32, required" DEN_frame_rate="uint16, required" NUM_frame_rate="uint16, required" color_specification="uint8, required when extended_capability_flag == false" still_mode="bool, required" interlaced_video="bool, required" colour_primaries="uint8, required when extended_capability_flag == true" transfer_characteristics="uint8, required when extended_capability_flag == true" matrix_coefficients="uint8, required when extended_capability_flag == true" video_full_range_flag="bool, required when extended_capability_flag == true">
      <stripe strp_max_idx="uint8, required" strp_height="uint16, required" />
      <block full_horizontal_size="uint32, required" full_vertical_size="uint32, required" blk_width="uint16, required" blk_height="uint16, required" max_blk_idx_h="uint8, required" max_blk_idx_v="uint8, required" blk_idx_h="uint8, required" blk_idx_v="uint8, required" />
      <mdm X_c0="uint16, required" Y_c0="uint16, required" X_c1="uint16, required" Y_c1="uint16, required" X_c2="uint16, required" Y_c2="uint16, required" X_wp="uint16, required" Y_wp="uint16, required" L_max="uint32, required" L_min="uint32, required" MaxCLL="uint16, required" MaxFALL="uint16, required" />
      <private_data>
        Hexadecimal content
      </private_data>
    </J2K_video_descriptor>
    <JPEG_XS_video_descriptor descriptor_version="uint8, required" horizontal_size="uint16, required" vertical_size="uint16, required" brat="uint32, required" interlace_mode="uint2, required" framerate_DEN="1|1.001, required" framerate_NUM="uint16, required" sample_bitdepth="uint4, together with sampling_structure" sampling_structure="uint4, together with bit_depth" Ppih="unit16, required" level="uint8, required" sublevel="uint8, required" max_buffer_size="uint32, required" buffer_model_type="uint8, required" colour_primaries="unit8, required" transfer_characteristics="unit8, required" matrix_coefficients="unit8, required" video_full_range_flag="bool, required" still_mode="bool, required">
      <mdm X_c0="uint16, required" Y_c0="uint16, required" X_c1="uint16, required" Y_c1="uint16, required" X_c2="uint16, required" Y_c2="uint16, required" X_wp="uint16, required" Y_wp="uint16, required" L_max="uint32, required" L_min="uint32, required" MaxCLL="uint16, required" MaxFALL="uint16, required" />
      <private_data>
        Hexadecimal content
      </private_data>
    </JPEG_XS_video_descriptor>
    <LCEVC_linkage_descriptor>
      <lcevc_stream_tag>
        Hexadecimal content
      </lcevc_stream_tag>
    </LCEVC_linkage_descriptor>
    <LCEVC_video_descriptor lcevc_stream_tag="uint8, required" profile_idc="uint4, required" level_idc="uint4, required" sublevel_idc="uint2, required" processed_planes_type_flag="bool, required" picture_type_bit_flag="bool, required" field_type_bit_flag="bool, required" HDR_WCG_idc="uint2, default=3" video_properties_tag="uint4, default=0" />
    <linkage_descriptor transport_stream_id="uint16, required" original_network_id="uint16, required" service_id="uint16, required" linkage_type="uint8, required">
      <mobile_handover_info handover_type="uint4, required" origin_type="NIT|SDT, required" network_id="uint16, required if hand-over_type is 0x01, 0x02, 0x03" initial_service_id="uint16, required if origin_type is NIT" />
      <event_linkage_info target_event_id="uint16, required" target_listed="bool, required" event_simulcast="bool, required" />
      <extended_event_linkage_info>
        <event target_event_id="uint16, required" target_listed="bool, required" event_simulcast="bool, required" link_type="uint2, required" target_id_type="uint2, required" user_defined_id="uint16, required if target_id_type == 3" target_transport_stream_id="uint16, required if target_id_type == 1" target_original_network_id="uint16, optional" target_service_id="uint16, optional" />
      </extended_event_linkage_info>
      <private_data>
        Hexadecimal content
      </private_data>
    </linkage_descriptor>
    <local_time_offset_descriptor>
      <region country_code="char3, required" country_region_id="uint6, required" local_time_offset="int, required" time_of_change="YYYY-MM-DD hh:mm:ss, required" next_time_offset="int, required" />
    </local_time_offset_descriptor>
    <logical_channel_number_descriptor>
      <service service_id="uint16, required" logical_channel_number="uint10, required" visible_service="bool, default=true" />
    </logical_channel_number_descriptor>
    <logo_transmission_descriptor logo_transmission_type="uint8, required" logo_id="uint9, optional" logo_version="uint12, optional" download_data_id="uint16, optional" logo_char="string, optional">
      <reserved_future_use>
        Hexadecimal content
      </reserved_future_use>
    </logo_transmission_descriptor>
    <m4mux_timing_descriptor FCR_ES_ID="uint16, required" FCRResolution="uint32, required" FCRLength="uint8, required" FmxRateLength="uint8, required" />
    <M4MuxBufferSize_descriptor>
      <DefaultM4MuxBufferDescriptor m4MuxChannel="uint8, required" FB_BufferSize="uint24, required" />
      <M4MuxBufferDescriptor m4MuxChannel="uint8, required" FB_BufferSize="uint24, required" />
    </M4MuxBufferSize_descriptor>
    <material_information_descriptor descriptor_number="uint4, required" last_descriptor_number="uint4, required">
      <material material_type="uint8, required" material_name="string, required" material_code_type="uint8, required" material_code="string, required" material_period="hh:mm:ss, optional" material_url_type="uint8, required" material_url="string, required">
        <reserved_future_use>
          Hexadecimal content
        </reserved_future_use>
      </material>
    </material_information_descriptor>
    <maximum_bitrate_descriptor maximum_bitrate="uint32, in bits/second, required" />
    <Media_service_kind_descriptor>
      <media_service_kind media_description="self|associate, required" media_type="unknown|video|audio|text/data, required" ID_length_code="uint3, optional" ID_type="uint13, optional" ID_len="uint8, optional" media_ID="string, optional">
        <language_media_pair configuration_type="uint2, required" lang_len_idc="uint2, required" lang_len="uint8, optional" BCP47_language_code="string, required">
          <media_service_type purpose="uint8, required" />
        </language_media_pair>
      </media_service_kind>
    </Media_service_kind_descriptor>
    <message_descriptor message_id="uint8, required" language_code="char3, required">
      <text>String</text>
    </message_descriptor>
    <metadata_descriptor metadata_application_format="uint16, required" metadata_application_format_identifier="uint32, optional" metadata_format="uint8, required" metadata_format_identifier="uint32, optional" metadata_service_id="uint8, required" decoder_config_flags="uint3, required" decoder_config_metadata_service_id="uint8, optional">
      <service_identification>
        Hexadecimal content
      </service_identification>
      <decoder_config>
        Hexadecimal content
      </decoder_config>
      <dec_config_identification>
        Hexadecimal content
      </dec_config_identification>
      <reserved_data>
        Hexadecimal content
      </reserved_data>
      <private_data>
        Hexadecimal content
      </private_data>
    </metadata_descriptor>
    <metadata_pointer_descriptor metadata_application_format="uint16, required" metadata_application_format_identifier="uint32, optional" metadata_format="uint8, required" metadata_format_identifier="uint32, optional" metadata_service_id="uint8, required" MPEG_carriage_flags="uint2, required" program_number="uint16, optional" transport_stream_location="uint16, optional" transport_stream_id="uint16, optional">
      <metadata_locator>
        Hexadecimal content
      </metadata_locator>
      <private_data>
        Hexadecimal content
      </private_data>
    </metadata_pointer_descriptor>
    <metadata_STD_descriptor metadata_input_leak_rate="uint22, required" metadata_buffer_size="uint22, required" metadata_output_leak_rate="uint22, required" />
    <mosaic_descriptor mosaic_entry_point="bool, required" number_of_horizontal_elementary_cells="uint3, required" number_of_vertical_elementary_cells="uint3, required">
      <cell logical_cell_id="uint6, required" logical_cell_presentation_info="uint3, required" cell_linkage_info="uint8, required" bouquet_id="uint16, optional" original_network_id="uint16, optional" transport_stream_id="uint16, optional" service_id="uint16, optional" event_id="uint16, optional">
        <elementary_cell id="uint6, required" />
      </cell>
    </mosaic_descriptor>
    <MPEG2_AAC_audio_descriptor MPEG2_AAC_profile="uint8, required" MPEG2_AAC_channel_configuration="uint8, required" MPEG2_AAC_additional_information="uint8, required" />
    <MPEG2_stereoscopic_video_format_descriptor arrangement_type="uint7, optional" />
    <MPEG4_audio_descriptor MPEG4_audio_profile_and_level="uint8, required" />
    <MPEG4_audio_extension_descriptor>
      <audioProfileLevelIndication value="uint8, required" />
      <audioSpecificConfig>
        Hexadecimal content
      </audioSpecificConfig>
    </MPEG4_audio_extension_descriptor>
    <MPEG4_text_descriptor textFormat="uint8, required" ThreeGPPBaseFormat="uint8, required" profileLevel="uint8, required" durationClock="uint24, required" sampleDescriptionFlags="uint2, required" layer="uint8, required" text_track_width="uint16, required" text_track_height="uint16, required" scene_width="uint16, optional" scene_height="uint16, optional" horizontal_scene_offset="uint16, optional" vertical_scene_offset="uint16, optional">
      <Compatible_3GPPFormat value="uint8, required" />
      <Sample_index_and_description sample_index="uint8, required" textFormat="uint8, required">
        Hexadecimal Content
      </Sample_index_and_description>
    </MPEG4_text_descriptor>
    <MPEG4_video_descriptor MPEG4_visual_profile_and_level="uint8, required" />
    <MPEGH_3D_audio_command_descriptor>
      <MHAS>
        Hexadecimal content
      </MHAS>
    </MPEGH_3D_audio_command_descriptor>
    <MPEGH_3D_audio_config_descriptor>
      <mpegh3daConfig>
        Hexadecimal content
      </mpegh3daConfig>
    </MPEGH_3D_audio_config_descriptor>
    <MPEGH_3D_audio_descriptor mpegh_3da_profile_level_indication="uint8, required" interactivity_enabled="bool, required" reference_channel_layout="uint6, required">
      <CompatibleSetIndication>
        Hexadecimal content
      </CompatibleSetIndication>
      <reserved>
        Hexadecimal content
      </reserved>
    </MPEGH_3D_audio_descriptor>
    <MPEGH_3D_audio_drc_loudness_descriptor>
      <drcInstructionsUniDrc drcInstructionsType="uint2, required" mae_groupID="uint7, required when drcInstructionsType == 2" mae_groupPresetID="uint5, required when drcInstructionsType == 3" drcSetId="uint6, required" downmixId="uint7, required" drcSetEffect="uint16, required" bsLimiterPeakTarget="uint8, optional" bsDrcSetTargetLoudnessValueUpper="uint6, optional (required when bsDrcSetTargetLoudnessValueLower is set)" bsDrcSetTargetLoudnessValueLower="uint6, optional" dependsOnDrcSet="uint6, required" noIndependentUse="bool, required when dependsOnDrcSet == 0">
        <additionalDownmixId value="uint7, required" />
      </drcInstructionsUniDrc>
      <loudnessInfo loudnessInfoType="uint2, required" mae_groupID="uint7, required when loudnessInfoType == 1 || loudnessInfoType == 2" mae_groupPresetID="uint5, required when loudnessInfoType == 3">
        <loudnessInfo>
          Hexadecimal content
        </loudnessInfo>
      </loudnessInfo>
      <downmixId downmixId="uint7, required" downmixType="uint2, required" CICPspeakerLayoutIdx="uint6, required" />
      <reserved>
        Hexadecimal content
      </reserved>
    </MPEGH_3D_audio_drc_loudness_descriptor>&gt;
  <MPEGH_3D_audio_multi_stream_descriptor this_is_main_stream="bool, required" this_stream_id="uint7, required" num_auxiliary_streams="uint7, optional">
      <mae_group mae_group_id="uint7, required" is_in_main_stream="bool, required" is_in_ts="bool, optional" auxiliary_stream_id="uint7, optional" />
      <reserved>
        Hexadecimal content
      </reserved>
    </MPEGH_3D_audio_multi_stream_descriptor>
    <MPEGH_3D_audio_scene_descriptor sceneID="uint8, required">
      <InteractivityGroup groupID="uint7, required" allowOnOff="bool, required" defaultOnOff="bool, required" contentKind="uint4, required" contentLanguage="char3, optional">
        <PositionInteractivity azimuthOffsetMin="uint7, required" azimuthOffsetMax="uint7, required" elevationOffsetMin="uint5, required" elevationOffsetMax="uint5, required" distanceOffsetMin="uint4, required" distanceOffsetMax="uint4, required" />
        <GainInteractivity interactivityGainMin="uint6, required" interactivityGainMax="uint5, required" />
      </InteractivityGroup>
      <SwitchGroup switchGroupID="uint5, required" switchGroupAllowOnOff="bool, required" switchGroupDefaultOnOff="bool, required" switchGroupDefaultGroupID="uint7, required">
        <SwitchGroupMembers>
          7bit Hexadecimal content, 1 to 32 values
        </SwitchGroupMembers>
      </SwitchGroup>
      <PresetGroup groupPresetID="uint5, required" groupPresetKind="uint4, required">
        <PresetConditions groupPresetReferenceID="uint7, required" groupPresetDisableGainInteractivity="bool, required in groupPresetConditionOnOff=true group" groupPresetDisablePositionInteractivity="bool, required in groupPresetConditionOnOff=true group" groupPresetGain="uint8, optional in groupPresetConditionOnOff=true group" groupPresetAzOffset="uint8, optional in groupPresetConditionOnOff=true group - must be specified with groupPresetElOffset and groupPresetDistFactor" groupPresetElOffset="uint6, optional in groupPresetConditionOnOff=true group - must be specified with groupPresetAzOffset and groupPresetDistFactor" groupPresetDistFactor="uint4, optional in groupPresetConditionOnOff=true group - must be specified with groupPresetAzOffset and groupPresetElOffset" />
      </PresetGroup>
      <reserved>
        Hexadecimal content
      </reserved>
    </MPEGH_3D_audio_scene_descriptor>
    <MPEGH_3D_audio_text_label_descriptor _3dAudioSceneInfoID="uint8, required" numReservedBytes="uint16, optional">
      <DescriptionLanguage descriptionLanguage="char3, required">
        <GroupDescription mae_descriptionGroupID="uint7, required" groupDescription="string, required" />
        <SwitchGroupDescription mae_descriptionSwitchGroupID="uint5, required" switchGroupDescription="string, required" />
        <GroupPresetDescription mae_descriptionGroupPresetID="uint5, required" groupPresetDescription="string, required" />
      </DescriptionLanguage>
    </MPEGH_3D_audio_text_label_descriptor>
    <multilingual_bouquet_name_descriptor>
      <language code="char3, required" bouquet_name="string, required" />
    </multilingual_bouquet_name_descriptor>
    <multilingual_component_descriptor component_tag="uint8, required">
      <language code="char3, required" description="string, required" />
    </multilingual_component_descriptor>
    <multilingual_network_name_descriptor>
      <language code="char3, required" network_name="string, required" />
    </multilingual_network_name_descriptor>
    <multilingual_service_name_descriptor>
      <language code="char3, required" service_provider_name="string, required" service_name="string, required" />
    </multilingual_service_name_descriptor>
    <multiplex_buffer_descriptor MB_buffer_size="uint24, required" TB_leak_rate="uint24, required" />
    <multiplex_buffer_utilization_descriptor LTW_offset_lower_bound="uint15, optional" LTW_offset_upper_bound="uint15, optional" />
    <MuxCode_descriptor>
      <MuxCodeEntry MuxCode="uint4, required" version="uint4, required">
        <substructure repetitionCount="uint3, required">
          <slot m4MuxChannel="uint8, required" numberOfBytes="uint8, required" />
        </substructure>
      </MuxCodeEntry>
    </MuxCode_descriptor>
    <MVC_extension_descriptor average_bitrate="uint16, required" maximum_bitrate="uint16, required" view_association_not_present="bool, required" base_view_is_left_eyeview="bool, required" view_order_index_min="uint10, required" view_order_index_max="uint10, required" temporal_id_start="uint3, required" temporal_id_end="uint3, required" no_sei_nal_unit_present="bool, required" no_prefix_nal_unit_present="bool, required" />
    <MVC_operation_point_descriptor profile_idc="uint8, required" constraint_set0="bool, required" constraint_set1="bool, required" constraint_set2="bool, required" constraint_set3="bool, required" constraint_set4="bool, required" constraint_set5="bool, required" AVC_compatible_flags="uint2, required">
      <level level_idc="uint8, required">
        <operation_point applicable_temporal_id="uint3, required" num_target_output_views="uint8, required">
          <ES reference="uint6, required" />
        </operation_point>
      </level>
    </MVC_operation_point_descriptor>
    <network_change_notify_descriptor>
      <cell cell_id="uint16, required">
        <change network_change_id="uint8, required" network_change_version="uint8, required" start_time_of_change="YYYY-MM-DD hh:mm:ss, required" change_duration="hh:mm:ss, required" receiver_category="uint3, required" change_type="uint4, required" message_id="uint8, required" invariant_ts_tsid="uint16, optional" invariant_ts_onid="uint16, optional" />
      </cell>
    </network_change_notify_descriptor>
    <network_download_content_descriptor reboot="bool, required" add_on="bool, required" component_size="uint32, required" session_protocol_number="uint8, required" session_id="uint32, required" retry="uint8, required" connect_timer="uint24, required">
      <ipv4 address="IPv4 address, required" port="uint16, required" />
      <ipv6 address="IPv6 address, required" port="uint16, required" />
      <url url="string, required" />
      <_any in="_dsmccCompatibilityDescriptor" />
      <private_data>
        Hexadecimal content
      </private_data>
      <text_info ISO_639_language_code="char3, required" text="string, required" />
    </network_download_content_descriptor>
    <network_name_descriptor network_name="string, required" />
    <node_relation_descriptor reference_type="uint4, default=0" information_provider_id="uint16, optional" event_relation_id="uint16, optional" reference_node_id="uint16, required" reference_number="uint8, required" />
    <nordig_logical_channel_descriptor_v1>
      <service service_id="uint16, required" logical_channel_number="uint14, required" visible_service="bool, default=true" />
    </nordig_logical_channel_descriptor_v1>
    <nordig_logical_channel_descriptor_v2>
      <channel_list id="uint8, required" name="string, required" country_code="char3, required">
        <service service_id="uint16, required" logical_channel_number="uint10, required" visible_service="bool, default=true" />
      </channel_list>
    </nordig_logical_channel_descriptor_v2>
    <NPT_endpoint_descriptor start_NPT="uint33, required" stop_NPT="uint33, required" />
    <NPT_reference_descriptor post_discontinuity="bool, default=false" content_id="uint7, default=0x7F" STC_reference="uint33, required" NPT_reference="uint33, required" scale_numerator="uint16, required" scale_denominator="uint16, required" />
    <NVOD_reference_descriptor>
      <service transport_stream_id="uint16, required" original_network_id="uint16, required" service_id="uint16, required" />
    </NVOD_reference_descriptor>
    <parental_rating_descriptor>
      <country country_code="char3, required" rating="uint8, required" />
    </parental_rating_descriptor>
    <partial_reception_descriptor>
      <service id="uint16, required" />
    </partial_reception_descriptor>
    <partial_transport_stream_descriptor peak_rate="uint22, required" minimum_overall_smoothing_rate="uint22, default=0x3FFFFF" maximum_overall_smoothing_buffer="uint14, default=0x3FFF" />
    <partialTS_time_descriptor event_version_number="uint8, required" event_start_time="YYYY-MM-DD hh:mm:ss, optional" duration="hh:mm:ss, optional" offset="hh:mm:ss, optional" offset_flag="uint1, default=0" other_descriptor_status="bool, default=false" JST_time="YYYY-MM-DD hh:mm:ss, optional" />
    <PDC_descriptor programme_identification_label="MM-DD hh:mm, required" />
    <prefetch_descriptor transport_protocol_label="uint8, required">
      <module label="string, required" prefetch_priority="int, 1 to 100, required" />
    </prefetch_descriptor>
    <private_data_indicator_descriptor private_data_indicator="uint32, required" />
    <private_data_specifier_descriptor private_data_specifier="eacem|eutelsat|nordig|ofcom|...|uint32, required" />
    <protection_message_descriptor>
      <component tag="uint8, required" />
    </protection_message_descriptor>
    <quality_extension_descriptor field_size_bytes="uint8, required">
      <metric code="uint32, required" />
    </quality_extension_descriptor>
    <RAR_over_DVB_stream_descriptor first_valid_date="YYYY-MM-DD hh:mm:ss, required" last_valid_date="YYYY-MM-DD hh:mm:ss, required" weighting="uint6, required" complete_flag="bool, required" transport_stream_id="uint16, required" original_network_id="uint16, required" service_id="uint16, required" component_tag="uint8, required" download_start_time="YYYY-MM-DD hh:mm:ss, optional group with download_period_duration and download_cycle_time" download_period_duration="uint8, optional group with download_start_time and download_cycle_time" download_cycle_time="uint8, optional group with download_start_time and download_period_duration" />
    <RAR_over_IP_descriptor first_valid_date="YYYY-MM-DD hh:mm:ss, required" last_valid_date="YYYY-MM-DD hh:mm:ss, required" weighting="uint6, required" complete_flag="bool, required" url="string, required" />
    <redistribution_control_descriptor>
      <rc_information>
        Hexadecimal content
      </rc_information>
    </redistribution_control_descriptor>
    <reference_descriptor information_provider_id="uint16, required" event_relation_id="uint16, required">
      <reference reference_node_id="uint16, required" reference_number="uint8, required" last_reference_number="uint8, required" />
    </reference_descriptor>
    <registration_descriptor format_identifier="uint32, required">
      <additional_identification_info>
        Hexadecimal content (optional element)
      </additional_identification_info>
    </registration_descriptor>
    <related_content_descriptor />
    <RNT_scan_descriptor>
      <RNT_reference transport_stream_id="uint16, required" original_network_id="uint16, required" scan_weighting="uint8, required" />
    </RNT_scan_descriptor>
    <S2_satellite_delivery_system_descriptor backwards_compatibility="bool, default=false" TS_GS_mode="uint2, default=3" scrambling_sequence_index="uint18, optional" input_stream_identifier="uint8, optional" timeslice_number="uint8, optional" />
    <S2X_satellite_delivery_system_descriptor receiver_profiles="uint5, required" S2X_mode="uint2, required" TS_GS_S2X_mode="uint2, required" scrambling_sequence_index="uint18, optional" timeslice_number="uint8, required for S2X_mode==2">
      <master_channel frequency="SatelliteFrequencyHz, required" orbital_position="SatelliteOrbitalPosition, eg. 19.2, required" west_east_flag="east|west, required" polarization="horizontal|vertical|left|right, required" roll_off="0.35|0.25|0.20|0.15|0.10|0.05|uint3, required" symbol_rate="SatelliteSymbolRate, required" input_stream_identifier="uint8, optional" />
      <channel_bond frequency="SatelliteFrequencyHz, required" orbital_position="SatelliteOrbitalPosition, eg. 19.2, required" west_east_flag="east|west, required" polarization="horizontal|vertical|left|right, required" roll_off="0.35|0.25|0.20|0.15|0.10|0.05|uint3, required" symbol_rate="SatelliteSymbolRate, required" input_stream_identifier="uint8, optional" />
      <reserved_future_use>
        Hexadecimal content
      </reserved_future_use>
    </S2X_satellite_delivery_system_descriptor>
    <S2Xv2_satellite_delivery_system_descriptor delivery_system_id="uint32, required" S2Xv2_mode="1|2|4|5|uint4, required" roll_off="0.35|0.25|0.20|0.15|0.10|0.05|uint3, required" NCR_reference="uint1, required" NCR_version="uint1, required" channel_bond="uint2, required" polarization="horizontal|vertical|left|right, required" TS_GS_S2X_mode="uint2, required" receiver_profiles="uint5, required" satellite_id="uint24, required" frequency="SatelliteFrequencyHz, required" symbol_rate="SatelliteSymbolRate, required" input_stream_identifier="uint8, optional" scrambling_sequence_index="uint18, required for S2Xv2_mode==2 or S2Xv2_mode==5" timeslice_number="uint8, required for S2Xv2_mode==2 or S2Xv2_mode==5">
      <secondary_delivery_system id="uint32, required" />
      <superframe SOSF_WH_sequence_number="uint8, required" reference_scrambling_index="uint20, required" SFFI="uint4, optional" payload_scrambling_index="uint20, required" beamhopping_time_plan_id="uint32, optional" superframe_pilots_WH_sequence_number="uint5, required" postamble_PLI="uint3, required" />
      <reserved_future_use>
        Hexadecimal content
      </reserved_future_use>
    </S2Xv2_satellite_delivery_system_descriptor>
    <satellite_delivery_system_descriptor frequency="SatelliteFrequencyHz, required" orbital_position="SatelliteOrbitalPosition, eg. 19.2, required" west_east_flag="east|west, required" polarization="horizontal|vertical|left|right, required" roll_off="0.35|0.25|0.20|reserved, default=0.35" modulation_system="DVB-S|DVB-S2|ISDB-S, required" modulation_type="auto|QPSK|8PSK|16-QAM|ISDB-S|2.6GHzMobile|AdvancedCS, Default=QPSK|ISDB-S" symbol_rate="SatelliteSymbolRate, required" FEC_inner="undefined|1/2|2/3|3/4|5/6|7/8|8/9|3/5|4/5|9/10|ISDB-S|2.6GHzMobile|AdvancedCS|none, required" />
    <scheduling_descriptor start_date_time="YYYY-MM-DD hh:mm:ss, required" end_date_time="YYYY-MM-DD hh:mm:ss, required" final_availability="bool, required" periodicity="bool, required" period_unit="second|minute|hour|day|uint2, required" duration_unit="second|minute|hour|day|uint2, required" estimated_cycle_time_unit="second|minute|hour|day|uint2, required" period="uint8, required" duration="uint8, required" estimated_cycle_time="uint8, required">
      <private_data>
        Hexadecimal content
      </private_data>
    </scheduling_descriptor>
    <scrambling_descriptor scrambling_mode="uint8, required" />
    <series_descriptor series_id="uint16, required" repeat_label="uint4, required" program_pattern="uint3, required" expire_date="YYYY-MM-DD, optional" episode_number="uint12, required" last_episode_number="uint12, required" series_name="string, optional" />
    <service_availability_descriptor availability="bool, required">
      <cell id="uint16, required" />
    </service_availability_descriptor>
    <service_descriptor service_type="uint8, required" service_provider_name="string, required" service_name="string, required" />
    <service_group_descriptor service_group_type="uint4, required">
      <service primary_service_id="uint16, required" secondary_service_id="uint16, required" />
      <private_data>
        Hexadecimal content
      </private_data>
    </service_group_descriptor>
    <service_identifier_descriptor service_identifier="string, required" />
    <service_list_descriptor>
      <service service_id="uint16, required" service_type="uint8, required" />
    </service_list_descriptor>
    <service_location_descriptor PCR_PID="uint13, optional">
      <component stream_type="uint8, required" elementary_PID="uint13, required" ISO_639_language_code="char3, optional" />
    </service_location_descriptor>
    <service_move_descriptor new_original_network_id="uint16, required" new_transport_stream_id="uint16, required" new_service_id="uint16, required" />
    <service_prominence_descriptor>
      <sogi SOGI_flag="bool, required" SOGI_priority="uint12, required" service_id="uint16, optional">
        <target_region country_code="string, optional" primary_region_code="uint8, optional" secondary_region_code="uint8, optional" tertiary_region_code="uint16, optional" />
      </sogi>
      <private_data>
        Hexadecimal Content
      </private_data>
    </service_prominence_descriptor>
    <service_relocated_descriptor old_original_network_id="uint16, required" old_transport_stream_id="uint16, required" old_service_id="uint16, required" />
    <SH_delivery_system_descriptor diversity_mode="uint4, required">
      <modulation>
        <TDM polarization="horizontal|vertical|left|right, required" roll_off="0.35|0.25|0.15|reserved, required" modulation_mode="QPSK|8PSK|16APSK|reserved, required" code_rate="uint4, required" symbol_rate="uint5, required" />
        <OFDM bandwidth="8MHz|7MHz|6MHz|5MHz|1.7MHz|uint3, required" priority="uint1, required" constellation_and_hierarchy="uint3, required" code_rate="uint4, required" guard_interval="1/32|1/16|1/8|1/4|uint2, required" transmission_mode="1k|2k|4k|8k|uint2, required" common_frequency="bool, required" />
        <interleaver common_multiplier="uint6, required" nof_late_taps="uint6, optional" nof_slices="uint6, optional" slice_distance="uint8, optional" non_late_increments="uint6, optional" />
      </modulation>
    </SH_delivery_system_descriptor>
    <short_event_descriptor language_code="char3, required">
      <event_name>String</event_name>
      <text>String</text>
    </short_event_descriptor>
    <short_node_information_descriptor ISO_639_language_code="char3, required" node_name="string, optional" text="string, optional" />
    <short_smoothing_buffer_descriptor sb_size="uint2, required" sb_leak_rate="uint6, required">
      Hexadecimal content (optional DVB-reserved data)
    </short_smoothing_buffer_descriptor>
    <SI_parameter_descriptor parameter_version="uint8, required" update_time="YYYY-MM-DD, required">
      <table id="uint8, required">
        Hexadecimal content (table description bytes)
      </table>
    </SI_parameter_descriptor>
    <SI_prime_TS_descriptor parameter_version="uint8, required" update_time="YYYY-MM-DD, required" SI_prime_TS_network_id="uint16, required" SI_prime_transport_stream_id="uint16, required">
      <table id="uint8, required">
        Hexadecimal content (table description bytes)
      </table>
    </SI_prime_TS_descriptor>
    <simple_application_boundary_descriptor>
      <prefix boundary_extension="string, required" />
    </simple_application_boundary_descriptor>
    <simple_application_location_descriptor initial_path="string, required">
    </simple_application_location_descriptor>
    <sky_logical_channel_number_descriptor region_id="uint16, required">
      <service service_id="uint16, required" service_type="uint8, required" channel_id="uint16, required" logical_channel_number="uint16, required" sky_id="uint16, required" />
    </sky_logical_channel_number_descriptor>
    <SL_descriptor ES_ID="uint16, required" />
    <smoothing_buffer_descriptor sb_leak_rate="uint22, required" sb_size="uint22, required" />
    <smpte_anc_data_descriptor>
      Hexadecimal content
    </smpte_anc_data_descriptor>
    <splice_audio_descriptor identifier="uint32, default=0x43554549">
      <audio component_tag="uint8, required" ISO_code="char3, required" Bit_Stream_Mode="uint3, required" Num_Channels="uint4, required" Full_Srvc_Audio="bool, required" />
    </splice_audio_descriptor>
    <splice_avail_descriptor identifier="uint32, default=0x43554549" provider_avail_id="uint32, required" />
    <splice_DTMF_descriptor identifier="uint32, default=0x43554549" preroll="uint8, required" DTMF="string, required" />
    <splice_segmentation_descriptor identifier="uint32, default=0x43554549" segmentation_event_id="uint32, required" segmentation_event_cancel="bool, default=false" web_delivery_allowed="bool, default=true" no_regional_blackout="bool, default=true" archive_allowed="bool, default=true" device_restrictions="uint2, default=3" segmentation_duration="uint40, optional" segmentation_type_id="uint8, required" segment_num="uint8, required" segments_expected="uint8, required" sub_segment_num="uint8, required when segmentation_type_id == 0x34 or 0x36" sub_segments_expected="uint8, required when segmentation_type_id == 0x34 or 0x36">
      <segmentation_upid type="uint8, required">
        Hexadecimal content
      </segmentation_upid>
      <component component_tag="uint8, required" pts_offset="uint33, required" />
    </splice_segmentation_descriptor>
    <splice_time_descriptor identifier="uint32, default=0x43554549" TAI_seconds="uint48, required" TAI_ns="uint32, required" UTC_offset="uint16, required" />
    <SSU_enhanced_message_descriptor descriptor_number="uint4, required" last_descriptor_number="uint4, required" ISO_639_language_code="char3, required" message_index="uint5, required">
      <text>String</text>
    </SSU_enhanced_message_descriptor>
    <SSU_event_name_descriptor ISO_639_language_code="char3, required">
      <name>String</name>
      <text>String</text>
    </SSU_event_name_descriptor>
    <SSU_location_descriptor data_broadcast_id="uint16, required" association_tag="uint16, optional">
      <private_data>
        Hexadecimal content
      </private_data>
    </SSU_location_descriptor>
    <SSU_message_descriptor descriptor_number="uint4, required" last_descriptor_number="uint4, required" ISO_639_language_code="char3, required">
      <text>String</text>
    </SSU_message_descriptor>
    <SSU_subgroup_association_descriptor subgroup_tag="uint40, required" />
    <SSU_uri_descriptor max_holdoff_time="uint8, required" min_polling_interval="uint8, required" uri="string, required" />
    <STC_reference_descriptor STC_reference_mode="uint4, required" external_event_id="uint16, optional" external_service_id="uint16, optional" external_network_id="uint16, optional" NPT_reference="uint33, optional" STC_reference="uint33, optional" time_reference="hh:mm:ss, optional" time_reference_extension="mmm, optional">
      <reserved_data>
        Hexadecimal content
      </reserved_data>
    </STC_reference_descriptor>
    <STD_descriptor leak_valid="bool, required" />
    <stereoscopic_program_info_descriptor stereoscopic_service_type="uint3, required" />
    <stereoscopic_video_info_descriptor base_video="bool, required" leftview="bool, optional" usable_as_2D="bool, optional" horizontal_upsampling_factor="uint4, optional" vertical_upsampling_factor="uint4, optional" />
    <stream_event_descriptor event_id="uint16, required" event_NPT="uint33, required">
      <private_data>
        Hexadecimal content
      </private_data>
      <private_text>
        ASCII string to be used instead of private_data
      </private_text>
    </stream_event_descriptor>
    <stream_identifier_descriptor component_tag="uint8, required" />
    <stream_mode_descriptor stream_mode="uint8, required" />
    <stuffing_descriptor>
      Hexadecimal content
    </stuffing_descriptor>
    <subtitling_descriptor>
      <subtitling language_code="char3, required" subtitling_type="uint8, required" composition_page_id="uint16, required" ancillary_page_id="uint16, required" />
    </subtitling_descriptor>
    <supplementary_audio_descriptor mix_type="uint1, required" editorial_classification="uint5, required" language_code="char3, optional">
      <private_data>
        Hexadecimal content
      </private_data>
    </supplementary_audio_descriptor>
    <SVC_extension_descriptor width="uint16, required" height="uint16, required" frame_rate="uint16, required" average_bitrate="uint16, required" maximum_bitrate="uint16, required" dependency_id="uint3, required" quality_id_start="uint4, required" quality_id_end="uint4, required" temporal_id_start="uint3, required" temporal_id_end="uint3, required" no_sei_nal_unit_present="bool, required" />
    <system_clock_descriptor external_clock_reference="bool required" clock_accuracy_integer="uint6, required" clock_accuracy_exponent="uint3, required" />
    <system_management_descriptor broadcasting_flag="uint2, required" broadcasting_identifier="uint6, required" additional_broadcasting_identification="uint8, required">
      <additional_identification_info>
        Hexadecimal content
      </additional_identification_info>
    </system_management_descriptor>
    <T2_delivery_system_descriptor plp_id="uint8, required" T2_system_id="uint16, required">
      <extension SISO_MISO="SISO|MISO|uint2, required" bandwidth="8MHz|7MHz|6MHz|5MHz|10MHz|1.712MHz|uint4, required" guard_interval="1/32|1/16|1/8|1/4|1/128|19/128|19/256|uint3, required" transmission_mode="2k|8k|4k|1k|16k|32k|uint3, required" other_frequency="bool, required" tfs="bool, required">
        <cell cell_id="uint16, required">
          <centre_frequency value="FrequencyHz, required" />
          <subcell cell_id_extension="uint8, required" transposer_frequency="FrequencyHz, required" />
        </cell>
      </extension>
    </T2_delivery_system_descriptor>
    <T2MI_descriptor t2mi_stream_id="uint3, required" num_t2mi_streams_minus_one="uint3, default=0" pcr_iscr_common_clock_flag="bool, default=false">
      <reserved>
        Hexadecimal content
      </reserved>
    </T2MI_descriptor>
    <target_background_grid_descriptor horizontal_size="uint14, required" vertical_size="uint14, required" aspect_ratio_information="uint4, required" />
    <target_IP_address_descriptor IPv4_addr_mask="IPv4 address, required">
      <address IPv4_addr="IPv4 address, required" />
    </target_IP_address_descriptor>
    <target_IP_slash_descriptor>
      <address IPv4_addr="IPv4 address, required" IPv4_slash_mask="uint8, required" />
    </target_IP_slash_descriptor>
    <target_IP_source_slash_descriptor>
      <address IPv4_source_addr="IPv4 address, required" IPv4_source_slash_mask="uint8, required" IPv4_dest_addr="IPv4 address, required" IPv4_dest_slash_mask="uint8, required" />
    </target_IP_source_slash_descriptor>
    <target_IPv6_address_descriptor IPv6_addr_mask="IPv6 address, required">
      <address IPv6_addr="IPv6 address, required" />
    </target_IPv6_address_descriptor>
    <target_IPv6_slash_descriptor>
      <address IPv6_addr="IPv6 address, required" IPv6_slash_mask="uint8, required" />
    </target_IPv6_slash_descriptor>
    <target_IPv6_source_slash_descriptor>
      <address IPv6_source_addr="IPv6 address, required" IPv6_source_slash_mask="uint8, required" IPv6_dest_addr="IPv6 address, required" IPv6_dest_slash_mask="uint8, required" />
    </target_IPv6_source_slash_descriptor>
    <target_MAC_address_descriptor MAC_addr_mask="MAC address, required">
      <address MAC_addr="MAC address, required" />
    </target_MAC_address_descriptor>
    <target_MAC_address_range_descriptor>
      <range MAC_addr_low="MAC address, required" MAC_addr_high="MAC address, required" />
    </target_MAC_address_range_descriptor>
    <target_region_descriptor country_code="char3, required">
      <region country_code="char3, optional" primary_region_code="uint8, optional" secondary_region_code="uint8, optional" tertiary_region_code="uint16, optional" />
    </target_region_descriptor>
    <target_region_name_descriptor country_code="char3, required" ISO_639_language_code="char3, required">
      <region region_name="string, required" primary_region_code="uint8, required" secondary_region_code="uint8, optional" tertiary_region_code="uint16, optional" />
    </target_region_name_descriptor>
    <target_serial_number_descriptor>
      Hexadecimal content
    </target_serial_number_descriptor>
    <target_smartcard_descriptor super_CA_system_id="uint32, required">
      Hexadecimal content
    </target_smartcard_descriptor>
    <telephone_descriptor foreign_availability="bool, required" connection_type="uint5, required" country_prefix="string, 3 chars max, optional" international_area_code="string, 7 chars max, optional" operator_code="string, 3 chars max, optional" national_area_code="string, 7 chars max, optional" core_number="string, 15 chars max, optional" />
    <teletext_descriptor>
      <teletext language_code="char3, required" teletext_type="uint5, required" page_number="uint16, required" />
    </teletext_descriptor>
    <terrestrial_delivery_system_descriptor centre_frequency="TerrestrialFrequencyHz, required" bandwidth="8MHz|7MHz|6MHz|5MHz, required" priority="HP|LP, required" no_time_slicing="bool, required" no_MPE_FEC="bool, required" constellation="QPSK|16-QAM|64-QAM, required" hierarchy_information="uint3, required" code_rate_HP_stream="1/2|2/3|3/4|5/6|7/8, required" code_rate_LP_stream="1/2|2/3|3/4|5/6|7/8, required" guard_interval="1/32|1/16|1/8|1/4, required" transmission_mode="2k|8k|4k, required" other_frequency="bool, required" />
    <time_shifted_event_descriptor reference_service_id="uint16, required" reference_event_id="uint16, required" />
    <time_shifted_service_descriptor reference_service_id="uint16, required" />
    <time_slice_fec_identifier_descriptor time_slicing="bool, required" mpe_fec="uint2, required" frame_size="uint3, required" max_burst_duration="uint8, required" max_average_rate="uint4, required" time_slice_fec_id="uint4, default=0">
      <id_selector_bytes>Hexadecimal content</id_selector_bytes>
    </time_slice_fec_identifier_descriptor>
    <transport_profile_descriptor transport_profile="uint8, required">
      <private_data>
        Hexadecimal content
      </private_data>
    </transport_profile_descriptor>
    <transport_protocol_descriptor transport_protocol_label="uint8, required">
      <object_carousel original_network_id="uint16, optional" transport_stream_id="uint16, optional" service_id="uint16, optional" component_tag="uint8, required" />
      <ip_mpe original_network_id="uint16, optional" transport_stream_id="uint16, optional" service_id="uint16, optional" alignment_indicator="bool, required">
        <url value="string, required" />
      </ip_mpe>
      <http>
        <url base="string, required">
          <extension value="string, required" />
        </url>
      </http>
      <protocol id="uint16, required">
        Hexadecimal content
      </protocol>
    </transport_protocol_descriptor>
    <transport_stream_descriptor compliance="string, required" />
    <TS_information_descriptor remote_control_key_id="uint8, required" ts_name="string, required">
      <transmission_type transmission_type_info="uint8, required">
        <service id="uint16, required" />
      </transmission_type>
      <reserved_future_use>
        Hexadecimal content
      </reserved_future_use>
    </TS_information_descriptor>
    <TTML_subtitling_descriptor ISO_639_language_code="char3, required" subtitle_purpose="uint6, required" TTS_suitability="uint2, required" qualifier="uint32, optional" service_name="string, optional" reserved_zero_future_count="uint8, default=0">
      <dvb_ttml_profile value="uint8, required" />
      <font_id value="uint7, required" />
    </TTML_subtitling_descriptor>
    <TVA_id_descriptor>
      <TVA id="uint16, required" running_status="uint3, required" />
    </TVA_id_descriptor>
    <update_descriptor update_flag="uint2, required" update_method="uint4, required" update_priority="uint2, required">
      <private_data>
        Hexadecimal content
      </private_data>
    </update_descriptor>
    <URI_linkage_descriptor uri_linkage_type="uint8, required" uri="string, required" min_polling_interval="uint16, optional">
      <DVB_I_linkage end_point_type="uint8, required" service_list_name="string, optional" service_list_provider_name="string, optional">
        <private_data>
            Hexadecimal content
          </private_data>
      </DVB_I_linkage>
      <private_data>
        Hexadecimal content
      </private_data>
    </URI_linkage_descriptor>
    <VBI_data_descriptor>
      <service data_service_id="uint8, required">
        <field field_parity="bool, default=false" line_offset="uint5, default=0" />
        <reserved>
          Hexadecimal content
        </reserved>
      </service>
    </VBI_data_descriptor>
    <VBI_teletext_descriptor>
      <teletext language_code="char3, required" teletext_type="uint5, required" page_number="uint16, required" />
    </VBI_teletext_descriptor>
    <video_decode_control_descriptor still_picture="bool, required" sequence_end_code="bool, required" video_encode_format="uint4, required" reserved_future_use="uint2, default=3" />
    <video_depth_range_descriptor>
      <range range_type="uint8, required" video_max_disparity_hint="int12, required when range_type == 0" video_min_disparity_hint="int12, required when range_type == 0">
        <range_selector>
          Hexadecimal content
        </range_selector>
      </range>
    </video_depth_range_descriptor>
    <video_stream_descriptor multiple_frame_rate="bool, required" frame_rate_code="uint4, required" MPEG_1_only="bool, required" constrained_parameter="bool, required" still_picture="bool, required" profile_and_level_indication="uint8, required when MPEG_1_only='false'" chroma_format="uint2, required when MPEG_1_only='false'" frame_rate_extension="bool, required when MPEG_1_only='false'" />
    <video_window_descriptor horizontal_offset="uint14, required" vertical_offset="uint14, required" window_priority="uint4, required" />
    <virtual_segmentation_descriptor ticks_per_second="uint21, optional">
      <partition partition_id="uint3, required" SAP_type_max="uint3, required" boundary_PID="uint13, optional" maximum_duration="uint29, optional" />
    </virtual_segmentation_descriptor>
    <vvc_subpictures_descriptor default_service_mode="bool, required" processing_mode="uint3, required" service_description="string, optional">
      <subpicture component_tag="uint8, required" subpicture_id="uint8, required" />
    </vvc_subpictures_descriptor>
    <VVC_timing_and_HRD_descriptor hrd_management_valid="bool, required" N="uint32, optional" K="uint32, optional" num_units_in_tick="uint32, optional" />
    <VVC_video_descriptor profile_idc="uint7, required" tier_flag="bool, required" progressive_source_flag="bool, required" interlaced_source_flag="bool, required" non_packed_constraint_flag="bool, required" frame_only_constraint_flag="bool, required" level_idc="uint8, required" VVC_still_present_flag="bool, required" VVC_24hr_picture_present_flag="bool, required" HDR_WCG_idc="uint2, required" video_properties_tag="uint4, required" temporal_id_min="uint3, optional, specify both min and max or none" temporal_id_max="uint3, optional, specify both min and max or none">
      <sub_profile_idc value="uint32, required" />
    </VVC_video_descriptor>
    <xait_location_descriptor xait_original_network_id="uint16, required" xait_service_id="uint16, required" xait_version_number="uint5, required" xait_update_policy="uint3, required" />
    <xait_pid_descriptor xait_PID="uint13, required" />
  </_descriptors>
  <_dsmccCompatibilityDescriptor>
    <compatibilityDescriptor>
      <descriptor descriptorType="uint8, required" specifierType="uint8, default=1" specifierData="uint24, required" model="uint16, default=0" version="uint16, default=0">
        <subDescriptor subDescriptorType="uint8, required">
          Hexadecimal content
        </subDescriptor>
      </descriptor>
    </compatibilityDescriptor>
  </_dsmccCompatibilityDescriptor>
  <_dsmccResourceDescriptor>
    <dsmccResourceDescriptor resourceRequestId="uint16, required" resourceDescriptorType="uint16, required" resourceNum="uint16, required" associationTag="uint16, required" resourceFlags="uint8, required" resourceStatus="uint8, required" resourceDataFieldCount="uint16, required" typeOwnerId="uint24, required when resourceDescriptorType == 0xFFFF" typeOwnerValue="uint24, required when resourceDescriptorType == 0xFFFF">
      <resourceDescriptorDataFields>
        Hexadecimal content
      </resourceDescriptorDataFields>
    </dsmccResourceDescriptor>
  </_dsmccResourceDescriptor>
  <_dsmccTap>
    <Tap id="uint16, required" use="uint16, required" association_tag="uint16, required" selector_type="uint16, optional" transaction_id="uint32, required if selector_type == 1" timeout="uint32, required if selector_type == 1">
      <selector_bytes>
        Hexadecimal content
      </selector_bytes>
    </Tap>
  </_dsmccTap>
</tsduck>
