feyris-tan 7de126b5a1
Some checks failed
🚀 Pack skyscraper8 / make-zip (push) Failing after 1m41s
Patches for handing off DVB-SIS data to the UI.
2026-03-15 19:02:36 +01:00

388 lines
14 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="DSACI">
<xs:complexType>
<xs:sequence>
<xs:element name="global_configuration" type="type_global_configuration" />
<xs:element name="input_configuration" type="type_input_configuration" />
<xs:element name="remultiplexing" type="type_remultiplexing"/>
<xs:element name="output_processing" type="type_output_processing"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- type_global_configuration -->
<xs:complexType name="type_global_configuration">
<xs:sequence>
<xs:element name="current_DSA_group_id" type="xs:int"/>
<xs:element name="global_version_number" type="type_version_number"/>
<xs:element name="global_application_time" type="xs:int"/>
<xs:element name="SIS_edition" type="type_SIS_edition"/>
</xs:sequence>
</xs:complexType>
<!-- type_SIS_edition -->
<xs:complexType name="type_SIS_edition">
<xs:sequence>
<xs:element name="major" type="xs:int"/>
<xs:element name="middle" type="xs:int"/>
<xs:element name="minor" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<!-- type_input_configuration -->
<xs:complexType name="type_input_configuration">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="1" name="input" type="type_input_parent" />
</xs:sequence>
</xs:complexType>
<!-- type_input_parent: number of instances equals number of defined inputs -->
<xs:complexType name="type_input_parent">
<xs:sequence>
<xs:element name="input_TS_id" type="xs:int"/>
<xs:element name="input_ON_id" type="xs:int"/>
<xs:element name="source_id" type="xs:int"/>
<xs:element name="PMT_PID_SIS_service" type="type_pid"/>
<xs:element name="Primary_SIS_Service_Flag" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<!-- type_remultiplexing -->
<xs:complexType name="type_remultiplexing">
<xs:sequence>
<xs:element name="output_TS" type= "type_output_TS" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- type_output_TS: number of instances equals number of defined output TS -->
<xs:complexType name="type_output_TS">
<xs:sequence>
<xs:element name="PLP_id" minOccurs="0" maxOccurs="1" type="xs:int"/>
<xs:element name="output_TS_id" type="xs:int"/>
<xs:element name="output_ON_id" type="xs:int"/>
<xs:element name="pid_processing" type= "type_pid_processing"/>
<xs:element name="service_pmt_processing" type="type_service_pmt_processing"/>
<xs:element name="psisi_processing" type="type_psisi_processing_mode"/>
<xs:element name="Nsteps_to_live" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<!-- type_pid_processing -->
<xs:complexType name="type_pid_processing">
<xs:sequence>
<xs:element name="pid" type="type_pid_proc" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- type_pid_proc: number of instances equals number of defined output pid -->
<xs:complexType name="type_pid_proc">
<xs:sequence>
<xs:element name="source_id" type="xs:int"/>
<xs:element name="input_PID" type="type_pid"/>
<xs:element name="output_PID" type="type_pid"/>
</xs:sequence>
</xs:complexType>
<!-- type_service_pmt_processing -->
<xs:complexType name="type_service_pmt_processing">
<xs:sequence>
<xs:element name="service" type="type_service" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- type_service: number of instances equals number of defined service in an output TS -->
<xs:complexType name="type_service">
<xs:sequence>
<xs:element name="source_id" type="xs:int"/>
<xs:element name="input_service_id" type="xs:int"/>
<xs:element name="output_service_id" type="xs:int"/>
<xs:element name="output_service_name" type="xs:string"/>
<xs:element name="output_provider_name" type="xs:string"/>
<xs:element name="eit_schedule_flag" type="xs:boolean"/>
<xs:element name="eit_present_following_flag" type="xs:boolean"/>
<xs:element name="running_status" type="xs:int"/>
<xs:element name="free_ca_mode" type="xs:int"/>
<xs:element name="output_PMT_PID" type="type_pid"/>
<xs:element name="pmt_processing_mode" type="type_pmt_processing_mode"/>
</xs:sequence>
</xs:complexType>
<!-- type_pmt_processing_mode -->
<xs:complexType name="type_pmt_processing_mode">
<xs:choice>
<xs:element name="pmt_passthrough" type="pmt_passthrough_processing"/>
<xs:element name="pmt_patching" type="pmt_patching_processing"/>
<xs:element name="pmt_regeneration" type="pmt_regeneration_processing"/>
</xs:choice>
</xs:complexType>
<!-- pmt_passthrough_processing -->
<xs:simpleType name="pmt_passthrough_processing">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<!-- pmt_patching_processing -->
<xs:complexType name="pmt_patching_processing">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="ECM" type="type_ECM"/>
</xs:sequence>
</xs:complexType>
<!-- pmt_regeneration_processing -->
<xs:complexType name="pmt_regeneration_processing">
<xs:sequence>
<xs:element name="table_repetition_period" type="xs:int"/>
<xs:element name="offset" type="xs:int"/>
<xs:element name="PCR_PID" type="type_pid"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="output_pid" type="type_pid"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="ECM" type="type_ECM"/>
</xs:sequence>
</xs:complexType>
<!-- type_ECM -->
<xs:complexType name="type_ECM">
<xs:sequence>
<xs:element name="CAS_id" type="xs:int"/>
<xs:element name="output_ECM_PID" type="type_pid"/>
</xs:sequence>
</xs:complexType>
<!-- type_psisi_processing_mode -->
<xs:complexType name="type_psisi_processing_mode">
<xs:sequence>
<xs:element name="pat" type="type_pat_processing_mode"/>
<xs:element name="cat" type="type_cat_processing_mode"/>
<xs:element name="sdt_bat" type="type_sdt_bat_processing_mode"/>
<xs:element name="eit" type="type_eit_processing_mode"/>
</xs:sequence>
</xs:complexType>
<!-- type_pat_processing_mode -->
<xs:complexType name="type_pat_processing_mode">
<xs:choice>
<xs:element name="pat_passthrough" type="pat_passthrough_processing"/>
<xs:element name="pat_patching" type="pat_patching_processing"/>
<xs:element name="pat_regeneration" type="pat_regeneration_processing"/>
</xs:choice>
</xs:complexType>
<!-- pat_passthrough_processing -->
<xs:simpleType name="pat_passthrough_processing">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<!-- pat_patching_processing -->
<xs:simpleType name="pat_patching_processing">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<!-- pat_regeneration_processing -->
<xs:complexType name="pat_regeneration_processing">
<xs:sequence>
<xs:element name="table_repetition_period" type="xs:int"/>
<xs:element name="offset" type="xs:int"/>
<xs:element name="PAT_version_number" type="type_version_number"/>
</xs:sequence>
</xs:complexType>
<!-- type_cat_processing_mode -->
<xs:complexType name="type_cat_processing_mode">
<xs:choice>
<xs:element name="cat_stopping" type="cat_stopping_processing"/>
<xs:element name="cat_passthrough" type="cat_passthrough_processing"/>
<xs:element name="cat_patching" type="cat_patching_processing"/>
<xs:element name="cat_regeneration" type="cat_regeneration_processing"/>
</xs:choice>
</xs:complexType>
<!-- cat_stopping_processing -->
<xs:simpleType name="cat_stopping_processing">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<!-- cat_passthrough_processing -->
<xs:simpleType name="cat_passthrough_processing">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<!-- cat_patching_processing -->
<xs:complexType name="cat_patching_processing">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="ca_provider" type="type_ca_provider"/>
</xs:sequence>
</xs:complexType>
<!-- cat_regeneration_processing -->
<xs:complexType name="cat_regeneration_processing">
<xs:sequence>
<xs:element name="table_repetition_period" type="xs:int"/>
<xs:element name="offset" type="xs:int"/>
<xs:element name="CAT_version_number" type="type_version_number"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="ca_provider" type="type_ca_provider"/>
</xs:sequence>
</xs:complexType>
<!-- ca_provider: number of instances equals number of output EMM_PIDs -->
<xs:complexType name="type_ca_provider">
<xs:sequence>
<xs:element name="CAS_id" type="xs:int"/>
<xs:element name="output_EMM_PID" type="type_pid"/>
</xs:sequence>
</xs:complexType>
<!-- type_sdt_processing_mode -->
<xs:complexType name="type_sdt_bat_processing_mode">
<xs:choice>
<xs:element name="sdt_passthrough" type="sdt_passthrough_processing"/>
<xs:element name="sdt_patching" type="sdt_patching_processing"/>
<xs:element name="sdt_regeneration" type="sdt_regeneration_processing"/>
</xs:choice>
</xs:complexType>
<!-- sdt_passthrough_processing -->
<xs:simpleType name="sdt_passthrough_processing">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<!-- sdt_patching_processing -->
<xs:complexType name="sdt_patching_processing">
<xs:sequence>
<xs:element name="sdt_crossreferencing_flag" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="other_mux" type="type_other_mux"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="bouquet" type="type_bouquet"/>
</xs:sequence>
</xs:complexType>
<!-- sdt_regeneration_processing -->
<xs:complexType name="sdt_regeneration_processing">
<xs:sequence>
<xs:element name="sdt_actual_period" type="xs:int"/>
<xs:element name="M_actual" type="xs:int"/>
<xs:element name="offset" type="xs:int"/>
<xs:element name="sdt_actual_version_number" type="xs:int"/>
<xs:element name="sdt_crossreferencing_flag" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="other_mux" type="type_other_mux"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="bouquet" type="type_bouquet"/>
</xs:sequence>
</xs:complexType>
<!-- other_mux: number of instances equals number of defined other muxes -->
<xs:complexType name="type_other_mux">
<xs:sequence>
<xs:element name="other_DSA_group_id" type="xs:int"/>
<xs:element name="DSACI_PID" type="type_pid"/>
<xs:element name="source_id" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<!-- type_bouquet -->
<xs:complexType name="type_bouquet">
<xs:sequence>
<xs:element name="source_id" type="xs:int"/>
<xs:element name="input_bouquet_id" type="xs:int"/>
<xs:element name="terrestrial_bouquet_id" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<!-- type_eit_processing_mode -->
<xs:complexType name="type_eit_processing_mode">
<xs:choice>
<xs:element name="eit_passthrough" type="eit_passthrough_processing"/>
<xs:element name="eit_patching" type="eit_patching_processing"/>
<xs:element name="eit_regeneration" type="eit_regeneration_processing"/>
</xs:choice>
</xs:complexType>
<!-- eit_passthrough_processing -->
<xs:simpleType name="eit_passthrough_processing">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<!-- eit_patching_processing -->
<xs:complexType name="eit_patching_processing">
<xs:sequence>
<xs:element name="eit_crossreferencing_flag" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="other_mux" type="type_other_mux"/>
</xs:sequence>
</xs:complexType>
<!-- eit_regeneration_processing -->
<xs:complexType name="eit_regeneration_processing">
<xs:sequence>
<xs:element name="eit_pf_actual_period" type="xs:int"/>
<xs:element name="eit_pf_other_period" type="xs:int"/>
<xs:element name="eit_sch_1stday_actual_period" type="xs:int"/>
<xs:element name="eit_sch_1stday_other_period" type="xs:int"/>
<xs:element name="eit_sch_2nd_8th_actual_period" type="xs:int"/>
<xs:element name="eit_sch_2nd_8th_other_period" type="xs:int"/>
<xs:element name="eit_sch_sup_8th_actual_period" type="xs:int"/>
<xs:element name="eit_sch_sup_8th_other_period" type="xs:int"/>
<xs:element name="eit_insertion_window_duration" type="xs:int"/>
<xs:element name="eit_cross_referencing_flag" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="other_mux" type="type_other_mux"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="DTT_only_service"
type="type_DTT_only_service"/>
</xs:sequence>
</xs:complexType>
<!-- DTT_only_service: number of instances equals number of defined DTT only service -->
<xs:complexType name="type_DTT_only_service">
<xs:sequence>
<xs:element name="DTT_only_service_id" type="xs:int"/>
<xs:element name="input_EIT_PID" type="type_pid"/>
<xs:element name="source_id" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<!-- type_output_processing -->
<xs:complexType name="type_output_processing">
<xs:sequence>
<xs:element name="terrestrial_standard_generation"
type="type_terrestrial_standard_generation" />
</xs:sequence>
</xs:complexType>
<!-- type_terrestrial_standard -->
<xs:complexType name="type_terrestrial_standard_generation">
<xs:choice>
<xs:element name="dvb_t" type="dvb_t_standard"/>
<xs:element name="dvb_t2" type="dvb_t2_standard"/>
</xs:choice>
</xs:complexType>
<!-- dvb_t_standard -->
<xs:simpleType name="dvb_t_standard">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<!-- dvb_t2_standard -->
<xs:complexType name="dvb_t2_standard">
<xs:sequence>
<xs:element name="output_T2_MI_PID" type="type_pid"/>
<xs:element name="output_T2_MI_stream_id" type="xs:int"/>
<xs:element name="output_rate" type="xs:int"/>
<xs:element maxOccurs="1" minOccurs="0" name="L2_signalling" type="type_L2_signalling"/>
</xs:sequence>
</xs:complexType>
<!-- L2_signalling -->
<xs:complexType name="type_L2_signalling">
<xs:sequence>
<xs:element name="output_TS_id" type="xs:int"/>
<xs:element name="output_ON_id" type="xs:int"/>
<xs:element name="output_L2_service_id" type="xs:int"/>
<xs:element name="output_L2_service_provider_name" type="xs:string"/>
<xs:element name="output_L2_service_name" type="xs:string"/>
<xs:element name="output_L2_PCR_PID" type="type_pid"/>
<xs:element name="output_L2_PMT_PID" type="type_pid"/>
</xs:sequence>
</xs:complexType>
<!-- Other types -->
<xs:simpleType name="type_version_number">
<xs:restriction base="xs:int">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="31"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="type_pid">
<xs:restriction base="xs:int">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="8191"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>