//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by xsd, Version=4.8.9037.0.
// 
namespace moe.yo3explorer.skyscraper8.DVBI.Model {
    using System.Xml.Serialization;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    [System.Xml.Serialization.XmlRootAttribute("ServiceList", Namespace="urn:dvb:metadata:servicediscovery:2024", IsNullable=false)]
    public partial class ServiceListType {
        
        private TextualType[] nameField;
        
        private TextualType[] providerNameField;
        
        private AudioLanguageType[] languageListField;
        
        private RelatedMaterialType[] relatedMaterialField;
        
        private RegionListType regionListField;
        
        private string[] targetRegionField;
        
        private LCNTableType[] lCNTableListField;
        
        private object itemField;
        
        private ServiceType[] itemsField;
        
        private ItemsChoiceType2[] itemsElementNameField;
        
        private SubscriptionPackageListType subscriptionPackageListField;
        
        private System.Xml.XmlElement[] anyField;
        
        private string idField;
        
        private string versionField;
        
        private ServiceListTypeResponseStatus responseStatusField;
        
        private bool responseStatusFieldSpecified;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Name")]
        public TextualType[] Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderName")]
        public TextualType[] ProviderName {
            get {
                return this.providerNameField;
            }
            set {
                this.providerNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("Language", IsNullable=false)]
        public AudioLanguageType[] LanguageList {
            get {
                return this.languageListField;
            }
            set {
                this.languageListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedMaterial")]
        public RelatedMaterialType[] RelatedMaterial {
            get {
                return this.relatedMaterialField;
            }
            set {
                this.relatedMaterialField = value;
            }
        }
        
        /// <remarks/>
        public RegionListType RegionList {
            get {
                return this.regionListField;
            }
            set {
                this.regionListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TargetRegion", DataType="IDREF")]
        public string[] TargetRegion {
            get {
                return this.targetRegionField;
            }
            set {
                this.targetRegionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("LCNTable", IsNullable=false)]
        public LCNTableType[] LCNTableList {
            get {
                return this.lCNTableListField;
            }
            set {
                this.lCNTableListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ContentGuideSource", typeof(ContentGuideSourceType))]
        [System.Xml.Serialization.XmlElementAttribute("ContentGuideSourceList", typeof(ContentGuideSourceListType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Service", typeof(ServiceType))]
        [System.Xml.Serialization.XmlElementAttribute("TestService", typeof(ServiceType))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public ServiceType[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType2[] ItemsElementName {
            get {
                return this.itemsElementNameField;
            }
            set {
                this.itemsElementNameField = value;
            }
        }
        
        /// <remarks/>
        public SubscriptionPackageListType SubscriptionPackageList {
            get {
                return this.subscriptionPackageListField;
            }
            set {
                this.subscriptionPackageListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ServiceListTypeResponseStatus responseStatus {
            get {
                return this.responseStatusField;
            }
            set {
                this.responseStatusField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool responseStatusSpecified {
            get {
                return this.responseStatusFieldSpecified;
            }
            set {
                this.responseStatusFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganizationNameType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceInformationNameType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExplanationType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SynopsisType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(KeywordType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TermNameType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SubscriptionPackageType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class TextualType : TextualBaseType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TitleType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ShortTitleType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TextualType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganizationNameType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceInformationNameType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExplanationType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SynopsisType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(KeywordType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TermNameType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SubscriptionPackageType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(NameComponentType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public abstract partial class TextualBaseType {
        
        private string langField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class SubscriptionPackageListType {
        
        private SubscriptionPackageType[] subscriptionPackageField;
        
        private bool allowNoPackageField;
        
        public SubscriptionPackageListType() {
            this.allowNoPackageField = true;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SubscriptionPackage")]
        public SubscriptionPackageType[] SubscriptionPackage {
            get {
                return this.subscriptionPackageField;
            }
            set {
                this.subscriptionPackageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool allowNoPackage {
            get {
                return this.allowNoPackageField;
            }
            set {
                this.allowNoPackageField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class SubscriptionPackageType : TextualType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class ServiceProminenceEntryType {
        
        private string countryField;
        
        private string regionField;
        
        private string rankingField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string country {
            get {
                return this.countryField;
            }
            set {
                this.countryField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="IDREF")]
        public string region {
            get {
                return this.regionField;
            }
            set {
                this.regionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string ranking {
            get {
                return this.rankingField;
            }
            set {
                this.rankingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class NVODType {
        
        private NVODTypeMode modeField;
        
        private string referenceField;
        
        private string offsetField;
        
        public NVODType() {
            this.offsetField = "PT0S";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public NVODTypeMode mode {
            get {
                return this.modeField;
            }
            set {
                this.modeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string reference {
            get {
                return this.referenceField;
            }
            set {
                this.referenceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        [System.ComponentModel.DefaultValueAttribute("PT0S")]
        public string offset {
            get {
                return this.offsetField;
            }
            set {
                this.offsetField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum NVODTypeMode {
        
        /// <remarks/>
        reference,
        
        /// <remarks/>
        timeshifted,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class IdentifierBasedDeliveryParametersType {
        
        private string contentTypeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string contentType {
            get {
                return this.contentTypeField;
            }
            set {
                this.contentTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="anyURI")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery-types:2023")]
    public abstract partial class ExtensionBaseType {
        
        private string extensionNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string extensionName {
            get {
                return this.extensionNameField;
            }
            set {
                this.extensionNameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class DASHDeliveryParametersType {
        
        private ExtendedURIType1 uriBasedLocationField;
        
        private uint minimumBitRateField;
        
        private bool minimumBitRateFieldSpecified;
        
        private ExtensionBaseType[] extensionField;
        
        /// <remarks/>
        public ExtendedURIType1 UriBasedLocation {
            get {
                return this.uriBasedLocationField;
            }
            set {
                this.uriBasedLocationField = value;
            }
        }
        
        /// <remarks/>
        public uint MinimumBitRate {
            get {
                return this.minimumBitRateField;
            }
            set {
                this.minimumBitRateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MinimumBitRateSpecified {
            get {
                return this.minimumBitRateFieldSpecified;
            }
            set {
                this.minimumBitRateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Extension")]
        public ExtensionBaseType[] Extension {
            get {
                return this.extensionField;
            }
            set {
                this.extensionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="ExtendedURIType", Namespace="urn:dvb:metadata:servicediscovery-types:2023")]
    public partial class ExtendedURIType1 {
        
        private string uRIField;
        
        private string contentTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string URI {
            get {
                return this.uRIField;
            }
            set {
                this.uRIField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string contentType {
            get {
                return this.contentTypeField;
            }
            set {
                this.contentTypeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class MulticastRETType {
        
        private string sourceAddressField;
        
        private string groupAddressField;
        
        private uint ssrcField;
        
        private bool ssrcFieldSpecified;
        
        private uint rTPPayloadTypeNumberField;
        
        private bool rTPPayloadTypeNumberFieldSpecified;
        
        private bool dvboriginalcopyretField;
        
        private bool dvboriginalcopyretFieldSpecified;
        
        private bool rtcpmuxField;
        
        private uint destinationPortField;
        
        private bool destinationPortFieldSpecified;
        
        private uint rtxtimeField;
        
        public MulticastRETType() {
            this.rtcpmuxField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SourceAddress {
            get {
                return this.sourceAddressField;
            }
            set {
                this.sourceAddressField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string GroupAddress {
            get {
                return this.groupAddressField;
            }
            set {
                this.groupAddressField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint ssrc {
            get {
                return this.ssrcField;
            }
            set {
                this.ssrcField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ssrcSpecified {
            get {
                return this.ssrcFieldSpecified;
            }
            set {
                this.ssrcFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint RTPPayloadTypeNumber {
            get {
                return this.rTPPayloadTypeNumberField;
            }
            set {
                this.rTPPayloadTypeNumberField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RTPPayloadTypeNumberSpecified {
            get {
                return this.rTPPayloadTypeNumberFieldSpecified;
            }
            set {
                this.rTPPayloadTypeNumberFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("dvb-original-copy-ret")]
        public bool dvboriginalcopyret {
            get {
                return this.dvboriginalcopyretField;
            }
            set {
                this.dvboriginalcopyretField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool dvboriginalcopyretSpecified {
            get {
                return this.dvboriginalcopyretFieldSpecified;
            }
            set {
                this.dvboriginalcopyretFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("rtcp-mux")]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool rtcpmux {
            get {
                return this.rtcpmuxField;
            }
            set {
                this.rtcpmuxField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint DestinationPort {
            get {
                return this.destinationPortField;
            }
            set {
                this.destinationPortField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DestinationPortSpecified {
            get {
                return this.destinationPortFieldSpecified;
            }
            set {
                this.destinationPortFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("rtx-time")]
        public uint rtxtime {
            get {
                return this.rtxtimeField;
            }
            set {
                this.rtxtimeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class UnicastRETType {
        
        private uint trrintField;
        
        private bool trrintFieldSpecified;
        
        private uint destinationPortForRTCPReportingField;
        
        private bool destinationPortForRTCPReportingFieldSpecified;
        
        private uint sourcePortField;
        
        private bool sourcePortFieldSpecified;
        
        private string rTSPControlURLField;
        
        private uint ssrcField;
        
        private bool ssrcFieldSpecified;
        
        private uint rTPPayloadTypeNumberField;
        
        private bool rTPPayloadTypeNumberFieldSpecified;
        
        private bool dvboriginalcopyretField;
        
        private bool dvboriginalcopyretFieldSpecified;
        
        private bool rtcpmuxField;
        
        private uint destinationPortField;
        
        private bool destinationPortFieldSpecified;
        
        private uint rtxtimeField;
        
        public UnicastRETType() {
            this.rtcpmuxField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("trr-int")]
        public uint trrint {
            get {
                return this.trrintField;
            }
            set {
                this.trrintField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool trrintSpecified {
            get {
                return this.trrintFieldSpecified;
            }
            set {
                this.trrintFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("DestinationPort-ForRTCPReporting")]
        public uint DestinationPortForRTCPReporting {
            get {
                return this.destinationPortForRTCPReportingField;
            }
            set {
                this.destinationPortForRTCPReportingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DestinationPortForRTCPReportingSpecified {
            get {
                return this.destinationPortForRTCPReportingFieldSpecified;
            }
            set {
                this.destinationPortForRTCPReportingFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint SourcePort {
            get {
                return this.sourcePortField;
            }
            set {
                this.sourcePortField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SourcePortSpecified {
            get {
                return this.sourcePortFieldSpecified;
            }
            set {
                this.sourcePortFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string RTSPControlURL {
            get {
                return this.rTSPControlURLField;
            }
            set {
                this.rTSPControlURLField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint ssrc {
            get {
                return this.ssrcField;
            }
            set {
                this.ssrcField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ssrcSpecified {
            get {
                return this.ssrcFieldSpecified;
            }
            set {
                this.ssrcFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint RTPPayloadTypeNumber {
            get {
                return this.rTPPayloadTypeNumberField;
            }
            set {
                this.rTPPayloadTypeNumberField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RTPPayloadTypeNumberSpecified {
            get {
                return this.rTPPayloadTypeNumberFieldSpecified;
            }
            set {
                this.rTPPayloadTypeNumberFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("dvb-original-copy-ret")]
        public bool dvboriginalcopyret {
            get {
                return this.dvboriginalcopyretField;
            }
            set {
                this.dvboriginalcopyretField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool dvboriginalcopyretSpecified {
            get {
                return this.dvboriginalcopyretFieldSpecified;
            }
            set {
                this.dvboriginalcopyretFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("rtcp-mux")]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool rtcpmux {
            get {
                return this.rtcpmuxField;
            }
            set {
                this.rtcpmuxField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint DestinationPort {
            get {
                return this.destinationPortField;
            }
            set {
                this.destinationPortField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DestinationPortSpecified {
            get {
                return this.destinationPortFieldSpecified;
            }
            set {
                this.destinationPortFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("rtx-time")]
        public uint rtxtime {
            get {
                return this.rtxtimeField;
            }
            set {
                this.rtxtimeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class RTCPReportingType {
        
        private string destinationAddressField;
        
        private ushort destinationPortField;
        
        private bool destinationPortFieldSpecified;
        
        private string dvbtretField;
        
        private string rtcpbandwidthField;
        
        private string rtcprsizeField;
        
        private string trrintField;
        
        private bool dvbdisablertcprrField;
        
        private bool dvbenablebyteField;
        
        private uint dvbtwaitminField;
        
        private uint dvbtwaitmaxField;
        
        private string dvbssrcbitmaskField;
        
        private bool dvbrsimcretField;
        
        private bool dvbrsimcretFieldSpecified;
        
        private string dvbssrcupstreamclientField;
        
        public RTCPReportingType() {
            this.dvbdisablertcprrField = false;
            this.dvbenablebyteField = false;
            this.dvbtwaitminField = ((uint)(0));
            this.dvbtwaitmaxField = ((uint)(0));
            this.dvbssrcbitmaskField = "ffffffff";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DestinationAddress {
            get {
                return this.destinationAddressField;
            }
            set {
                this.destinationAddressField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ushort DestinationPort {
            get {
                return this.destinationPortField;
            }
            set {
                this.destinationPortField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DestinationPortSpecified {
            get {
                return this.destinationPortFieldSpecified;
            }
            set {
                this.destinationPortFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("dvb-t-ret", DataType="positiveInteger")]
        public string dvbtret {
            get {
                return this.dvbtretField;
            }
            set {
                this.dvbtretField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("rtcp-bandwidth", DataType="positiveInteger")]
        public string rtcpbandwidth {
            get {
                return this.rtcpbandwidthField;
            }
            set {
                this.rtcpbandwidthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("rtcp-rsize", DataType="positiveInteger")]
        public string rtcprsize {
            get {
                return this.rtcprsizeField;
            }
            set {
                this.rtcprsizeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("trr-int", DataType="positiveInteger")]
        public string trrint {
            get {
                return this.trrintField;
            }
            set {
                this.trrintField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("dvb-disable-rtcp-rr")]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool dvbdisablertcprr {
            get {
                return this.dvbdisablertcprrField;
            }
            set {
                this.dvbdisablertcprrField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("dvb-enable-byte")]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool dvbenablebyte {
            get {
                return this.dvbenablebyteField;
            }
            set {
                this.dvbenablebyteField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("dvb-t-wait-min")]
        [System.ComponentModel.DefaultValueAttribute(typeof(uint), "0")]
        public uint dvbtwaitmin {
            get {
                return this.dvbtwaitminField;
            }
            set {
                this.dvbtwaitminField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("dvb-t-wait-max")]
        [System.ComponentModel.DefaultValueAttribute(typeof(uint), "0")]
        public uint dvbtwaitmax {
            get {
                return this.dvbtwaitmaxField;
            }
            set {
                this.dvbtwaitmaxField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("dvb-ssrc-bitmask")]
        [System.ComponentModel.DefaultValueAttribute("ffffffff")]
        public string dvbssrcbitmask {
            get {
                return this.dvbssrcbitmaskField;
            }
            set {
                this.dvbssrcbitmaskField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("dvb-rsi-mc-ret")]
        public bool dvbrsimcret {
            get {
                return this.dvbrsimcretField;
            }
            set {
                this.dvbrsimcretField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool dvbrsimcretSpecified {
            get {
                return this.dvbrsimcretFieldSpecified;
            }
            set {
                this.dvbrsimcretFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("dvb-ssrc-upstream-client", DataType="positiveInteger")]
        public string dvbssrcupstreamclient {
            get {
                return this.dvbssrcupstreamclientField;
            }
            set {
                this.dvbssrcupstreamclientField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class RETInfoType {
        
        private RTCPReportingType rTCPReportingField;
        
        private UnicastRETType unicastRETField;
        
        private MulticastRETType multicastRETField;
        
        /// <remarks/>
        public RTCPReportingType RTCPReporting {
            get {
                return this.rTCPReportingField;
            }
            set {
                this.rTCPReportingField = value;
            }
        }
        
        /// <remarks/>
        public UnicastRETType UnicastRET {
            get {
                return this.unicastRETField;
            }
            set {
                this.unicastRETField = value;
            }
        }
        
        /// <remarks/>
        public MulticastRETType MulticastRET {
            get {
                return this.multicastRETField;
            }
            set {
                this.multicastRETField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class FECLayerAddressType {
        
        private string addressField;
        
        private string sourceField;
        
        private ushort portField;
        
        private bool portFieldSpecified;
        
        private string maxBitrateField;
        
        private string rTSPControlURLField;
        
        private uint payloadTypeNumberField;
        
        private bool payloadTypeNumberFieldSpecified;
        
        private TransportProtocolType transportProtocolField;
        
        private bool transportProtocolFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Source {
            get {
                return this.sourceField;
            }
            set {
                this.sourceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ushort Port {
            get {
                return this.portField;
            }
            set {
                this.portField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PortSpecified {
            get {
                return this.portFieldSpecified;
            }
            set {
                this.portFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string MaxBitrate {
            get {
                return this.maxBitrateField;
            }
            set {
                this.maxBitrateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string RTSPControlURL {
            get {
                return this.rTSPControlURLField;
            }
            set {
                this.rTSPControlURLField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint PayloadTypeNumber {
            get {
                return this.payloadTypeNumberField;
            }
            set {
                this.payloadTypeNumberField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PayloadTypeNumberSpecified {
            get {
                return this.payloadTypeNumberFieldSpecified;
            }
            set {
                this.payloadTypeNumberFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public TransportProtocolType TransportProtocol {
            get {
                return this.transportProtocolField;
            }
            set {
                this.transportProtocolField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TransportProtocolSpecified {
            get {
                return this.transportProtocolFieldSpecified;
            }
            set {
                this.transportProtocolFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum TransportProtocolType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("RTP-AVP")]
        RTPAVP,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("UDP-FEC")]
        UDPFEC,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class McastType {
        
        private FECLayerAddressType fECBaseLayerField;
        
        private FECLayerAddressType[] fECEnhancementLayerField;
        
        private string cNAMEField;
        
        private uint ssrcField;
        
        private bool ssrcFieldSpecified;
        
        private RETInfoType rTPRetransmissionField;
        
        private StreamingType streamingField;
        
        private bool streamingFieldSpecified;
        
        /// <remarks/>
        public FECLayerAddressType FECBaseLayer {
            get {
                return this.fECBaseLayerField;
            }
            set {
                this.fECBaseLayerField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FECEnhancementLayer")]
        public FECLayerAddressType[] FECEnhancementLayer {
            get {
                return this.fECEnhancementLayerField;
            }
            set {
                this.fECEnhancementLayerField = value;
            }
        }
        
        /// <remarks/>
        public string CNAME {
            get {
                return this.cNAMEField;
            }
            set {
                this.cNAMEField = value;
            }
        }
        
        /// <remarks/>
        public uint ssrc {
            get {
                return this.ssrcField;
            }
            set {
                this.ssrcField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ssrcSpecified {
            get {
                return this.ssrcFieldSpecified;
            }
            set {
                this.ssrcFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public RETInfoType RTPRetransmission {
            get {
                return this.rTPRetransmissionField;
            }
            set {
                this.rTPRetransmissionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public StreamingType Streaming {
            get {
                return this.streamingField;
            }
            set {
                this.streamingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool StreamingSpecified {
            get {
                return this.streamingFieldSpecified;
            }
            set {
                this.streamingFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum StreamingType {
        
        /// <remarks/>
        rtp,
        
        /// <remarks/>
        udp,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class MulticastTSDeliveryParametersType {
        
        private DVBTripletType dVBTripletField;
        
        private McastType iPMulticastAddressField;
        
        private uint minimumBitRateField;
        
        private bool minimumBitRateFieldSpecified;
        
        /// <remarks/>
        public DVBTripletType DVBTriplet {
            get {
                return this.dVBTripletField;
            }
            set {
                this.dVBTripletField = value;
            }
        }
        
        /// <remarks/>
        public McastType IPMulticastAddress {
            get {
                return this.iPMulticastAddressField;
            }
            set {
                this.iPMulticastAddressField = value;
            }
        }
        
        /// <remarks/>
        public uint MinimumBitRate {
            get {
                return this.minimumBitRateField;
            }
            set {
                this.minimumBitRateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MinimumBitRateSpecified {
            get {
                return this.minimumBitRateFieldSpecified;
            }
            set {
                this.minimumBitRateFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery-types:2023")]
    public partial class DVBTripletType {
        
        private ushort origNetIdField;
        
        private bool origNetIdFieldSpecified;
        
        private ushort tsIdField;
        
        private bool tsIdFieldSpecified;
        
        private ushort serviceIdField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ushort origNetId {
            get {
                return this.origNetIdField;
            }
            set {
                this.origNetIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool origNetIdSpecified {
            get {
                return this.origNetIdFieldSpecified;
            }
            set {
                this.origNetIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ushort tsId {
            get {
                return this.tsIdField;
            }
            set {
                this.tsIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool tsIdSpecified {
            get {
                return this.tsIdFieldSpecified;
            }
            set {
                this.tsIdFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ushort serviceId {
            get {
                return this.serviceIdField;
            }
            set {
                this.serviceIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class RTSPURLType {
        
        private string rTSPControlURLField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string RTSPControlURL {
            get {
                return this.rTSPControlURLField;
            }
            set {
                this.rTSPControlURLField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="anyURI")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class RTSPDeliveryParametersType {
        
        private DVBTripletType dVBTripletField;
        
        private RTSPURLType rTSPURLField;
        
        private uint minimumBitRateField;
        
        private bool minimumBitRateFieldSpecified;
        
        /// <remarks/>
        public DVBTripletType DVBTriplet {
            get {
                return this.dVBTripletField;
            }
            set {
                this.dVBTripletField = value;
            }
        }
        
        /// <remarks/>
        public RTSPURLType RTSPURL {
            get {
                return this.rTSPURLField;
            }
            set {
                this.rTSPURLField = value;
            }
        }
        
        /// <remarks/>
        public uint MinimumBitRate {
            get {
                return this.minimumBitRateField;
            }
            set {
                this.minimumBitRateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MinimumBitRateSpecified {
            get {
                return this.minimumBitRateFieldSpecified;
            }
            set {
                this.minimumBitRateFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class DVBCDeliveryParametersType {
        
        private DVBTripletType dVBTripletField;
        
        private string targetCountryField;
        
        private ushort networkIDField;
        
        /// <remarks/>
        public DVBTripletType DVBTriplet {
            get {
                return this.dVBTripletField;
            }
            set {
                this.dVBTripletField = value;
            }
        }
        
        /// <remarks/>
        public string TargetCountry {
            get {
                return this.targetCountryField;
            }
            set {
                this.targetCountryField = value;
            }
        }
        
        /// <remarks/>
        public ushort NetworkID {
            get {
                return this.networkIDField;
            }
            set {
                this.networkIDField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class DVBSDeliveryParametersType {
        
        private DVBTripletType dVBTripletField;
        
        private double orbitalPositionField;
        
        private bool orbitalPositionFieldSpecified;
        
        private string frequencyField;
        
        private DVBSDeliveryParametersTypePolarization polarizationField;
        
        private string symbolRateField;
        
        private DVBSDeliveryParametersTypeRollOff rollOffField;
        
        private DVBSDeliveryParametersTypeModulationSystem modulationSystemField;
        
        private DVBSDeliveryParametersTypeModulationType modulationTypeField;
        
        private DVBSDeliveryParametersTypeFEC fECField;
        
        private DVBSDeliveryParametersTypeModcodMode modcodModeField;
        
        private byte inputStreamIdentifierField;
        
        private bool inputStreamIdentifierFieldSpecified;
        
        private DVBSDeliveryParametersTypeFrequency[] channelBondingField;
        
        /// <remarks/>
        public DVBTripletType DVBTriplet {
            get {
                return this.dVBTripletField;
            }
            set {
                this.dVBTripletField = value;
            }
        }
        
        /// <remarks/>
        public double OrbitalPosition {
            get {
                return this.orbitalPositionField;
            }
            set {
                this.orbitalPositionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OrbitalPositionSpecified {
            get {
                return this.orbitalPositionFieldSpecified;
            }
            set {
                this.orbitalPositionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string Frequency {
            get {
                return this.frequencyField;
            }
            set {
                this.frequencyField = value;
            }
        }
        
        /// <remarks/>
        public DVBSDeliveryParametersTypePolarization Polarization {
            get {
                return this.polarizationField;
            }
            set {
                this.polarizationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string SymbolRate {
            get {
                return this.symbolRateField;
            }
            set {
                this.symbolRateField = value;
            }
        }
        
        /// <remarks/>
        public DVBSDeliveryParametersTypeRollOff RollOff {
            get {
                return this.rollOffField;
            }
            set {
                this.rollOffField = value;
            }
        }
        
        /// <remarks/>
        public DVBSDeliveryParametersTypeModulationSystem ModulationSystem {
            get {
                return this.modulationSystemField;
            }
            set {
                this.modulationSystemField = value;
            }
        }
        
        /// <remarks/>
        public DVBSDeliveryParametersTypeModulationType ModulationType {
            get {
                return this.modulationTypeField;
            }
            set {
                this.modulationTypeField = value;
            }
        }
        
        /// <remarks/>
        public DVBSDeliveryParametersTypeFEC FEC {
            get {
                return this.fECField;
            }
            set {
                this.fECField = value;
            }
        }
        
        /// <remarks/>
        public DVBSDeliveryParametersTypeModcodMode ModcodMode {
            get {
                return this.modcodModeField;
            }
            set {
                this.modcodModeField = value;
            }
        }
        
        /// <remarks/>
        public byte InputStreamIdentifier {
            get {
                return this.inputStreamIdentifierField;
            }
            set {
                this.inputStreamIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool InputStreamIdentifierSpecified {
            get {
                return this.inputStreamIdentifierFieldSpecified;
            }
            set {
                this.inputStreamIdentifierFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("Frequency", IsNullable=false)]
        public DVBSDeliveryParametersTypeFrequency[] ChannelBonding {
            get {
                return this.channelBondingField;
            }
            set {
                this.channelBondingField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum DVBSDeliveryParametersTypePolarization {
        
        /// <remarks/>
        horizontal,
        
        /// <remarks/>
        vertical,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("left circular")]
        leftcircular,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("right circular")]
        rightcircular,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum DVBSDeliveryParametersTypeRollOff {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("0.35")]
        Item035,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("0.25")]
        Item025,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("0.20")]
        Item020,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("0.15")]
        Item015,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("0.10")]
        Item010,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("0.05")]
        Item005,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum DVBSDeliveryParametersTypeModulationSystem {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("DVB-S")]
        DVBS,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("DVB-S2")]
        DVBS2,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("DVB-S2X")]
        DVBS2X,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum DVBSDeliveryParametersTypeModulationType {
        
        /// <remarks/>
        QPSK,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8PSK")]
        Item8PSK,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8PSK-L")]
        Item8PSKL,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("16APSK")]
        Item16APSK,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("16APSK-L")]
        Item16APSKL,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("32APSK")]
        Item32APSK,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("32APSK-L")]
        Item32APSKL,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("64APSK")]
        Item64APSK,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("64APSK-L")]
        Item64APSKL,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum DVBSDeliveryParametersTypeFEC {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("1/2")]
        Item12,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("2/3")]
        Item23,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("3/4")]
        Item34,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("5/6")]
        Item56,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("7/8")]
        Item78,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8/9")]
        Item89,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("3/5")]
        Item35,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("4/5")]
        Item45,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("9/10")]
        Item910,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("1/4")]
        Item14,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("1/3")]
        Item13,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("2/5")]
        Item25,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("13/45")]
        Item1345,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("9/20")]
        Item920,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("11/20")]
        Item1120,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("23/36")]
        Item2336,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("25/36")]
        Item2536,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("13/18")]
        Item1318,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("5/9")]
        Item59,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("26/45")]
        Item2645,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("28/45")]
        Item2845,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("7/9")]
        Item79,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("77/90")]
        Item7790,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8/15")]
        Item815,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("32/45")]
        Item3245,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("11/15")]
        Item1115,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum DVBSDeliveryParametersTypeModcodMode {
        
        /// <remarks/>
        ccm,
        
        /// <remarks/>
        vcm,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class DVBSDeliveryParametersTypeFrequency {
        
        private bool primaryField;
        
        private string valueField;
        
        public DVBSDeliveryParametersTypeFrequency() {
            this.primaryField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool primary {
            get {
                return this.primaryField;
            }
            set {
                this.primaryField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="positiveInteger")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class SATIPDeliveryParametersType {
        
        private string queryParametersField;
        
        /// <remarks/>
        public string QueryParameters {
            get {
                return this.queryParametersField;
            }
            set {
                this.queryParametersField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class DVBTDeliveryParametersType {
        
        private DVBTripletType dVBTripletField;
        
        private string targetCountryField;
        
        /// <remarks/>
        public DVBTripletType DVBTriplet {
            get {
                return this.dVBTripletField;
            }
            set {
                this.dVBTripletField = value;
            }
        }
        
        /// <remarks/>
        public string TargetCountry {
            get {
                return this.targetCountryField;
            }
            set {
                this.targetCountryField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class FTAContentManagementType {
        
        private bool userDefinedField;
        
        private bool doNotScrambleField;
        
        private byte controlRemoteAccessOverInternetField;
        
        private bool controlRemoteAccessOverInternetFieldSpecified;
        
        private bool doNotApplyRevocationField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool userDefined {
            get {
                return this.userDefinedField;
            }
            set {
                this.userDefinedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool doNotScramble {
            get {
                return this.doNotScrambleField;
            }
            set {
                this.doNotScrambleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public byte controlRemoteAccessOverInternet {
            get {
                return this.controlRemoteAccessOverInternetField;
            }
            set {
                this.controlRemoteAccessOverInternetField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool controlRemoteAccessOverInternetSpecified {
            get {
                return this.controlRemoteAccessOverInternetFieldSpecified;
            }
            set {
                this.controlRemoteAccessOverInternetFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool doNotApplyRevocation {
            get {
                return this.doNotApplyRevocationField;
            }
            set {
                this.doNotApplyRevocationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class ContentAttributesType {
        
        private AudioAttributesType[] audioAttributesField;
        
        private ControlledTermType[] audioConformancePointField;
        
        private VideoAttributesType1[] videoAttributesField;
        
        private ControlledTermType videoConformancePointField;
        
        private AccessibilityAttributesType accessibilityAttributesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AudioAttributes")]
        public AudioAttributesType[] AudioAttributes {
            get {
                return this.audioAttributesField;
            }
            set {
                this.audioAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AudioConformancePoint")]
        public ControlledTermType[] AudioConformancePoint {
            get {
                return this.audioConformancePointField;
            }
            set {
                this.audioConformancePointField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VideoAttributes")]
        public VideoAttributesType1[] VideoAttributes {
            get {
                return this.videoAttributesField;
            }
            set {
                this.videoAttributesField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermType VideoConformancePoint {
            get {
                return this.videoConformancePointField;
            }
            set {
                this.videoConformancePointField = value;
            }
        }
        
        /// <remarks/>
        public AccessibilityAttributesType AccessibilityAttributes {
            get {
                return this.accessibilityAttributesField;
            }
            set {
                this.accessibilityAttributesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class AudioAttributesType {
        
        private ControlledTermType codingField;
        
        private ushort numOfChannelsField;
        
        private bool numOfChannelsFieldSpecified;
        
        private ControlledTermType mixTypeField;
        
        private AudioLanguageType audioLanguageField;
        
        private uint sampleFrequencyField;
        
        private bool sampleFrequencyFieldSpecified;
        
        private uint bitsPerSampleField;
        
        private bool bitsPerSampleFieldSpecified;
        
        private BitRateType bitRateField;
        
        /// <remarks/>
        public ControlledTermType Coding {
            get {
                return this.codingField;
            }
            set {
                this.codingField = value;
            }
        }
        
        /// <remarks/>
        public ushort NumOfChannels {
            get {
                return this.numOfChannelsField;
            }
            set {
                this.numOfChannelsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NumOfChannelsSpecified {
            get {
                return this.numOfChannelsFieldSpecified;
            }
            set {
                this.numOfChannelsFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermType MixType {
            get {
                return this.mixTypeField;
            }
            set {
                this.mixTypeField = value;
            }
        }
        
        /// <remarks/>
        public AudioLanguageType AudioLanguage {
            get {
                return this.audioLanguageField;
            }
            set {
                this.audioLanguageField = value;
            }
        }
        
        /// <remarks/>
        public uint SampleFrequency {
            get {
                return this.sampleFrequencyField;
            }
            set {
                this.sampleFrequencyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SampleFrequencySpecified {
            get {
                return this.sampleFrequencyFieldSpecified;
            }
            set {
                this.sampleFrequencyFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public uint BitsPerSample {
            get {
                return this.bitsPerSampleField;
            }
            set {
                this.bitsPerSampleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BitsPerSampleSpecified {
            get {
                return this.bitsPerSampleFieldSpecified;
            }
            set {
                this.bitsPerSampleFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public BitRateType BitRate {
            get {
                return this.bitRateField;
            }
            set {
                this.bitRateField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GenreType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ControlledTermType {
        
        private TermNameType nameField;
        
        private TextualType definitionField;
        
        private string hrefField;
        
        /// <remarks/>
        public TermNameType Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        public TextualType Definition {
            get {
                return this.definitionField;
            }
            set {
                this.definitionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string href {
            get {
                return this.hrefField;
            }
            set {
                this.hrefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TermNameType : TextualType {
        
        private bool preferredField;
        
        private bool preferredFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool preferred {
            get {
                return this.preferredField;
            }
            set {
                this.preferredField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool preferredSpecified {
            get {
                return this.preferredFieldSpecified;
            }
            set {
                this.preferredFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class GenreType : ControlledTermType {
        
        private GenreTypeType typeField;
        
        private string metadataOriginIDRefField;
        
        public GenreType() {
            this.typeField = GenreTypeType.main;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(GenreTypeType.main)]
        public GenreTypeType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public enum GenreTypeType {
        
        /// <remarks/>
        main,
        
        /// <remarks/>
        secondary,
        
        /// <remarks/>
        other,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class AudioLanguageType : ExtendedLanguageType {
        
        private string purposeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string purpose {
            get {
                return this.purposeField;
            }
            set {
                this.purposeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AudioLanguageType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class ExtendedLanguageType {
        
        private ExtendedLanguageTypeType typeField;
        
        private bool supplementalField;
        
        private string valueField;
        
        public ExtendedLanguageType() {
            this.typeField = ExtendedLanguageTypeType.original;
            this.supplementalField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(ExtendedLanguageTypeType.original)]
        public ExtendedLanguageTypeType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool supplemental {
            get {
                return this.supplementalField;
            }
            set {
                this.supplementalField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="language")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public enum ExtendedLanguageTypeType {
        
        /// <remarks/>
        original,
        
        /// <remarks/>
        dubbed,
        
        /// <remarks/>
        background,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class BitRateType {
        
        private bool variableField;
        
        private ulong minimumField;
        
        private bool minimumFieldSpecified;
        
        private ulong averageField;
        
        private bool averageFieldSpecified;
        
        private ulong maximumField;
        
        private bool maximumFieldSpecified;
        
        private string valueField;
        
        public BitRateType() {
            this.variableField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool variable {
            get {
                return this.variableField;
            }
            set {
                this.variableField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong minimum {
            get {
                return this.minimumField;
            }
            set {
                this.minimumField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool minimumSpecified {
            get {
                return this.minimumFieldSpecified;
            }
            set {
                this.minimumFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong average {
            get {
                return this.averageField;
            }
            set {
                this.averageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool averageSpecified {
            get {
                return this.averageFieldSpecified;
            }
            set {
                this.averageFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong maximum {
            get {
                return this.maximumField;
            }
            set {
                this.maximumField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool maximumSpecified {
            get {
                return this.maximumFieldSpecified;
            }
            set {
                this.maximumFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="nonNegativeInteger")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="VideoAttributesType", Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class VideoAttributesType1 : VideoAttributesType {
        
        private ControlledTermType colorimetryField;
        
        /// <remarks/>
        public ControlledTermType Colorimetry {
            get {
                return this.colorimetryField;
            }
            set {
                this.colorimetryField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(VideoAttributesType1))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class VideoAttributesType {
        
        private ControlledTermType codingField;
        
        private ScanType scanField;
        
        private bool scanFieldSpecified;
        
        private ushort horizontalSizeField;
        
        private bool horizontalSizeFieldSpecified;
        
        private ushort verticalSizeField;
        
        private bool verticalSizeFieldSpecified;
        
        private AspectRatioType[] aspectRatioField;
        
        private ColorType colorField;
        
        private string frameRateField;
        
        private BitRateType bitRateField;
        
        private ControlledTermType pictureFormatField;
        
        /// <remarks/>
        public ControlledTermType Coding {
            get {
                return this.codingField;
            }
            set {
                this.codingField = value;
            }
        }
        
        /// <remarks/>
        public ScanType Scan {
            get {
                return this.scanField;
            }
            set {
                this.scanField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ScanSpecified {
            get {
                return this.scanFieldSpecified;
            }
            set {
                this.scanFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public ushort HorizontalSize {
            get {
                return this.horizontalSizeField;
            }
            set {
                this.horizontalSizeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HorizontalSizeSpecified {
            get {
                return this.horizontalSizeFieldSpecified;
            }
            set {
                this.horizontalSizeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public ushort VerticalSize {
            get {
                return this.verticalSizeField;
            }
            set {
                this.verticalSizeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool VerticalSizeSpecified {
            get {
                return this.verticalSizeFieldSpecified;
            }
            set {
                this.verticalSizeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AspectRatio")]
        public AspectRatioType[] AspectRatio {
            get {
                return this.aspectRatioField;
            }
            set {
                this.aspectRatioField = value;
            }
        }
        
        /// <remarks/>
        public ColorType Color {
            get {
                return this.colorField;
            }
            set {
                this.colorField = value;
            }
        }
        
        /// <remarks/>
        public string FrameRate {
            get {
                return this.frameRateField;
            }
            set {
                this.frameRateField = value;
            }
        }
        
        /// <remarks/>
        public BitRateType BitRate {
            get {
                return this.bitRateField;
            }
            set {
                this.bitRateField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermType PictureFormat {
            get {
                return this.pictureFormatField;
            }
            set {
                this.pictureFormatField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public enum ScanType {
        
        /// <remarks/>
        interlaced,
        
        /// <remarks/>
        progressive,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class AspectRatioType {
        
        private AspectRatioTypeType typeField;
        
        private string valueField;
        
        public AspectRatioType() {
            this.typeField = AspectRatioTypeType.original;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(AspectRatioTypeType.original)]
        public AspectRatioTypeType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public enum AspectRatioTypeType {
        
        /// <remarks/>
        original,
        
        /// <remarks/>
        publication,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ColorType {
        
        private ColorTypeType typeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ColorTypeType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public enum ColorTypeType {
        
        /// <remarks/>
        color,
        
        /// <remarks/>
        blackAndWhite,
        
        /// <remarks/>
        blackAndWhiteAndColor,
        
        /// <remarks/>
        colorized,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class AccessibilityAttributesType {
        
        private SubtitleAttributesType[] subtitleAttributesField;
        
        private AudioDescriptionAttributesType[] audioDescriptionAttributesField;
        
        private SigningAttributesType[] signingAttributesField;
        
        private DialogueEnhancementAttributesType[] dialogueEnhancementAttributesField;
        
        private SpokenSubtitlesAttributesType[] spokenSubtitlesAttributesField;
        
        private MagnificationUIAttributesType[] magnificationUIAttributesField;
        
        private HighContrastUIAttributesType[] highContrastUIAttributesField;
        
        private ScreenReaderAttributesType[] screenReaderAttributesField;
        
        private ResponseToUserActionAttributesType[] responseToUserActionAttributesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SubtitleAttributes")]
        public SubtitleAttributesType[] SubtitleAttributes {
            get {
                return this.subtitleAttributesField;
            }
            set {
                this.subtitleAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AudioDescriptionAttributes")]
        public AudioDescriptionAttributesType[] AudioDescriptionAttributes {
            get {
                return this.audioDescriptionAttributesField;
            }
            set {
                this.audioDescriptionAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SigningAttributes")]
        public SigningAttributesType[] SigningAttributes {
            get {
                return this.signingAttributesField;
            }
            set {
                this.signingAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DialogueEnhancementAttributes")]
        public DialogueEnhancementAttributesType[] DialogueEnhancementAttributes {
            get {
                return this.dialogueEnhancementAttributesField;
            }
            set {
                this.dialogueEnhancementAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SpokenSubtitlesAttributes")]
        public SpokenSubtitlesAttributesType[] SpokenSubtitlesAttributes {
            get {
                return this.spokenSubtitlesAttributesField;
            }
            set {
                this.spokenSubtitlesAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MagnificationUIAttributes")]
        public MagnificationUIAttributesType[] MagnificationUIAttributes {
            get {
                return this.magnificationUIAttributesField;
            }
            set {
                this.magnificationUIAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("HighContrastUIAttributes")]
        public HighContrastUIAttributesType[] HighContrastUIAttributes {
            get {
                return this.highContrastUIAttributesField;
            }
            set {
                this.highContrastUIAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ScreenReaderAttributes")]
        public ScreenReaderAttributesType[] ScreenReaderAttributes {
            get {
                return this.screenReaderAttributesField;
            }
            set {
                this.screenReaderAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ResponseToUserActionAttributes")]
        public ResponseToUserActionAttributesType[] ResponseToUserActionAttributes {
            get {
                return this.responseToUserActionAttributesField;
            }
            set {
                this.responseToUserActionAttributesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class SubtitleAttributesType : BaseAccessibilityAttributesType {
        
        private ControlledTermType carriageField;
        
        private ControlledTermType[] codingField;
        
        private string subtitleLanguageField;
        
        private ControlledTermType purposeField;
        
        private bool suitableForTTSField;
        
        /// <remarks/>
        public ControlledTermType Carriage {
            get {
                return this.carriageField;
            }
            set {
                this.carriageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Coding")]
        public ControlledTermType[] Coding {
            get {
                return this.codingField;
            }
            set {
                this.codingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="language")]
        public string SubtitleLanguage {
            get {
                return this.subtitleLanguageField;
            }
            set {
                this.subtitleLanguageField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermType Purpose {
            get {
                return this.purposeField;
            }
            set {
                this.purposeField = value;
            }
        }
        
        /// <remarks/>
        public bool SuitableForTTS {
            get {
                return this.suitableForTTSField;
            }
            set {
                this.suitableForTTSField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ResponseToUserActionAttributesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ScreenReaderAttributesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(HighContrastUIAttributesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MagnificationUIAttributesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SpokenSubtitlesAttributesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DialogueEnhancementAttributesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SigningAttributesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AudioDescriptionAttributesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SubtitleAttributesType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public abstract partial class BaseAccessibilityAttributesType {
        
        private AppInformationType appInformationField;
        
        private bool personalisationField;
        
        public BaseAccessibilityAttributesType() {
            this.personalisationField = false;
        }
        
        /// <remarks/>
        public AppInformationType AppInformation {
            get {
                return this.appInformationField;
            }
            set {
                this.appInformationField = value;
            }
        }
        
        /// <remarks/>
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool Personalisation {
            get {
                return this.personalisationField;
            }
            set {
                this.personalisationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class AppInformationType {
        
        private string requiredStandardVersionField;
        
        private string[] requiredOptionalFeatureField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string RequiredStandardVersion {
            get {
                return this.requiredStandardVersionField;
            }
            set {
                this.requiredStandardVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RequiredOptionalFeature", DataType="anyURI")]
        public string[] RequiredOptionalFeature {
            get {
                return this.requiredOptionalFeatureField;
            }
            set {
                this.requiredOptionalFeatureField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ResponseToUserActionAttributesType : BaseAccessibilityAttributesType {
        
        private ControlledTermType[] purposeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Purpose")]
        public ControlledTermType[] Purpose {
            get {
                return this.purposeField;
            }
            set {
                this.purposeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ScreenReaderAttributesType : BaseAccessibilityAttributesType {
        
        private ControlledTermType[] purposeField;
        
        private string[] screenReaderLanguageField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Purpose")]
        public ControlledTermType[] Purpose {
            get {
                return this.purposeField;
            }
            set {
                this.purposeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ScreenReaderLanguage", DataType="language")]
        public string[] ScreenReaderLanguage {
            get {
                return this.screenReaderLanguageField;
            }
            set {
                this.screenReaderLanguageField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class HighContrastUIAttributesType : BaseAccessibilityAttributesType {
        
        private ControlledTermType[] purposeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Purpose")]
        public ControlledTermType[] Purpose {
            get {
                return this.purposeField;
            }
            set {
                this.purposeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class MagnificationUIAttributesType : BaseAccessibilityAttributesType {
        
        private ControlledTermType[] purposeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Purpose")]
        public ControlledTermType[] Purpose {
            get {
                return this.purposeField;
            }
            set {
                this.purposeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class SpokenSubtitlesAttributesType : BaseAccessibilityAttributesType {
        
        private AudioAttributesType audioAttributesField;
        
        /// <remarks/>
        public AudioAttributesType AudioAttributes {
            get {
                return this.audioAttributesField;
            }
            set {
                this.audioAttributesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class DialogueEnhancementAttributesType : BaseAccessibilityAttributesType {
        
        private AudioAttributesType audioAttributesField;
        
        /// <remarks/>
        public AudioAttributesType AudioAttributes {
            get {
                return this.audioAttributesField;
            }
            set {
                this.audioAttributesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class SigningAttributesType : BaseAccessibilityAttributesType {
        
        private ControlledTermType[] codingField;
        
        private string signLanguageField;
        
        private bool closedField;
        
        public SigningAttributesType() {
            this.closedField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Coding")]
        public ControlledTermType[] Coding {
            get {
                return this.codingField;
            }
            set {
                this.codingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="language")]
        public string SignLanguage {
            get {
                return this.signLanguageField;
            }
            set {
                this.signLanguageField = value;
            }
        }
        
        /// <remarks/>
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool Closed {
            get {
                return this.closedField;
            }
            set {
                this.closedField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class AudioDescriptionAttributesType : BaseAccessibilityAttributesType {
        
        private AudioAttributesType audioAttributesField;
        
        private bool receiverMixField;
        
        public AudioDescriptionAttributesType() {
            this.receiverMixField = false;
        }
        
        /// <remarks/>
        public AudioAttributesType AudioAttributes {
            get {
                return this.audioAttributesField;
            }
            set {
                this.audioAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ReceiverMix {
            get {
                return this.receiverMixField;
            }
            set {
                this.receiverMixField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DRMSystemType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CASystemType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public abstract partial class ProtectionSystemType {
        
        private string cpsIndexField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string cpsIndex {
            get {
                return this.cpsIndexField;
            }
            set {
                this.cpsIndexField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class DRMSystemType : ProtectionSystemType {
        
        private EncryptionSchemeType encryptionSchemeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public EncryptionSchemeType encryptionScheme {
            get {
                return this.encryptionSchemeField;
            }
            set {
                this.encryptionSchemeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum EncryptionSchemeType {
        
        /// <remarks/>
        cenc,
        
        /// <remarks/>
        cbcs,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cbcs-10")]
        cbcs10,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class CASystemType : ProtectionSystemType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class ContentProtectionType {
        
        private CASystemType[] cASystemIdField;
        
        private DRMSystemType[] dRMSystemIdField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CASystemId")]
        public CASystemType[] CASystemId {
            get {
                return this.cASystemIdField;
            }
            set {
                this.cASystemIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DRMSystemId")]
        public DRMSystemType[] DRMSystemId {
            get {
                return this.dRMSystemIdField;
            }
            set {
                this.dRMSystemIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class ServiceInstanceType {
        
        private TextualType[] displayNameField;
        
        private RelatedMaterialType[] relatedMaterialField;
        
        private ContentProtectionType[] contentProtectionField;
        
        private ContentAttributesType contentAttributesField;
        
        private ServiceAvailabilityTypePeriod[] availabilityField;
        
        private SubscriptionPackageType[] subscriptionPackageField;
        
        private FTAContentManagementType fTAContentManagementField;
        
        private string sourceTypeField;
        
        private string[] altServiceNameField;
        
        private object[] itemsField;
        
        private string priorityField;
        
        private string idField;
        
        private string langField;
        
        public ServiceInstanceType() {
            this.priorityField = "0";
            this.idField = "0";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DisplayName")]
        public TextualType[] DisplayName {
            get {
                return this.displayNameField;
            }
            set {
                this.displayNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedMaterial")]
        public RelatedMaterialType[] RelatedMaterial {
            get {
                return this.relatedMaterialField;
            }
            set {
                this.relatedMaterialField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ContentProtection")]
        public ContentProtectionType[] ContentProtection {
            get {
                return this.contentProtectionField;
            }
            set {
                this.contentProtectionField = value;
            }
        }
        
        /// <remarks/>
        public ContentAttributesType ContentAttributes {
            get {
                return this.contentAttributesField;
            }
            set {
                this.contentAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("Period", IsNullable=false)]
        public ServiceAvailabilityTypePeriod[] Availability {
            get {
                return this.availabilityField;
            }
            set {
                this.availabilityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SubscriptionPackage")]
        public SubscriptionPackageType[] SubscriptionPackage {
            get {
                return this.subscriptionPackageField;
            }
            set {
                this.subscriptionPackageField = value;
            }
        }
        
        /// <remarks/>
        public FTAContentManagementType FTAContentManagement {
            get {
                return this.fTAContentManagementField;
            }
            set {
                this.fTAContentManagementField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string SourceType {
            get {
                return this.sourceTypeField;
            }
            set {
                this.sourceTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AltServiceName")]
        public string[] AltServiceName {
            get {
                return this.altServiceNameField;
            }
            set {
                this.altServiceNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DASHDeliveryParameters", typeof(DASHDeliveryParametersType))]
        [System.Xml.Serialization.XmlElementAttribute("DVBCDeliveryParameters", typeof(DVBCDeliveryParametersType))]
        [System.Xml.Serialization.XmlElementAttribute("DVBSDeliveryParameters", typeof(DVBSDeliveryParametersType))]
        [System.Xml.Serialization.XmlElementAttribute("DVBTDeliveryParameters", typeof(DVBTDeliveryParametersType))]
        [System.Xml.Serialization.XmlElementAttribute("IdentifierBasedDeliveryParameters", typeof(IdentifierBasedDeliveryParametersType))]
        [System.Xml.Serialization.XmlElementAttribute("MulticastTSDeliveryParameters", typeof(MulticastTSDeliveryParametersType))]
        [System.Xml.Serialization.XmlElementAttribute("OtherDeliveryParameters", typeof(ExtensionBaseType))]
        [System.Xml.Serialization.XmlElementAttribute("RTSPDeliveryParameters", typeof(RTSPDeliveryParametersType))]
        [System.Xml.Serialization.XmlElementAttribute("SATIPDeliveryParameters", typeof(SATIPDeliveryParametersType))]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string priority {
            get {
                return this.priorityField;
            }
            set {
                this.priorityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class RelatedMaterialType {
        
        private ControlledTermType howRelatedField;
        
        private RelatedMaterialTypeFormat formatField;
        
        private object[] itemsField;
        
        private TextualType[] promotionalTextField;
        
        private TitleMediaType[] promotionalMediaField;
        
        private RelatedMaterialTypeSocialMediaReference[] socialMediaReferenceField;
        
        private MediaLocatorType sourceMediaLocatorField;
        
        private AccessibilityAttributesType accessibilityAttributesField;
        
        private string langField;
        
        /// <remarks/>
        public ControlledTermType HowRelated {
            get {
                return this.howRelatedField;
            }
            set {
                this.howRelatedField = value;
            }
        }
        
        /// <remarks/>
        public RelatedMaterialTypeFormat Format {
            get {
                return this.formatField;
            }
            set {
                this.formatField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaLocator", typeof(TVAMediaLocatorType))]
        [System.Xml.Serialization.XmlElementAttribute("SegmentReference", typeof(SegmentReferenceType))]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PromotionalText")]
        public TextualType[] PromotionalText {
            get {
                return this.promotionalTextField;
            }
            set {
                this.promotionalTextField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PromotionalMedia")]
        public TitleMediaType[] PromotionalMedia {
            get {
                return this.promotionalMediaField;
            }
            set {
                this.promotionalMediaField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SocialMediaReference")]
        public RelatedMaterialTypeSocialMediaReference[] SocialMediaReference {
            get {
                return this.socialMediaReferenceField;
            }
            set {
                this.socialMediaReferenceField = value;
            }
        }
        
        /// <remarks/>
        public MediaLocatorType SourceMediaLocator {
            get {
                return this.sourceMediaLocatorField;
            }
            set {
                this.sourceMediaLocatorField = value;
            }
        }
        
        /// <remarks/>
        public AccessibilityAttributesType AccessibilityAttributes {
            get {
                return this.accessibilityAttributesField;
            }
            set {
                this.accessibilityAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class RelatedMaterialTypeFormat {
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AVAttributes", typeof(AVAttributesType))]
        [System.Xml.Serialization.XmlElementAttribute("StillPictureFormat", typeof(RelatedMaterialTypeFormatStillPictureFormat))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class AVAttributesType {
        
        private ControlledTermType fileFormatField;
        
        private ulong fileSizeField;
        
        private bool fileSizeFieldSpecified;
        
        private ControlledTermType systemField;
        
        private BitRateType[] bitRateField;
        
        private AudioAttributesType[] audioAttributesField;
        
        private VideoAttributesType videoAttributesField;
        
        private CaptioningAttributesType[] captioningAttributesField;
        
        private AccessibilityAttributesType accessibilityAttributesField;
        
        /// <remarks/>
        public ControlledTermType FileFormat {
            get {
                return this.fileFormatField;
            }
            set {
                this.fileFormatField = value;
            }
        }
        
        /// <remarks/>
        public ulong FileSize {
            get {
                return this.fileSizeField;
            }
            set {
                this.fileSizeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FileSizeSpecified {
            get {
                return this.fileSizeFieldSpecified;
            }
            set {
                this.fileSizeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermType System {
            get {
                return this.systemField;
            }
            set {
                this.systemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BitRate")]
        public BitRateType[] BitRate {
            get {
                return this.bitRateField;
            }
            set {
                this.bitRateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AudioAttributes")]
        public AudioAttributesType[] AudioAttributes {
            get {
                return this.audioAttributesField;
            }
            set {
                this.audioAttributesField = value;
            }
        }
        
        /// <remarks/>
        public VideoAttributesType VideoAttributes {
            get {
                return this.videoAttributesField;
            }
            set {
                this.videoAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CaptioningAttributes")]
        public CaptioningAttributesType[] CaptioningAttributes {
            get {
                return this.captioningAttributesField;
            }
            set {
                this.captioningAttributesField = value;
            }
        }
        
        /// <remarks/>
        public AccessibilityAttributesType AccessibilityAttributes {
            get {
                return this.accessibilityAttributesField;
            }
            set {
                this.accessibilityAttributesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class CaptioningAttributesType {
        
        private ControlledTermType codingField;
        
        private BitRateType bitRateField;
        
        /// <remarks/>
        public ControlledTermType Coding {
            get {
                return this.codingField;
            }
            set {
                this.codingField = value;
            }
        }
        
        /// <remarks/>
        public BitRateType BitRate {
            get {
                return this.bitRateField;
            }
            set {
                this.bitRateField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class RelatedMaterialTypeFormatStillPictureFormat : ControlledTermType {
        
        private ushort horizontalSizeField;
        
        private bool horizontalSizeFieldSpecified;
        
        private ushort verticalSizeField;
        
        private bool verticalSizeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ushort horizontalSize {
            get {
                return this.horizontalSizeField;
            }
            set {
                this.horizontalSizeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool horizontalSizeSpecified {
            get {
                return this.horizontalSizeFieldSpecified;
            }
            set {
                this.horizontalSizeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ushort verticalSize {
            get {
                return this.verticalSizeField;
            }
            set {
                this.verticalSizeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool verticalSizeSpecified {
            get {
                return this.verticalSizeFieldSpecified;
            }
            set {
                this.verticalSizeFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TVAMediaLocatorType {
        
        private object[] itemsField;
        
        private ItemsChoiceType[] itemsElementNameField;
        
        private string streamIDField;
        
        private string contentLanguageField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AuxiliaryURI", typeof(ExtendedURIType))]
        [System.Xml.Serialization.XmlElementAttribute("InlineMedia", typeof(InlineMediaType))]
        [System.Xml.Serialization.XmlElementAttribute("MediaUri", typeof(ExtendedURIType))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType[] ItemsElementName {
            get {
                return this.itemsElementNameField;
            }
            set {
                this.itemsElementNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string StreamID {
            get {
                return this.streamIDField;
            }
            set {
                this.streamIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="language")]
        public string contentLanguage {
            get {
                return this.contentLanguageField;
            }
            set {
                this.contentLanguageField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ExtendedURIType {
        
        private string contentTypeField;
        
        private string uriTypeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string contentType {
            get {
                return this.contentTypeField;
            }
            set {
                this.contentTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string uriType {
            get {
                return this.uriTypeField;
            }
            set {
                this.uriTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="anyURI")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class InlineMediaType {
        
        private byte[] itemField;
        
        private ItemChoiceType itemElementNameField;
        
        private string typeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaData16", typeof(byte[]), DataType="hexBinary")]
        [System.Xml.Serialization.XmlElementAttribute("MediaData64", typeof(byte[]), DataType="base64Binary")]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public byte[] Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008", IncludeInSchema=false)]
    public enum ItemChoiceType {
        
        /// <remarks/>
        MediaData16,
        
        /// <remarks/>
        MediaData64,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024", IncludeInSchema=false)]
    public enum ItemsChoiceType {
        
        /// <remarks/>
        AuxiliaryURI,
        
        /// <remarks/>
        InlineMedia,
        
        /// <remarks/>
        MediaUri,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class SegmentReferenceType {
        
        private segmentTypeType segmentTypeField;
        
        private string refField;
        
        public SegmentReferenceType() {
            this.segmentTypeField = segmentTypeType.segment;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(segmentTypeType.segment)]
        public segmentTypeType segmentType {
            get {
                return this.segmentTypeField;
            }
            set {
                this.segmentTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string @ref {
            get {
                return this.refField;
            }
            set {
                this.refField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public enum segmentTypeType {
        
        /// <remarks/>
        segment,
        
        /// <remarks/>
        segmentgroup,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class TitleMediaType {
        
        private ImageLocatorType titleImageField;
        
        private TemporalSegmentLocatorType titleVideoField;
        
        private TemporalSegmentLocatorType titleAudioField;
        
        /// <remarks/>
        public ImageLocatorType TitleImage {
            get {
                return this.titleImageField;
            }
            set {
                this.titleImageField = value;
            }
        }
        
        /// <remarks/>
        public TemporalSegmentLocatorType TitleVideo {
            get {
                return this.titleVideoField;
            }
            set {
                this.titleVideoField = value;
            }
        }
        
        /// <remarks/>
        public TemporalSegmentLocatorType TitleAudio {
            get {
                return this.titleAudioField;
            }
            set {
                this.titleAudioField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class ImageLocatorType : MediaLocatorType {
        
        private object item1Field;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BytePosition", typeof(ImageLocatorTypeBytePosition))]
        [System.Xml.Serialization.XmlElementAttribute("MediaTimePoint", typeof(string))]
        public object Item1 {
            get {
                return this.item1Field;
            }
            set {
                this.item1Field = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class ImageLocatorTypeBytePosition {
        
        private string offsetField;
        
        private string lengthField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string offset {
            get {
                return this.offsetField;
            }
            set {
                this.offsetField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string length {
            get {
                return this.lengthField;
            }
            set {
                this.lengthField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TemporalSegmentLocatorType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ImageLocatorType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaLocatorType {
        
        private object itemField;
        
        private string streamIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("InlineMedia", typeof(InlineMediaType))]
        [System.Xml.Serialization.XmlElementAttribute("MediaUri", typeof(string), DataType="anyURI")]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string StreamID {
            get {
                return this.streamIDField;
            }
            set {
                this.streamIDField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class TemporalSegmentLocatorType : MediaLocatorType {
        
        private object item1Field;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BytePosition", typeof(TemporalSegmentLocatorTypeBytePosition))]
        [System.Xml.Serialization.XmlElementAttribute("MediaTime", typeof(MediaTimeType))]
        public object Item1 {
            get {
                return this.item1Field;
            }
            set {
                this.item1Field = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class TemporalSegmentLocatorTypeBytePosition {
        
        private string offsetField;
        
        private string lengthField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string offset {
            get {
                return this.offsetField;
            }
            set {
                this.offsetField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string length {
            get {
                return this.lengthField;
            }
            set {
                this.lengthField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaTimeType {
        
        private string itemField;
        
        private object item1Field;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaTimePoint")]
        public string Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaDuration", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("MediaIncrDuration", typeof(MediaIncrDurationType))]
        public object Item1 {
            get {
                return this.item1Field;
            }
            set {
                this.item1Field = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaIncrDurationType {
        
        private string mediaTimeUnitField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string mediaTimeUnit {
            get {
                return this.mediaTimeUnitField;
            }
            set {
                this.mediaTimeUnitField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="integer")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class RelatedMaterialTypeSocialMediaReference {
        
        private string referenceTypeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string referenceType {
            get {
                return this.referenceTypeField;
            }
            set {
                this.referenceTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="anyURI")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class ServiceAvailabilityTypePeriod {
        
        private ServiceAvailabilityTypePeriodInterval[] intervalField;
        
        private System.DateTime validFromField;
        
        private bool validFromFieldSpecified;
        
        private System.DateTime validToField;
        
        private bool validToFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Interval")]
        public ServiceAvailabilityTypePeriodInterval[] Interval {
            get {
                return this.intervalField;
            }
            set {
                this.intervalField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime validFrom {
            get {
                return this.validFromField;
            }
            set {
                this.validFromField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool validFromSpecified {
            get {
                return this.validFromFieldSpecified;
            }
            set {
                this.validFromFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime validTo {
            get {
                return this.validToField;
            }
            set {
                this.validToField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool validToSpecified {
            get {
                return this.validToFieldSpecified;
            }
            set {
                this.validToFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class ServiceAvailabilityTypePeriodInterval {
        
        private string daysField;
        
        private string recurrenceField;
        
        private System.DateTime startTimeField;
        
        private System.DateTime endTimeField;
        
        public ServiceAvailabilityTypePeriodInterval() {
            this.daysField = "1 2 3 4 5 6 7";
            this.recurrenceField = "1";
            this.startTimeField = new System.DateTime(72000000000);
            this.endTimeField = new System.DateTime(935999990000);
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("1 2 3 4 5 6 7")]
        public string days {
            get {
                return this.daysField;
            }
            set {
                this.daysField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        [System.ComponentModel.DefaultValueAttribute("1")]
        public string recurrence {
            get {
                return this.recurrenceField;
            }
            set {
                this.recurrenceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="time")]
        [System.ComponentModel.DefaultValueAttribute(typeof(System.DateTime), "0001-01-01T02:00:00+01:00")]
        public System.DateTime startTime {
            get {
                return this.startTimeField;
            }
            set {
                this.startTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="time")]
        [System.ComponentModel.DefaultValueAttribute(typeof(System.DateTime), "0001-01-02T01:59:59.999+01:00")]
        public System.DateTime endTime {
            get {
                return this.endTimeField;
            }
            set {
                this.endTimeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class ServiceType {
        
        private string uniqueIdentifierField;
        
        private ServiceInstanceType[] serviceInstanceField;
        
        private string[] targetRegionField;
        
        private TextualType[] serviceNameField;
        
        private TextualType[] providerNameField;
        
        private RelatedMaterialType[] relatedMaterialField;
        
        private GenreType[] serviceGenreField;
        
        private ControlledTermType serviceType1Field;
        
        private SynopsisType[] serviceDescriptionField;
        
        private ControlledTermType recordingInfoField;
        
        private object itemField;
        
        private string contentGuideServiceRefField;
        
        private ExtensionBaseType[] additionalServiceParametersField;
        
        private NVODType nVODField;
        
        private ServiceProminenceEntryType[] prominenceListField;
        
        private ParentalRatingTypeMinimumAge[] parentalRatingField;
        
        private bool dynamicField;
        
        private string versionField;
        
        private bool replayAvailableField;
        
        private string langField;
        
        public ServiceType() {
            this.dynamicField = false;
            this.replayAvailableField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string UniqueIdentifier {
            get {
                return this.uniqueIdentifierField;
            }
            set {
                this.uniqueIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceInstance")]
        public ServiceInstanceType[] ServiceInstance {
            get {
                return this.serviceInstanceField;
            }
            set {
                this.serviceInstanceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TargetRegion", DataType="IDREF")]
        public string[] TargetRegion {
            get {
                return this.targetRegionField;
            }
            set {
                this.targetRegionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceName")]
        public TextualType[] ServiceName {
            get {
                return this.serviceNameField;
            }
            set {
                this.serviceNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderName")]
        public TextualType[] ProviderName {
            get {
                return this.providerNameField;
            }
            set {
                this.providerNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedMaterial")]
        public RelatedMaterialType[] RelatedMaterial {
            get {
                return this.relatedMaterialField;
            }
            set {
                this.relatedMaterialField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceGenre")]
        public GenreType[] ServiceGenre {
            get {
                return this.serviceGenreField;
            }
            set {
                this.serviceGenreField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceType")]
        public ControlledTermType ServiceType1 {
            get {
                return this.serviceType1Field;
            }
            set {
                this.serviceType1Field = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceDescription")]
        public SynopsisType[] ServiceDescription {
            get {
                return this.serviceDescriptionField;
            }
            set {
                this.serviceDescriptionField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermType RecordingInfo {
            get {
                return this.recordingInfoField;
            }
            set {
                this.recordingInfoField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ContentGuideSource", typeof(ContentGuideSourceType))]
        [System.Xml.Serialization.XmlElementAttribute("ContentGuideSourceRef", typeof(string), DataType="IDREF")]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        public string ContentGuideServiceRef {
            get {
                return this.contentGuideServiceRefField;
            }
            set {
                this.contentGuideServiceRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AdditionalServiceParameters")]
        public ExtensionBaseType[] AdditionalServiceParameters {
            get {
                return this.additionalServiceParametersField;
            }
            set {
                this.additionalServiceParametersField = value;
            }
        }
        
        /// <remarks/>
        public NVODType NVOD {
            get {
                return this.nVODField;
            }
            set {
                this.nVODField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("Prominence", IsNullable=false)]
        public ServiceProminenceEntryType[] ProminenceList {
            get {
                return this.prominenceListField;
            }
            set {
                this.prominenceListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("MinimumAge", IsNullable=false)]
        public ParentalRatingTypeMinimumAge[] ParentalRating {
            get {
                return this.parentalRatingField;
            }
            set {
                this.parentalRatingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool dynamic {
            get {
                return this.dynamicField;
            }
            set {
                this.dynamicField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool replayAvailable {
            get {
                return this.replayAvailableField;
            }
            set {
                this.replayAvailableField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class SynopsisType : TextualType {
        
        private SynopsisLengthType lengthField;
        
        private bool lengthFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public SynopsisLengthType length {
            get {
                return this.lengthField;
            }
            set {
                this.lengthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool lengthSpecified {
            get {
                return this.lengthFieldSpecified;
            }
            set {
                this.lengthFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public enum SynopsisLengthType {
        
        /// <remarks/>
        brief,
        
        /// <remarks/>
        @short,
        
        /// <remarks/>
        medium,
        
        /// <remarks/>
        @long,
        
        /// <remarks/>
        extended,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class ContentGuideSourceType {
        
        private TextualType[] nameField;
        
        private TextualType[] providerNameField;
        
        private RelatedMaterialType[] relatedMaterialField;
        
        private ExtendedURIType1 scheduleInfoEndpointField;
        
        private ExtendedURIType1 programInfoEndpointField;
        
        private ExtendedURIPathType groupInfoEndpointField;
        
        private ExtendedURIType1 moreEpisodesEndpointField;
        
        private string cGSIDField;
        
        private string minimumMetadataUpdatePeriodField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Name")]
        public TextualType[] Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProviderName")]
        public TextualType[] ProviderName {
            get {
                return this.providerNameField;
            }
            set {
                this.providerNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedMaterial")]
        public RelatedMaterialType[] RelatedMaterial {
            get {
                return this.relatedMaterialField;
            }
            set {
                this.relatedMaterialField = value;
            }
        }
        
        /// <remarks/>
        public ExtendedURIType1 ScheduleInfoEndpoint {
            get {
                return this.scheduleInfoEndpointField;
            }
            set {
                this.scheduleInfoEndpointField = value;
            }
        }
        
        /// <remarks/>
        public ExtendedURIType1 ProgramInfoEndpoint {
            get {
                return this.programInfoEndpointField;
            }
            set {
                this.programInfoEndpointField = value;
            }
        }
        
        /// <remarks/>
        public ExtendedURIPathType GroupInfoEndpoint {
            get {
                return this.groupInfoEndpointField;
            }
            set {
                this.groupInfoEndpointField = value;
            }
        }
        
        /// <remarks/>
        public ExtendedURIType1 MoreEpisodesEndpoint {
            get {
                return this.moreEpisodesEndpointField;
            }
            set {
                this.moreEpisodesEndpointField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string CGSID {
            get {
                return this.cGSIDField;
            }
            set {
                this.cGSIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        public string minimumMetadataUpdatePeriod {
            get {
                return this.minimumMetadataUpdatePeriodField;
            }
            set {
                this.minimumMetadataUpdatePeriodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery-types:2023")]
    public partial class ExtendedURIPathType {
        
        private string uRIField;
        
        private string contentTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string URI {
            get {
                return this.uRIField;
            }
            set {
                this.uRIField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string contentType {
            get {
                return this.contentTypeField;
            }
            set {
                this.contentTypeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class ParentalRatingTypeMinimumAge {
        
        private string countryCodesField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string countryCodes {
            get {
                return this.countryCodesField;
            }
            set {
                this.countryCodesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="nonNegativeInteger")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class ContentGuideSourceListType {
        
        private ContentGuideSourceType[] contentGuideSourceField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ContentGuideSource")]
        public ContentGuideSourceType[] ContentGuideSource {
            get {
                return this.contentGuideSourceField;
            }
            set {
                this.contentGuideSourceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class LCNRangeType {
        
        private string startField;
        
        private string endField;
        
        private string priorityField;
        
        private LCNRangeTypeFillMethod fillMethodField;
        
        private LCNRangeTypeServiceOrigin serviceOriginField;
        
        private string serviceTypeField;
        
        private string serviceGenreField;
        
        public LCNRangeType() {
            this.priorityField = "0";
            this.fillMethodField = LCNRangeTypeFillMethod.startFromHighest;
            this.serviceOriginField = LCNRangeTypeServiceOrigin.dvbi;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string start {
            get {
                return this.startField;
            }
            set {
                this.startField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string end {
            get {
                return this.endField;
            }
            set {
                this.endField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string priority {
            get {
                return this.priorityField;
            }
            set {
                this.priorityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(LCNRangeTypeFillMethod.startFromHighest)]
        public LCNRangeTypeFillMethod fillMethod {
            get {
                return this.fillMethodField;
            }
            set {
                this.fillMethodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(LCNRangeTypeServiceOrigin.dvbi)]
        public LCNRangeTypeServiceOrigin serviceOrigin {
            get {
                return this.serviceOriginField;
            }
            set {
                this.serviceOriginField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string serviceType {
            get {
                return this.serviceTypeField;
            }
            set {
                this.serviceTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string serviceGenre {
            get {
                return this.serviceGenreField;
            }
            set {
                this.serviceGenreField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum LCNRangeTypeFillMethod {
        
        /// <remarks/>
        fillGaps,
        
        /// <remarks/>
        startFromHighest,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum LCNRangeTypeServiceOrigin {
        
        /// <remarks/>
        any,
        
        /// <remarks/>
        dvbi,
        
        /// <remarks/>
        targetBroadcast,
        
        /// <remarks/>
        otherBroadcast,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class LCNTableEntryType {
        
        private string channelNumberField;
        
        private string serviceRefField;
        
        private bool selectableField;
        
        private bool visibleField;
        
        public LCNTableEntryType() {
            this.selectableField = true;
            this.visibleField = true;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string channelNumber {
            get {
                return this.channelNumberField;
            }
            set {
                this.channelNumberField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string serviceRef {
            get {
                return this.serviceRefField;
            }
            set {
                this.serviceRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool selectable {
            get {
                return this.selectableField;
            }
            set {
                this.selectableField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool visible {
            get {
                return this.visibleField;
            }
            set {
                this.visibleField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class LCNTableType {
        
        private string[] targetRegionField;
        
        private SubscriptionPackageType[] subscriptionPackageField;
        
        private LCNTableEntryType[] lCNField;
        
        private LCNRangeType[] lCNRangeField;
        
        private bool preserveBroadcastLCNField;
        
        public LCNTableType() {
            this.preserveBroadcastLCNField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TargetRegion", DataType="IDREF")]
        public string[] TargetRegion {
            get {
                return this.targetRegionField;
            }
            set {
                this.targetRegionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SubscriptionPackage")]
        public SubscriptionPackageType[] SubscriptionPackage {
            get {
                return this.subscriptionPackageField;
            }
            set {
                this.subscriptionPackageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LCN")]
        public LCNTableEntryType[] LCN {
            get {
                return this.lCNField;
            }
            set {
                this.lCNField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LCNRange")]
        public LCNRangeType[] LCNRange {
            get {
                return this.lCNRangeField;
            }
            set {
                this.lCNRangeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool preserveBroadcastLCN {
            get {
                return this.preserveBroadcastLCNField;
            }
            set {
                this.preserveBroadcastLCNField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class CoordinatesType {
        
        private double latitudeField;
        
        private double longitudeField;
        
        private string radiusField;
        
        /// <remarks/>
        public double Latitude {
            get {
                return this.latitudeField;
            }
            set {
                this.latitudeField = value;
            }
        }
        
        /// <remarks/>
        public double Longitude {
            get {
                return this.longitudeField;
            }
            set {
                this.longitudeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string Radius {
            get {
                return this.radiusField;
            }
            set {
                this.radiusField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class PostcodeRangeType {
        
        private string fromField;
        
        private string toField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string from {
            get {
                return this.fromField;
            }
            set {
                this.fromField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string to {
            get {
                return this.toField;
            }
            set {
                this.toField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TertiaryRegionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SecondaryRegionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PrimaryRegionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CountryRegionType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public abstract partial class RegionBaseType {
        
        private TextualType[] regionNameField;
        
        private object[] itemsField;
        
        private ItemsChoiceType1[] itemsElementNameField;
        
        private string regionIDField;
        
        private bool selectableField;
        
        private string langField;
        
        public RegionBaseType() {
            this.selectableField = true;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RegionName")]
        public TextualType[] RegionName {
            get {
                return this.regionNameField;
            }
            set {
                this.regionNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Coordinates", typeof(CoordinatesType))]
        [System.Xml.Serialization.XmlElementAttribute("Postcode", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("PostcodeRange", typeof(PostcodeRangeType))]
        [System.Xml.Serialization.XmlElementAttribute("WildcardPostcode", typeof(string))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType1[] ItemsElementName {
            get {
                return this.itemsElementNameField;
            }
            set {
                this.itemsElementNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string regionID {
            get {
                return this.regionIDField;
            }
            set {
                this.regionIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool selectable {
            get {
                return this.selectableField;
            }
            set {
                this.selectableField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024", IncludeInSchema=false)]
    public enum ItemsChoiceType1 {
        
        /// <remarks/>
        Coordinates,
        
        /// <remarks/>
        Postcode,
        
        /// <remarks/>
        PostcodeRange,
        
        /// <remarks/>
        WildcardPostcode,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class TertiaryRegionType : RegionBaseType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class SecondaryRegionType : RegionBaseType {
        
        private TertiaryRegionType[] regionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Region")]
        public TertiaryRegionType[] Region {
            get {
                return this.regionField;
            }
            set {
                this.regionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class PrimaryRegionType : RegionBaseType {
        
        private SecondaryRegionType[] regionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Region")]
        public SecondaryRegionType[] Region {
            get {
                return this.regionField;
            }
            set {
                this.regionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class CountryRegionType : RegionBaseType {
        
        private PrimaryRegionType[] regionField;
        
        private string countryCodesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Region")]
        public PrimaryRegionType[] Region {
            get {
                return this.regionField;
            }
            set {
                this.regionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string countryCodes {
            get {
                return this.countryCodesField;
            }
            set {
                this.countryCodesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public partial class RegionListType {
        
        private CountryRegionType[] regionField;
        
        private string versionField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Region")]
        public CountryRegionType[] Region {
            get {
                return this.regionField;
            }
            set {
                this.regionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ShortTitleType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class TitleType : TextualBaseType {
        
        private string typeField;
        
        public TitleType() {
            this.typeField = "main";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute("main")]
        public string type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ShortTitleType : TitleType {
        
        private ushort lengthField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ushort length {
            get {
                return this.lengthField;
            }
            set {
                this.lengthField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class NameComponentType : TextualBaseType {
        
        private string initialField;
        
        private string abbrevField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string initial {
            get {
                return this.initialField;
            }
            set {
                this.initialField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string abbrev {
            get {
                return this.abbrevField;
            }
            set {
                this.abbrevField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class OrganizationNameType : TextualType {
        
        private string organizationNameIdField;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string organizationNameId {
            get {
                return this.organizationNameIdField;
            }
            set {
                this.organizationNameIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ServiceInformationNameType : TextualType {
        
        private serviceInformationNameLengthType lengthField;
        
        private bool lengthFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public serviceInformationNameLengthType length {
            get {
                return this.lengthField;
            }
            set {
                this.lengthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool lengthSpecified {
            get {
                return this.lengthFieldSpecified;
            }
            set {
                this.lengthFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public enum serviceInformationNameLengthType {
        
        /// <remarks/>
        @short,
        
        /// <remarks/>
        medium,
        
        /// <remarks/>
        @long,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ExplanationType : TextualType {
        
        private ExplanationLengthType lengthField;
        
        private bool lengthFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ExplanationLengthType length {
            get {
                return this.lengthField;
            }
            set {
                this.lengthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool lengthSpecified {
            get {
                return this.lengthFieldSpecified;
            }
            set {
                this.lengthFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public enum ExplanationLengthType {
        
        /// <remarks/>
        @short,
        
        /// <remarks/>
        medium,
        
        /// <remarks/>
        @long,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class KeywordType : TextualType {
        
        private KeywordTypeType typeField;
        
        private string metadataOriginIDRefField;
        
        public KeywordType() {
            this.typeField = KeywordTypeType.main;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(KeywordTypeType.main)]
        public KeywordTypeType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public enum KeywordTypeType {
        
        /// <remarks/>
        main,
        
        /// <remarks/>
        secondary,
        
        /// <remarks/>
        other,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024", IncludeInSchema=false)]
    public enum ItemsChoiceType2 {
        
        /// <remarks/>
        Service,
        
        /// <remarks/>
        TestService,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:servicediscovery:2024")]
    public enum ServiceListTypeResponseStatus {
        
        /// <remarks/>
        OK,
        
        /// <remarks/>
        ERROR_INVALID_MUX_INFO,
        
        /// <remarks/>
        ERROR_INVALID_REQUEST,
        
        /// <remarks/>
        ERROR_BUSY,
        
        /// <remarks/>
        ERROR_GENERIC_FAILURE,
        
        /// <remarks/>
        ERROR_INVALID_POSTCODE,
        
        /// <remarks/>
        ERROR_INVALID_REGION_ID,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:servicediscovery:2024")]
    [System.Xml.Serialization.XmlRootAttribute("Playlist", Namespace="urn:dvb:metadata:servicediscovery:2024", IsNullable=false)]
    public partial class DASHPlaylistType {
        
        private string[] playlistEntryField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PlaylistEntry", DataType="anyURI")]
        public string[] PlaylistEntry {
            get {
                return this.playlistEntryField;
            }
            set {
                this.playlistEntryField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    [System.Xml.Serialization.XmlRootAttribute("TVAMain", Namespace="urn:tva:metadata:2024", IsNullable=false)]
    public partial class TVAMainType {
        
        private TextualType[] copyrightNoticeField;
        
        private MetadataOriginationInformationTableType metadataOriginationInformationTableField;
        
        private ClassificationSchemeTableType classificationSchemeTableField;
        
        private ProgramDescriptionType programDescriptionField;
        
        private UserDescriptionType[] userDescriptionField;
        
        private string langField;
        
        private string publisherField;
        
        private System.DateTime publicationTimeField;
        
        private bool publicationTimeFieldSpecified;
        
        private string rightsOwnerField;
        
        private string originIDField;
        
        private uint versionField;
        
        private bool versionFieldSpecified;
        
        private TVAMainTypeType typeField;
        
        private bool typeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CopyrightNotice")]
        public TextualType[] CopyrightNotice {
            get {
                return this.copyrightNoticeField;
            }
            set {
                this.copyrightNoticeField = value;
            }
        }
        
        /// <remarks/>
        public MetadataOriginationInformationTableType MetadataOriginationInformationTable {
            get {
                return this.metadataOriginationInformationTableField;
            }
            set {
                this.metadataOriginationInformationTableField = value;
            }
        }
        
        /// <remarks/>
        public ClassificationSchemeTableType ClassificationSchemeTable {
            get {
                return this.classificationSchemeTableField;
            }
            set {
                this.classificationSchemeTableField = value;
            }
        }
        
        /// <remarks/>
        public ProgramDescriptionType ProgramDescription {
            get {
                return this.programDescriptionField;
            }
            set {
                this.programDescriptionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("UserDescription")]
        public UserDescriptionType[] UserDescription {
            get {
                return this.userDescriptionField;
            }
            set {
                this.userDescriptionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string publisher {
            get {
                return this.publisherField;
            }
            set {
                this.publisherField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime publicationTime {
            get {
                return this.publicationTimeField;
            }
            set {
                this.publicationTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool publicationTimeSpecified {
            get {
                return this.publicationTimeFieldSpecified;
            }
            set {
                this.publicationTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string rightsOwner {
            get {
                return this.rightsOwnerField;
            }
            set {
                this.rightsOwnerField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string originID {
            get {
                return this.originIDField;
            }
            set {
                this.originIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool versionSpecified {
            get {
                return this.versionFieldSpecified;
            }
            set {
                this.versionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public TVAMainTypeType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool typeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class MetadataOriginationInformationTableType {
        
        private MetadataOriginationInformationType[] metadataOriginationInformationField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MetadataOriginationInformation")]
        public MetadataOriginationInformationType[] MetadataOriginationInformation {
            get {
                return this.metadataOriginationInformationField;
            }
            set {
                this.metadataOriginationInformationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class MetadataOriginationInformationType {
        
        private TextualType[] publisherField;
        
        private TextualType[] rightsOwnerField;
        
        private TextualType[] copyrightNoticeField;
        
        private string originIDField;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Publisher")]
        public TextualType[] Publisher {
            get {
                return this.publisherField;
            }
            set {
                this.publisherField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RightsOwner")]
        public TextualType[] RightsOwner {
            get {
                return this.rightsOwnerField;
            }
            set {
                this.rightsOwnerField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CopyrightNotice")]
        public TextualType[] CopyrightNotice {
            get {
                return this.copyrightNoticeField;
            }
            set {
                this.copyrightNoticeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string originID {
            get {
                return this.originIDField;
            }
            set {
                this.originIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ClassificationSchemeTableType {
        
        private CSAliasType[] cSAliasField;
        
        private TVAClassificationSchemeType[] classificationSchemeField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CSAlias")]
        public CSAliasType[] CSAlias {
            get {
                return this.cSAliasField;
            }
            set {
                this.cSAliasField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ClassificationScheme")]
        public TVAClassificationSchemeType[] ClassificationScheme {
            get {
                return this.classificationSchemeField;
            }
            set {
                this.classificationSchemeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class CSAliasType : ClassificationSchemeAliasType {
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CSAliasType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationSchemeAliasType : HeaderType {
        
        private string aliasField;
        
        private string hrefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="NMTOKEN")]
        public string alias {
            get {
                return this.aliasField;
            }
            set {
                this.aliasField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string href {
            get {
                return this.hrefField;
            }
            set {
                this.hrefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationSchemeAliasType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CSAliasType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public abstract partial class HeaderType : Mpeg7BaseType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(HeaderType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationSchemeAliasType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CSAliasType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PreferenceConditionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MediaFormatType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DSType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionListType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionHistoryType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UsageHistoryType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserPreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionListType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionHistoryType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UsageHistoryType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SourcePreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(FilteringAndSearchPreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CreationPreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationPreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SummaryPreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BrowsingPreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AgentType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonGroupType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganizationType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PlaceType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVAPlaceType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVATermDefinitionBaseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVATermDefinitionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TermDefinitionBaseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TermDefinitionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationSchemeBaseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVAClassificationSchemeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationSchemeType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public abstract partial class Mpeg7BaseType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PreferenceConditionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MediaFormatType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public abstract partial class DType : Mpeg7BaseType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class PreferenceConditionType : DType {
        
        private PlaceType placeField;
        
        private PreferenceConditionTypeTime[] timeField;
        
        /// <remarks/>
        public PlaceType Place {
            get {
                return this.placeField;
            }
            set {
                this.placeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Time")]
        public PreferenceConditionTypeTime[] Time {
            get {
                return this.timeField;
            }
            set {
                this.timeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVAPlaceType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class PlaceType : DSType {
        
        private TextualType[] nameField;
        
        private ControlledTermUseType[] nameTermField;
        
        private TermUseType roleField;
        
        private PlaceTypeGeographicPosition geographicPositionField;
        
        private string[] regionField;
        
        private PlaceTypeAdministrativeUnit[] administrativeUnitField;
        
        private PlaceTypePostalAddress postalAddressField;
        
        private string internalCoordinatesField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Name")]
        public TextualType[] Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("NameTerm")]
        public ControlledTermUseType[] NameTerm {
            get {
                return this.nameTermField;
            }
            set {
                this.nameTermField = value;
            }
        }
        
        /// <remarks/>
        public TermUseType Role {
            get {
                return this.roleField;
            }
            set {
                this.roleField = value;
            }
        }
        
        /// <remarks/>
        public PlaceTypeGeographicPosition GeographicPosition {
            get {
                return this.geographicPositionField;
            }
            set {
                this.geographicPositionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Region")]
        public string[] Region {
            get {
                return this.regionField;
            }
            set {
                this.regionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AdministrativeUnit")]
        public PlaceTypeAdministrativeUnit[] AdministrativeUnit {
            get {
                return this.administrativeUnitField;
            }
            set {
                this.administrativeUnitField = value;
            }
        }
        
        /// <remarks/>
        public PlaceTypePostalAddress PostalAddress {
            get {
                return this.postalAddressField;
            }
            set {
                this.postalAddressField = value;
            }
        }
        
        /// <remarks/>
        public string InternalCoordinates {
            get {
                return this.internalCoordinatesField;
            }
            set {
                this.internalCoordinatesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class ControlledTermUseType : InlineTermDefinitionType {
        
        private string hrefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string href {
            get {
                return this.hrefField;
            }
            set {
                this.hrefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TermUseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ControlledTermUseType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public abstract partial class InlineTermDefinitionType {
        
        private InlineTermDefinitionTypeName[] nameField;
        
        private TextualType[] definitionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Name")]
        public InlineTermDefinitionTypeName[] Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Definition")]
        public TextualType[] Definition {
            get {
                return this.definitionField;
            }
            set {
                this.definitionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class InlineTermDefinitionTypeName : TextualType {
        
        private bool preferredField;
        
        private bool preferredFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool preferred {
            get {
                return this.preferredField;
            }
            set {
                this.preferredField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool preferredSpecified {
            get {
                return this.preferredFieldSpecified;
            }
            set {
                this.preferredFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class TermUseType : InlineTermDefinitionType {
        
        private string hrefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string href {
            get {
                return this.hrefField;
            }
            set {
                this.hrefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class PlaceTypeGeographicPosition {
        
        private GeographicPointType pointField;
        
        private string datumField;
        
        /// <remarks/>
        public GeographicPointType Point {
            get {
                return this.pointField;
            }
            set {
                this.pointField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string datum {
            get {
                return this.datumField;
            }
            set {
                this.datumField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class GeographicPointType {
        
        private double longitudeField;
        
        private double latitudeField;
        
        private double altitudeField;
        
        private bool altitudeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public double longitude {
            get {
                return this.longitudeField;
            }
            set {
                this.longitudeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public double latitude {
            get {
                return this.latitudeField;
            }
            set {
                this.latitudeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public double altitude {
            get {
                return this.altitudeField;
            }
            set {
                this.altitudeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool altitudeSpecified {
            get {
                return this.altitudeFieldSpecified;
            }
            set {
                this.altitudeFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class PlaceTypeAdministrativeUnit {
        
        private string typeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class PlaceTypePostalAddress {
        
        private TextualType[] addressLineField;
        
        private TextualType postingIdentifierField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AddressLine")]
        public TextualType[] AddressLine {
            get {
                return this.addressLineField;
            }
            set {
                this.addressLineField = value;
            }
        }
        
        /// <remarks/>
        public TextualType PostingIdentifier {
            get {
                return this.postingIdentifierField;
            }
            set {
                this.postingIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionListType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionHistoryType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UsageHistoryType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserPreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionListType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionHistoryType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UsageHistoryType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SourcePreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(FilteringAndSearchPreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CreationPreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationPreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SummaryPreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BrowsingPreferencesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AgentType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonGroupType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganizationType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PlaceType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVAPlaceType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVATermDefinitionBaseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVATermDefinitionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TermDefinitionBaseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TermDefinitionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationSchemeBaseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVAClassificationSchemeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationSchemeType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public abstract partial class DSType : Mpeg7BaseType {
        
        private string idField;
        
        private string timeBaseField;
        
        private string timeUnitField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="token")]
        public string timeBase {
            get {
                return this.timeBaseField;
            }
            set {
                this.timeBaseField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string timeUnit {
            get {
                return this.timeUnitField;
            }
            set {
                this.timeUnitField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="UserActionListType", Namespace="urn:tva:metadata:2024")]
    public partial class UserActionListType1 : DSType {
        
        private TermUseType actionTypeField;
        
        private UserActionType1[] userActionField;
        
        private string numOfInstancesField;
        
        private string totalDurationField;
        
        /// <remarks/>
        public TermUseType ActionType {
            get {
                return this.actionTypeField;
            }
            set {
                this.actionTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("UserAction")]
        public UserActionType1[] UserAction {
            get {
                return this.userActionField;
            }
            set {
                this.userActionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string numOfInstances {
            get {
                return this.numOfInstancesField;
            }
            set {
                this.numOfInstancesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string totalDuration {
            get {
                return this.totalDurationField;
            }
            set {
                this.totalDurationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="UserActionType", Namespace="urn:tva:metadata:2024")]
    public partial class UserActionType1 : UserActionType {
        
        private ExtendedURIType programLocationField;
        
        private RatingType ratingField;
        
        /// <remarks/>
        public ExtendedURIType ProgramLocation {
            get {
                return this.programLocationField;
            }
            set {
                this.programLocationField = value;
            }
        }
        
        /// <remarks/>
        public RatingType Rating {
            get {
                return this.ratingField;
            }
            set {
                this.ratingField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class RatingType {
        
        private float ratingValueField;
        
        private RatingTypeRatingScheme ratingSchemeField;
        
        /// <remarks/>
        public float RatingValue {
            get {
                return this.ratingValueField;
            }
            set {
                this.ratingValueField = value;
            }
        }
        
        /// <remarks/>
        public RatingTypeRatingScheme RatingScheme {
            get {
                return this.ratingSchemeField;
            }
            set {
                this.ratingSchemeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class RatingTypeRatingScheme : TermUseType {
        
        private float bestField;
        
        private bool bestFieldSpecified;
        
        private float worstField;
        
        private bool worstFieldSpecified;
        
        private RatingTypeRatingSchemeStyle styleField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public float best {
            get {
                return this.bestField;
            }
            set {
                this.bestField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool bestSpecified {
            get {
                return this.bestFieldSpecified;
            }
            set {
                this.bestFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public float worst {
            get {
                return this.worstField;
            }
            set {
                this.worstField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool worstSpecified {
            get {
                return this.worstFieldSpecified;
            }
            set {
                this.worstFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public RatingTypeRatingSchemeStyle style {
            get {
                return this.styleField;
            }
            set {
                this.styleField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public enum RatingTypeRatingSchemeStyle {
        
        /// <remarks/>
        higherBetter,
        
        /// <remarks/>
        lowerBetter,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserActionType1))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class UserActionType : DSType {
        
        private UserActionTypeActionTime actionTimeField;
        
        private UniqueIDType programIdentifierField;
        
        private ReferenceType[] actionDataItemField;
        
        /// <remarks/>
        public UserActionTypeActionTime ActionTime {
            get {
                return this.actionTimeField;
            }
            set {
                this.actionTimeField = value;
            }
        }
        
        /// <remarks/>
        public UniqueIDType ProgramIdentifier {
            get {
                return this.programIdentifierField;
            }
            set {
                this.programIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ActionDataItem")]
        public ReferenceType[] ActionDataItem {
            get {
                return this.actionDataItemField;
            }
            set {
                this.actionDataItemField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class UserActionTypeActionTime {
        
        private MediaTimeType mediaTimeField;
        
        private TimeType generalTimeField;
        
        /// <remarks/>
        public MediaTimeType MediaTime {
            get {
                return this.mediaTimeField;
            }
            set {
                this.mediaTimeField = value;
            }
        }
        
        /// <remarks/>
        public TimeType GeneralTime {
            get {
                return this.generalTimeField;
            }
            set {
                this.generalTimeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class TimeType {
        
        private object itemField;
        
        private object item1Field;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelIncrTimePoint", typeof(RelIncrTimePointType))]
        [System.Xml.Serialization.XmlElementAttribute("RelTimePoint", typeof(RelTimePointType))]
        [System.Xml.Serialization.XmlElementAttribute("TimePoint", typeof(string))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Duration", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("IncrDuration", typeof(IncrDurationType))]
        public object Item1 {
            get {
                return this.item1Field;
            }
            set {
                this.item1Field = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class RelIncrTimePointType {
        
        private string timeUnitField;
        
        private string timeBaseField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string timeUnit {
            get {
                return this.timeUnitField;
            }
            set {
                this.timeUnitField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="token")]
        public string timeBase {
            get {
                return this.timeBaseField;
            }
            set {
                this.timeBaseField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="integer")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class RelTimePointType {
        
        private string timeBaseField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="token")]
        public string timeBase {
            get {
                return this.timeBaseField;
            }
            set {
                this.timeBaseField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class IncrDurationType {
        
        private string timeUnitField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string timeUnit {
            get {
                return this.timeUnitField;
            }
            set {
                this.timeUnitField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="integer")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class UniqueIDType {
        
        private string typeField;
        
        private string organizationField;
        
        private string authorityField;
        
        private UniqueIDTypeEncoding encodingField;
        
        private string valueField;
        
        public UniqueIDType() {
            this.typeField = "URI";
            this.encodingField = UniqueIDTypeEncoding.text;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="NMTOKEN")]
        [System.ComponentModel.DefaultValueAttribute("URI")]
        public string type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="NMTOKEN")]
        public string organization {
            get {
                return this.organizationField;
            }
            set {
                this.organizationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="NMTOKEN")]
        public string authority {
            get {
                return this.authorityField;
            }
            set {
                this.authorityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(UniqueIDTypeEncoding.text)]
        public UniqueIDTypeEncoding encoding {
            get {
                return this.encodingField;
            }
            set {
                this.encodingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public enum UniqueIDTypeEncoding {
        
        /// <remarks/>
        text,
        
        /// <remarks/>
        base16,
        
        /// <remarks/>
        base64,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class ReferenceType {
        
        private string idrefField;
        
        private string hrefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="IDREF")]
        public string idref {
            get {
                return this.idrefField;
            }
            set {
                this.idrefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string href {
            get {
                return this.hrefField;
            }
            set {
                this.hrefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="UserActionHistoryType", Namespace="urn:tva:metadata:2024")]
    public partial class UserActionHistoryType1 : DSType {
        
        private TimeType[] observationPeriodField;
        
        private UserActionListType1[] userActionListField;
        
        private userChoiceType protectedField;
        
        public UserActionHistoryType1() {
            this.protectedField = userChoiceType.@true;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ObservationPeriod")]
        public TimeType[] ObservationPeriod {
            get {
                return this.observationPeriodField;
            }
            set {
                this.observationPeriodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("UserActionList")]
        public UserActionListType1[] UserActionList {
            get {
                return this.userActionListField;
            }
            set {
                this.userActionListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(userChoiceType.@true)]
        public userChoiceType @protected {
            get {
                return this.protectedField;
            }
            set {
                this.protectedField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public enum userChoiceType {
        
        /// <remarks/>
        @true,
        
        /// <remarks/>
        @false,
        
        /// <remarks/>
        user,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="UsageHistoryType", Namespace="urn:tva:metadata:2024")]
    public partial class UsageHistoryType1 : DSType {
        
        private UserIdentifierType userIdentifierField;
        
        private UserActionHistoryType1[] userActionHistoryField;
        
        private userChoiceType allowCollectionField;
        
        public UsageHistoryType1() {
            this.allowCollectionField = userChoiceType.@false;
        }
        
        /// <remarks/>
        public UserIdentifierType UserIdentifier {
            get {
                return this.userIdentifierField;
            }
            set {
                this.userIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("UserActionHistory")]
        public UserActionHistoryType1[] UserActionHistory {
            get {
                return this.userActionHistoryField;
            }
            set {
                this.userActionHistoryField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(userChoiceType.@false)]
        public userChoiceType allowCollection {
            get {
                return this.allowCollectionField;
            }
            set {
                this.allowCollectionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class UserIdentifierType {
        
        private TextualType nameField;
        
        private userChoiceType protectedField;
        
        public UserIdentifierType() {
            this.protectedField = userChoiceType.@true;
        }
        
        /// <remarks/>
        public TextualType Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(userChoiceType.@true)]
        public userChoiceType @protected {
            get {
                return this.protectedField;
            }
            set {
                this.protectedField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class UserPreferencesType : DSType {
        
        private UserIdentifierType userIdentifierField;
        
        private FilteringAndSearchPreferencesType[] filteringAndSearchPreferencesField;
        
        private BrowsingPreferencesType[] browsingPreferencesField;
        
        private userChoiceType allowAutomaticUpdateField;
        
        public UserPreferencesType() {
            this.allowAutomaticUpdateField = userChoiceType.@false;
        }
        
        /// <remarks/>
        public UserIdentifierType UserIdentifier {
            get {
                return this.userIdentifierField;
            }
            set {
                this.userIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FilteringAndSearchPreferences")]
        public FilteringAndSearchPreferencesType[] FilteringAndSearchPreferences {
            get {
                return this.filteringAndSearchPreferencesField;
            }
            set {
                this.filteringAndSearchPreferencesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BrowsingPreferences")]
        public BrowsingPreferencesType[] BrowsingPreferences {
            get {
                return this.browsingPreferencesField;
            }
            set {
                this.browsingPreferencesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(userChoiceType.@false)]
        public userChoiceType allowAutomaticUpdate {
            get {
                return this.allowAutomaticUpdateField;
            }
            set {
                this.allowAutomaticUpdateField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class FilteringAndSearchPreferencesType : DSType {
        
        private CreationPreferencesType[] creationPreferencesField;
        
        private ClassificationPreferencesType[] classificationPreferencesField;
        
        private SourcePreferencesType[] sourcePreferencesField;
        
        private PreferenceConditionType[] preferenceConditionField;
        
        private FilteringAndSearchPreferencesType[] filteringAndSearchPreferencesField;
        
        private userChoiceType protectedField;
        
        private string preferenceValueField;
        
        public FilteringAndSearchPreferencesType() {
            this.protectedField = userChoiceType.@true;
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CreationPreferences")]
        public CreationPreferencesType[] CreationPreferences {
            get {
                return this.creationPreferencesField;
            }
            set {
                this.creationPreferencesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ClassificationPreferences")]
        public ClassificationPreferencesType[] ClassificationPreferences {
            get {
                return this.classificationPreferencesField;
            }
            set {
                this.classificationPreferencesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SourcePreferences")]
        public SourcePreferencesType[] SourcePreferences {
            get {
                return this.sourcePreferencesField;
            }
            set {
                this.sourcePreferencesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PreferenceCondition")]
        public PreferenceConditionType[] PreferenceCondition {
            get {
                return this.preferenceConditionField;
            }
            set {
                this.preferenceConditionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FilteringAndSearchPreferences")]
        public FilteringAndSearchPreferencesType[] FilteringAndSearchPreferences {
            get {
                return this.filteringAndSearchPreferencesField;
            }
            set {
                this.filteringAndSearchPreferencesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(userChoiceType.@true)]
        public userChoiceType @protected {
            get {
                return this.protectedField;
            }
            set {
                this.protectedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class CreationPreferencesType : DSType {
        
        private CreationPreferencesTypeTitle[] titleField;
        
        private CreationPreferencesTypeCreator[] creatorField;
        
        private CreationPreferencesTypeKeyword[] keywordField;
        
        private CreationPreferencesTypeLocation[] locationField;
        
        private CreationPreferencesTypeDatePeriod[] datePeriodField;
        
        private CreationPreferencesTypeTool[] toolField;
        
        private string preferenceValueField;
        
        public CreationPreferencesType() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Title")]
        public CreationPreferencesTypeTitle[] Title {
            get {
                return this.titleField;
            }
            set {
                this.titleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Creator")]
        public CreationPreferencesTypeCreator[] Creator {
            get {
                return this.creatorField;
            }
            set {
                this.creatorField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Keyword")]
        public CreationPreferencesTypeKeyword[] Keyword {
            get {
                return this.keywordField;
            }
            set {
                this.keywordField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Location")]
        public CreationPreferencesTypeLocation[] Location {
            get {
                return this.locationField;
            }
            set {
                this.locationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DatePeriod")]
        public CreationPreferencesTypeDatePeriod[] DatePeriod {
            get {
                return this.datePeriodField;
            }
            set {
                this.datePeriodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Tool")]
        public CreationPreferencesTypeTool[] Tool {
            get {
                return this.toolField;
            }
            set {
                this.toolField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class CreationPreferencesTypeTitle : TitleType {
        
        private string preferenceValueField;
        
        public CreationPreferencesTypeTitle() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class CreationPreferencesTypeCreator : CreatorType {
        
        private string preferenceValueField;
        
        public CreationPreferencesTypeCreator() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class CreatorType : MediaAgentType {
        
        private PersonNameType[] characterField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Character")]
        public PersonNameType[] Character {
            get {
                return this.characterField;
            }
            set {
                this.characterField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVAPersonNameType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonNameFragmentType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class PersonNameType {
        
        private object[] itemsField;
        
        private ItemsChoiceType3[] itemsElementNameField;
        
        private string dateFromField;
        
        private string dateToField;
        
        private PersonNameTypeType typeField;
        
        private bool typeFieldSpecified;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FamilyName", typeof(NameComponentType))]
        [System.Xml.Serialization.XmlElementAttribute("GivenName", typeof(NameComponentType))]
        [System.Xml.Serialization.XmlElementAttribute("LinkingName", typeof(NameComponentType))]
        [System.Xml.Serialization.XmlElementAttribute("Numeration", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("Salutation", typeof(NameComponentType))]
        [System.Xml.Serialization.XmlElementAttribute("Title", typeof(NameComponentType))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType3[] ItemsElementName {
            get {
                return this.itemsElementNameField;
            }
            set {
                this.itemsElementNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string dateFrom {
            get {
                return this.dateFromField;
            }
            set {
                this.dateFromField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string dateTo {
            get {
                return this.dateToField;
            }
            set {
                this.dateToField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public PersonNameTypeType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool typeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008", IncludeInSchema=false)]
    public enum ItemsChoiceType3 {
        
        /// <remarks/>
        FamilyName,
        
        /// <remarks/>
        GivenName,
        
        /// <remarks/>
        LinkingName,
        
        /// <remarks/>
        Numeration,
        
        /// <remarks/>
        Salutation,
        
        /// <remarks/>
        Title,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public enum PersonNameTypeType {
        
        /// <remarks/>
        former,
        
        /// <remarks/>
        variant,
        
        /// <remarks/>
        main,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonNameFragmentType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TVAPersonNameType : PersonNameType {
        
        private UniqueIDType[] otherIdentifierField;
        
        private RelatedMaterialType[] relatedMaterialField;
        
        private TextualType[] additionalInformationField;
        
        private TVAPersonNameTypeNameType nameTypeField;
        
        private bool nameTypeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OtherIdentifier")]
        public UniqueIDType[] OtherIdentifier {
            get {
                return this.otherIdentifierField;
            }
            set {
                this.otherIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedMaterial")]
        public RelatedMaterialType[] RelatedMaterial {
            get {
                return this.relatedMaterialField;
            }
            set {
                this.relatedMaterialField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AdditionalInformation")]
        public TextualType[] AdditionalInformation {
            get {
                return this.additionalInformationField;
            }
            set {
                this.additionalInformationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public TVAPersonNameTypeNameType nameType {
            get {
                return this.nameTypeField;
            }
            set {
                this.nameTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool nameTypeSpecified {
            get {
                return this.nameTypeFieldSpecified;
            }
            set {
                this.nameTypeFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public enum TVAPersonNameTypeNameType {
        
        /// <remarks/>
        birthName,
        
        /// <remarks/>
        alternativeName,
        
        /// <remarks/>
        nickname,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class PersonNameFragmentType : TVAPersonNameType {
        
        private string personNameIdField;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string personNameId {
            get {
                return this.personNameIdField;
            }
            set {
                this.personNameIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CreatorType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaAgentType {
        
        private ControlledTermUseType roleField;
        
        private object itemField;
        
        /// <remarks/>
        public ControlledTermUseType Role {
            get {
                return this.roleField;
            }
            set {
                this.roleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Agent", typeof(AgentType))]
        [System.Xml.Serialization.XmlElementAttribute("AgentRef", typeof(ReferenceType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonGroupType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganizationType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public abstract partial class AgentType : DSType {
        
        private MediaLocatorType[] iconField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Icon")]
        public MediaLocatorType[] Icon {
            get {
                return this.iconField;
            }
            set {
                this.iconField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class PersonType : AgentType {
        
        private object[] itemsField;
        
        private PersonTypeAffiliation[] affiliationField;
        
        private string[] citizenshipField;
        
        private object itemField;
        
        private ElectronicAddressType[] electronicAddressField;
        
        private TextualType personDescriptionField;
        
        private string nationalityField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Name", typeof(PersonNameType))]
        [System.Xml.Serialization.XmlElementAttribute("NameTerm", typeof(ControlledTermUseType))]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Affiliation")]
        public PersonTypeAffiliation[] Affiliation {
            get {
                return this.affiliationField;
            }
            set {
                this.affiliationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Citizenship")]
        public string[] Citizenship {
            get {
                return this.citizenshipField;
            }
            set {
                this.citizenshipField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Address", typeof(PlaceType))]
        [System.Xml.Serialization.XmlElementAttribute("AddressRef", typeof(ReferenceType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ElectronicAddress")]
        public ElectronicAddressType[] ElectronicAddress {
            get {
                return this.electronicAddressField;
            }
            set {
                this.electronicAddressField = value;
            }
        }
        
        /// <remarks/>
        public TextualType PersonDescription {
            get {
                return this.personDescriptionField;
            }
            set {
                this.personDescriptionField = value;
            }
        }
        
        /// <remarks/>
        public string Nationality {
            get {
                return this.nationalityField;
            }
            set {
                this.nationalityField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class PersonTypeAffiliation {
        
        private object itemField;
        
        private ItemChoiceType1 itemElementNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Organization", typeof(OrganizationType))]
        [System.Xml.Serialization.XmlElementAttribute("OrganizationRef", typeof(ReferenceType))]
        [System.Xml.Serialization.XmlElementAttribute("PersonGroup", typeof(PersonGroupType))]
        [System.Xml.Serialization.XmlElementAttribute("PersonGroupRef", typeof(ReferenceType))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType1 ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class OrganizationType : AgentType {
        
        private OrganizationTypeName[] nameField;
        
        private OrganizationTypeNameTerm[] nameTermField;
        
        private TermUseType kindField;
        
        private object[] itemsField;
        
        private object itemField;
        
        private object item1Field;
        
        private ElectronicAddressType electronicAddressField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Name")]
        public OrganizationTypeName[] Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("NameTerm")]
        public OrganizationTypeNameTerm[] NameTerm {
            get {
                return this.nameTermField;
            }
            set {
                this.nameTermField = value;
            }
        }
        
        /// <remarks/>
        public TermUseType Kind {
            get {
                return this.kindField;
            }
            set {
                this.kindField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Contact", typeof(AgentType))]
        [System.Xml.Serialization.XmlElementAttribute("ContactRef", typeof(ReferenceType))]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Jurisdiction", typeof(PlaceType))]
        [System.Xml.Serialization.XmlElementAttribute("JurisdictionRef", typeof(ReferenceType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Address", typeof(PlaceType))]
        [System.Xml.Serialization.XmlElementAttribute("AddressRef", typeof(ReferenceType))]
        public object Item1 {
            get {
                return this.item1Field;
            }
            set {
                this.item1Field = value;
            }
        }
        
        /// <remarks/>
        public ElectronicAddressType ElectronicAddress {
            get {
                return this.electronicAddressField;
            }
            set {
                this.electronicAddressField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class OrganizationTypeName : TextualType {
        
        private OrganizationTypeNameType typeField;
        
        private bool typeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public OrganizationTypeNameType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool typeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public enum OrganizationTypeNameType {
        
        /// <remarks/>
        former,
        
        /// <remarks/>
        variant,
        
        /// <remarks/>
        main,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class OrganizationTypeNameTerm : ControlledTermUseType {
        
        private OrganizationTypeNameTermType typeField;
        
        private bool typeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public OrganizationTypeNameTermType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool typeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public enum OrganizationTypeNameTermType {
        
        /// <remarks/>
        former,
        
        /// <remarks/>
        variant,
        
        /// <remarks/>
        main,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class ElectronicAddressType {
        
        private ElectronicAddressTypeTelephone[] telephoneField;
        
        private string[] faxField;
        
        private string[] emailField;
        
        private string[] urlField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Telephone")]
        public ElectronicAddressTypeTelephone[] Telephone {
            get {
                return this.telephoneField;
            }
            set {
                this.telephoneField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Fax")]
        public string[] Fax {
            get {
                return this.faxField;
            }
            set {
                this.faxField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Email")]
        public string[] Email {
            get {
                return this.emailField;
            }
            set {
                this.emailField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Url", DataType="anyURI")]
        public string[] Url {
            get {
                return this.urlField;
            }
            set {
                this.urlField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class ElectronicAddressTypeTelephone {
        
        private ElectronicAddressTypeTelephoneType typeField;
        
        private bool typeFieldSpecified;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ElectronicAddressTypeTelephoneType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool typeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public enum ElectronicAddressTypeTelephoneType {
        
        /// <remarks/>
        central,
        
        /// <remarks/>
        secondary,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class PersonGroupType : AgentType {
        
        private PersonGroupTypeName[] nameField;
        
        private PersonGroupTypeNameTerm[] nameTermField;
        
        private TermUseType kindField;
        
        private object[] itemsField;
        
        private object itemField;
        
        private object item1Field;
        
        private ElectronicAddressType electronicAddressField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Name")]
        public PersonGroupTypeName[] Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("NameTerm")]
        public PersonGroupTypeNameTerm[] NameTerm {
            get {
                return this.nameTermField;
            }
            set {
                this.nameTermField = value;
            }
        }
        
        /// <remarks/>
        public TermUseType Kind {
            get {
                return this.kindField;
            }
            set {
                this.kindField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Member", typeof(PersonType))]
        [System.Xml.Serialization.XmlElementAttribute("MemberRef", typeof(ReferenceType))]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Jurisdiction", typeof(PlaceType))]
        [System.Xml.Serialization.XmlElementAttribute("JurisdictionRef", typeof(ReferenceType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Address", typeof(PlaceType))]
        [System.Xml.Serialization.XmlElementAttribute("AddressRef", typeof(ReferenceType))]
        public object Item1 {
            get {
                return this.item1Field;
            }
            set {
                this.item1Field = value;
            }
        }
        
        /// <remarks/>
        public ElectronicAddressType ElectronicAddress {
            get {
                return this.electronicAddressField;
            }
            set {
                this.electronicAddressField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class PersonGroupTypeName : TextualType {
        
        private PersonGroupTypeNameType typeField;
        
        private bool typeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public PersonGroupTypeNameType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool typeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public enum PersonGroupTypeNameType {
        
        /// <remarks/>
        former,
        
        /// <remarks/>
        variant,
        
        /// <remarks/>
        main,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class PersonGroupTypeNameTerm : ControlledTermUseType {
        
        private PersonGroupTypeNameTermType typeField;
        
        private bool typeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public PersonGroupTypeNameTermType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool typeSpecified {
            get {
                return this.typeFieldSpecified;
            }
            set {
                this.typeFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public enum PersonGroupTypeNameTermType {
        
        /// <remarks/>
        former,
        
        /// <remarks/>
        variant,
        
        /// <remarks/>
        main,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008", IncludeInSchema=false)]
    public enum ItemChoiceType1 {
        
        /// <remarks/>
        Organization,
        
        /// <remarks/>
        OrganizationRef,
        
        /// <remarks/>
        PersonGroup,
        
        /// <remarks/>
        PersonGroupRef,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class CreationPreferencesTypeKeyword : TextualType {
        
        private string preferenceValueField;
        
        public CreationPreferencesTypeKeyword() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class CreationPreferencesTypeLocation : PlaceType {
        
        private string preferenceValueField;
        
        public CreationPreferencesTypeLocation() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class CreationPreferencesTypeDatePeriod : TimeType {
        
        private string preferenceValueField;
        
        public CreationPreferencesTypeDatePeriod() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class CreationPreferencesTypeTool : TermUseType {
        
        private string preferenceValueField;
        
        public CreationPreferencesTypeTool() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationPreferencesType : DSType {
        
        private ClassificationPreferencesTypeCountry[] countryField;
        
        private ClassificationPreferencesTypeDatePeriod[] datePeriodField;
        
        private ClassificationPreferencesTypeLanguageFormat[] languageFormatField;
        
        private ClassificationPreferencesTypeLanguage[] languageField;
        
        private ClassificationPreferencesTypeCaptionLanguage[] captionLanguageField;
        
        private ClassificationPreferencesTypeForm[] formField;
        
        private ClassificationPreferencesTypeGenre[] genreField;
        
        private ClassificationPreferencesTypeSubject[] subjectField;
        
        private ClassificationPreferencesTypeReview[] reviewField;
        
        private ClassificationPreferencesTypeParentalGuidance[] parentalGuidanceField;
        
        private string preferenceValueField;
        
        public ClassificationPreferencesType() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Country")]
        public ClassificationPreferencesTypeCountry[] Country {
            get {
                return this.countryField;
            }
            set {
                this.countryField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DatePeriod")]
        public ClassificationPreferencesTypeDatePeriod[] DatePeriod {
            get {
                return this.datePeriodField;
            }
            set {
                this.datePeriodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LanguageFormat")]
        public ClassificationPreferencesTypeLanguageFormat[] LanguageFormat {
            get {
                return this.languageFormatField;
            }
            set {
                this.languageFormatField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Language")]
        public ClassificationPreferencesTypeLanguage[] Language {
            get {
                return this.languageField;
            }
            set {
                this.languageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CaptionLanguage")]
        public ClassificationPreferencesTypeCaptionLanguage[] CaptionLanguage {
            get {
                return this.captionLanguageField;
            }
            set {
                this.captionLanguageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Form")]
        public ClassificationPreferencesTypeForm[] Form {
            get {
                return this.formField;
            }
            set {
                this.formField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Genre")]
        public ClassificationPreferencesTypeGenre[] Genre {
            get {
                return this.genreField;
            }
            set {
                this.genreField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Subject")]
        public ClassificationPreferencesTypeSubject[] Subject {
            get {
                return this.subjectField;
            }
            set {
                this.subjectField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Review")]
        public ClassificationPreferencesTypeReview[] Review {
            get {
                return this.reviewField;
            }
            set {
                this.reviewField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ParentalGuidance")]
        public ClassificationPreferencesTypeParentalGuidance[] ParentalGuidance {
            get {
                return this.parentalGuidanceField;
            }
            set {
                this.parentalGuidanceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationPreferencesTypeCountry {
        
        private string preferenceValueField;
        
        private string valueField;
        
        public ClassificationPreferencesTypeCountry() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationPreferencesTypeDatePeriod : TimeType {
        
        private string preferenceValueField;
        
        public ClassificationPreferencesTypeDatePeriod() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationPreferencesTypeLanguageFormat {
        
        private string preferenceValueField;
        
        private string valueField;
        
        public ClassificationPreferencesTypeLanguageFormat() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationPreferencesTypeLanguage : ExtendedLanguageType {
        
        private string preferenceValueField;
        
        public ClassificationPreferencesTypeLanguage() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationPreferencesTypeCaptionLanguage {
        
        private string preferenceValueField;
        
        private string valueField;
        
        public ClassificationPreferencesTypeCaptionLanguage() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="language")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationPreferencesTypeForm : TermUseType {
        
        private string preferenceValueField;
        
        public ClassificationPreferencesTypeForm() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationPreferencesTypeGenre : TermUseType {
        
        private string preferenceValueField;
        
        public ClassificationPreferencesTypeGenre() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationPreferencesTypeSubject : TextualType {
        
        private string preferenceValueField;
        
        public ClassificationPreferencesTypeSubject() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationPreferencesTypeReview {
        
        private RatingType ratingField;
        
        private AgentType reviewerField;
        
        private string preferenceValueField;
        
        public ClassificationPreferencesTypeReview() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        public RatingType Rating {
            get {
                return this.ratingField;
            }
            set {
                this.ratingField = value;
            }
        }
        
        /// <remarks/>
        public AgentType Reviewer {
            get {
                return this.reviewerField;
            }
            set {
                this.reviewerField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationPreferencesTypeParentalGuidance : ParentalGuidanceType {
        
        private string preferenceValueField;
        
        public ClassificationPreferencesTypeParentalGuidance() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVAParentalGuidanceType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class ParentalGuidanceType {
        
        private object itemField;
        
        private string[] regionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MinimumAge", typeof(string), DataType="nonNegativeInteger")]
        [System.Xml.Serialization.XmlElementAttribute("ParentalRating", typeof(ControlledTermUseType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Region")]
        public string[] Region {
            get {
                return this.regionField;
            }
            set {
                this.regionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TVAParentalGuidanceType : ParentalGuidanceType {
        
        private ExplanationType[] explanatoryTextField;
        
        private string countryCodesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ExplanatoryText")]
        public ExplanationType[] ExplanatoryText {
            get {
                return this.explanatoryTextField;
            }
            set {
                this.explanatoryTextField = value;
            }
        }
        
        /// <remarks/>
        public string CountryCodes {
            get {
                return this.countryCodesField;
            }
            set {
                this.countryCodesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class SourcePreferencesType : DSType {
        
        private SourcePreferencesTypeDisseminationFormat[] disseminationFormatField;
        
        private SourcePreferencesTypeDisseminationSource[] disseminationSourceField;
        
        private SourcePreferencesTypeDisseminationLocation[] disseminationLocationField;
        
        private SourcePreferencesTypeDisseminationDate[] disseminationDateField;
        
        private SourcePreferencesTypeDisseminator[] disseminatorField;
        
        private SourcePreferencesTypeMediaFormat[] mediaFormatField;
        
        private bool noRepeatField;
        
        private bool noRepeatFieldSpecified;
        
        private bool noEncryptionField;
        
        private bool noEncryptionFieldSpecified;
        
        private bool noPayPerUseField;
        
        private bool noPayPerUseFieldSpecified;
        
        private string preferenceValueField;
        
        public SourcePreferencesType() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DisseminationFormat")]
        public SourcePreferencesTypeDisseminationFormat[] DisseminationFormat {
            get {
                return this.disseminationFormatField;
            }
            set {
                this.disseminationFormatField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DisseminationSource")]
        public SourcePreferencesTypeDisseminationSource[] DisseminationSource {
            get {
                return this.disseminationSourceField;
            }
            set {
                this.disseminationSourceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DisseminationLocation")]
        public SourcePreferencesTypeDisseminationLocation[] DisseminationLocation {
            get {
                return this.disseminationLocationField;
            }
            set {
                this.disseminationLocationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DisseminationDate")]
        public SourcePreferencesTypeDisseminationDate[] DisseminationDate {
            get {
                return this.disseminationDateField;
            }
            set {
                this.disseminationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Disseminator")]
        public SourcePreferencesTypeDisseminator[] Disseminator {
            get {
                return this.disseminatorField;
            }
            set {
                this.disseminatorField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaFormat")]
        public SourcePreferencesTypeMediaFormat[] MediaFormat {
            get {
                return this.mediaFormatField;
            }
            set {
                this.mediaFormatField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool noRepeat {
            get {
                return this.noRepeatField;
            }
            set {
                this.noRepeatField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool noRepeatSpecified {
            get {
                return this.noRepeatFieldSpecified;
            }
            set {
                this.noRepeatFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool noEncryption {
            get {
                return this.noEncryptionField;
            }
            set {
                this.noEncryptionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool noEncryptionSpecified {
            get {
                return this.noEncryptionFieldSpecified;
            }
            set {
                this.noEncryptionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool noPayPerUse {
            get {
                return this.noPayPerUseField;
            }
            set {
                this.noPayPerUseField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool noPayPerUseSpecified {
            get {
                return this.noPayPerUseFieldSpecified;
            }
            set {
                this.noPayPerUseFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class SourcePreferencesTypeDisseminationFormat : TermUseType {
        
        private string preferenceValueField;
        
        public SourcePreferencesTypeDisseminationFormat() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class SourcePreferencesTypeDisseminationSource : TextualType {
        
        private string preferenceValueField;
        
        public SourcePreferencesTypeDisseminationSource() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class SourcePreferencesTypeDisseminationLocation : PlaceType {
        
        private string preferenceValueField;
        
        public SourcePreferencesTypeDisseminationLocation() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class SourcePreferencesTypeDisseminationDate : TimeType {
        
        private string preferenceValueField;
        
        public SourcePreferencesTypeDisseminationDate() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class SourcePreferencesTypeDisseminator : MediaAgentType {
        
        private string preferenceValueField;
        
        public SourcePreferencesTypeDisseminator() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class SourcePreferencesTypeMediaFormat : MediaFormatType {
        
        private string preferenceValueField;
        
        public SourcePreferencesTypeMediaFormat() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaFormatType : DType {
        
        private ControlledTermUseType contentField;
        
        private ControlledTermUseType mediumField;
        
        private ControlledTermUseType fileFormatField;
        
        private string fileSizeField;
        
        private ControlledTermUseType systemField;
        
        private MediaFormatTypeBitRate bitRateField;
        
        private MediaFormatTypeVisualCoding visualCodingField;
        
        private MediaFormatTypeAudioCoding audioCodingField;
        
        private ControlledTermUseType sceneCodingFormatField;
        
        private ControlledTermUseType graphicsCodingFormatField;
        
        private ControlledTermUseType otherCodingFormatField;
        
        /// <remarks/>
        public ControlledTermUseType Content {
            get {
                return this.contentField;
            }
            set {
                this.contentField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermUseType Medium {
            get {
                return this.mediumField;
            }
            set {
                this.mediumField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermUseType FileFormat {
            get {
                return this.fileFormatField;
            }
            set {
                this.fileFormatField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string FileSize {
            get {
                return this.fileSizeField;
            }
            set {
                this.fileSizeField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermUseType System {
            get {
                return this.systemField;
            }
            set {
                this.systemField = value;
            }
        }
        
        /// <remarks/>
        public MediaFormatTypeBitRate BitRate {
            get {
                return this.bitRateField;
            }
            set {
                this.bitRateField = value;
            }
        }
        
        /// <remarks/>
        public MediaFormatTypeVisualCoding VisualCoding {
            get {
                return this.visualCodingField;
            }
            set {
                this.visualCodingField = value;
            }
        }
        
        /// <remarks/>
        public MediaFormatTypeAudioCoding AudioCoding {
            get {
                return this.audioCodingField;
            }
            set {
                this.audioCodingField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermUseType SceneCodingFormat {
            get {
                return this.sceneCodingFormatField;
            }
            set {
                this.sceneCodingFormatField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermUseType GraphicsCodingFormat {
            get {
                return this.graphicsCodingFormatField;
            }
            set {
                this.graphicsCodingFormatField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermUseType OtherCodingFormat {
            get {
                return this.otherCodingFormatField;
            }
            set {
                this.otherCodingFormatField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaFormatTypeBitRate {
        
        private bool variableField;
        
        private string minimumField;
        
        private string averageField;
        
        private string maximumField;
        
        private string valueField;
        
        public MediaFormatTypeBitRate() {
            this.variableField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool variable {
            get {
                return this.variableField;
            }
            set {
                this.variableField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string minimum {
            get {
                return this.minimumField;
            }
            set {
                this.minimumField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string average {
            get {
                return this.averageField;
            }
            set {
                this.averageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string maximum {
            get {
                return this.maximumField;
            }
            set {
                this.maximumField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="nonNegativeInteger")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaFormatTypeVisualCoding {
        
        private MediaFormatTypeVisualCodingFormat formatField;
        
        private MediaFormatTypeVisualCodingPixel pixelField;
        
        private MediaFormatTypeVisualCodingFrame frameField;
        
        /// <remarks/>
        public MediaFormatTypeVisualCodingFormat Format {
            get {
                return this.formatField;
            }
            set {
                this.formatField = value;
            }
        }
        
        /// <remarks/>
        public MediaFormatTypeVisualCodingPixel Pixel {
            get {
                return this.pixelField;
            }
            set {
                this.pixelField = value;
            }
        }
        
        /// <remarks/>
        public MediaFormatTypeVisualCodingFrame Frame {
            get {
                return this.frameField;
            }
            set {
                this.frameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaFormatTypeVisualCodingFormat : ControlledTermUseType {
        
        private string colorDomainField;
        
        public MediaFormatTypeVisualCodingFormat() {
            this.colorDomainField = "color";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute("color")]
        public string colorDomain {
            get {
                return this.colorDomainField;
            }
            set {
                this.colorDomainField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaFormatTypeVisualCodingPixel {
        
        private string resolutionField;
        
        private double aspectRatioField;
        
        private bool aspectRatioFieldSpecified;
        
        private string bitsPerField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string resolution {
            get {
                return this.resolutionField;
            }
            set {
                this.resolutionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public double aspectRatio {
            get {
                return this.aspectRatioField;
            }
            set {
                this.aspectRatioField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool aspectRatioSpecified {
            get {
                return this.aspectRatioFieldSpecified;
            }
            set {
                this.aspectRatioFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string bitsPer {
            get {
                return this.bitsPerField;
            }
            set {
                this.bitsPerField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaFormatTypeVisualCodingFrame {
        
        private string heightField;
        
        private string widthField;
        
        private double aspectRatioField;
        
        private bool aspectRatioFieldSpecified;
        
        private double rateField;
        
        private bool rateFieldSpecified;
        
        private MediaFormatTypeVisualCodingFrameStructure structureField;
        
        private bool structureFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string height {
            get {
                return this.heightField;
            }
            set {
                this.heightField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string width {
            get {
                return this.widthField;
            }
            set {
                this.widthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public double aspectRatio {
            get {
                return this.aspectRatioField;
            }
            set {
                this.aspectRatioField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool aspectRatioSpecified {
            get {
                return this.aspectRatioFieldSpecified;
            }
            set {
                this.aspectRatioFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public double rate {
            get {
                return this.rateField;
            }
            set {
                this.rateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool rateSpecified {
            get {
                return this.rateFieldSpecified;
            }
            set {
                this.rateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public MediaFormatTypeVisualCodingFrameStructure structure {
            get {
                return this.structureField;
            }
            set {
                this.structureField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool structureSpecified {
            get {
                return this.structureFieldSpecified;
            }
            set {
                this.structureFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public enum MediaFormatTypeVisualCodingFrameStructure {
        
        /// <remarks/>
        progressive,
        
        /// <remarks/>
        interlaced,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaFormatTypeAudioCoding {
        
        private ControlledTermUseType formatField;
        
        private MediaFormatTypeAudioCodingAudioChannels audioChannelsField;
        
        private MediaFormatTypeAudioCodingSample sampleField;
        
        private string emphasisField;
        
        private ControlledTermUseType presentationField;
        
        /// <remarks/>
        public ControlledTermUseType Format {
            get {
                return this.formatField;
            }
            set {
                this.formatField = value;
            }
        }
        
        /// <remarks/>
        public MediaFormatTypeAudioCodingAudioChannels AudioChannels {
            get {
                return this.audioChannelsField;
            }
            set {
                this.audioChannelsField = value;
            }
        }
        
        /// <remarks/>
        public MediaFormatTypeAudioCodingSample Sample {
            get {
                return this.sampleField;
            }
            set {
                this.sampleField = value;
            }
        }
        
        /// <remarks/>
        public string Emphasis {
            get {
                return this.emphasisField;
            }
            set {
                this.emphasisField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermUseType Presentation {
            get {
                return this.presentationField;
            }
            set {
                this.presentationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaFormatTypeAudioCodingAudioChannels {
        
        private string frontField;
        
        private string sideField;
        
        private string rearField;
        
        private string lfeField;
        
        private string trackField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string front {
            get {
                return this.frontField;
            }
            set {
                this.frontField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string side {
            get {
                return this.sideField;
            }
            set {
                this.sideField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string rear {
            get {
                return this.rearField;
            }
            set {
                this.rearField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string lfe {
            get {
                return this.lfeField;
            }
            set {
                this.lfeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string track {
            get {
                return this.trackField;
            }
            set {
                this.trackField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="nonNegativeInteger")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaFormatTypeAudioCodingSample {
        
        private double rateField;
        
        private bool rateFieldSpecified;
        
        private string bitsPerField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public double rate {
            get {
                return this.rateField;
            }
            set {
                this.rateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool rateSpecified {
            get {
                return this.rateFieldSpecified;
            }
            set {
                this.rateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string bitsPer {
            get {
                return this.bitsPerField;
            }
            set {
                this.bitsPerField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class BrowsingPreferencesType : DSType {
        
        private SummaryPreferencesType[] summaryPreferencesField;
        
        private BrowsingPreferencesTypePreferenceCondition[] preferenceConditionField;
        
        private userChoiceType protectedField;
        
        private string preferenceValueField;
        
        public BrowsingPreferencesType() {
            this.protectedField = userChoiceType.@true;
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SummaryPreferences")]
        public SummaryPreferencesType[] SummaryPreferences {
            get {
                return this.summaryPreferencesField;
            }
            set {
                this.summaryPreferencesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PreferenceCondition")]
        public BrowsingPreferencesTypePreferenceCondition[] PreferenceCondition {
            get {
                return this.preferenceConditionField;
            }
            set {
                this.preferenceConditionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(userChoiceType.@true)]
        public userChoiceType @protected {
            get {
                return this.protectedField;
            }
            set {
                this.protectedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class SummaryPreferencesType : DSType {
        
        private SummaryPreferencesTypeSummaryType[] summaryTypeField;
        
        private SummaryPreferencesTypeSummaryTheme[] summaryThemeField;
        
        private string summaryDurationField;
        
        private string minSummaryDurationField;
        
        private string maxSummaryDurationField;
        
        private string numOfKeyFramesField;
        
        private string minNumOfKeyFramesField;
        
        private string maxNumOfKeyFramesField;
        
        private string numOfCharsField;
        
        private string minNumOfCharsField;
        
        private string maxNumOfCharsField;
        
        private string preferenceValueField;
        
        public SummaryPreferencesType() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SummaryType")]
        public SummaryPreferencesTypeSummaryType[] SummaryType {
            get {
                return this.summaryTypeField;
            }
            set {
                this.summaryTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SummaryTheme")]
        public SummaryPreferencesTypeSummaryTheme[] SummaryTheme {
            get {
                return this.summaryThemeField;
            }
            set {
                this.summaryThemeField = value;
            }
        }
        
        /// <remarks/>
        public string SummaryDuration {
            get {
                return this.summaryDurationField;
            }
            set {
                this.summaryDurationField = value;
            }
        }
        
        /// <remarks/>
        public string MinSummaryDuration {
            get {
                return this.minSummaryDurationField;
            }
            set {
                this.minSummaryDurationField = value;
            }
        }
        
        /// <remarks/>
        public string MaxSummaryDuration {
            get {
                return this.maxSummaryDurationField;
            }
            set {
                this.maxSummaryDurationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string NumOfKeyFrames {
            get {
                return this.numOfKeyFramesField;
            }
            set {
                this.numOfKeyFramesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string MinNumOfKeyFrames {
            get {
                return this.minNumOfKeyFramesField;
            }
            set {
                this.minNumOfKeyFramesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string MaxNumOfKeyFrames {
            get {
                return this.maxNumOfKeyFramesField;
            }
            set {
                this.maxNumOfKeyFramesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string NumOfChars {
            get {
                return this.numOfCharsField;
            }
            set {
                this.numOfCharsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string MinNumOfChars {
            get {
                return this.minNumOfCharsField;
            }
            set {
                this.minNumOfCharsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string MaxNumOfChars {
            get {
                return this.maxNumOfCharsField;
            }
            set {
                this.maxNumOfCharsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class SummaryPreferencesTypeSummaryType {
        
        private string preferenceValueField;
        
        private string valueField;
        
        public SummaryPreferencesTypeSummaryType() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class SummaryPreferencesTypeSummaryTheme : TextualType {
        
        private string preferenceValueField;
        
        public SummaryPreferencesTypeSummaryTheme() {
            this.preferenceValueField = "10";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("10")]
        public string preferenceValue {
            get {
                return this.preferenceValueField;
            }
            set {
                this.preferenceValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class BrowsingPreferencesTypePreferenceCondition : PreferenceConditionType {
        
        private TermUseType genreField;
        
        /// <remarks/>
        public TermUseType Genre {
            get {
                return this.genreField;
            }
            set {
                this.genreField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class UserActionListType : DSType {
        
        private TermUseType actionTypeField;
        
        private UserActionType[] userActionField;
        
        private string numOfInstancesField;
        
        private string totalDurationField;
        
        /// <remarks/>
        public TermUseType ActionType {
            get {
                return this.actionTypeField;
            }
            set {
                this.actionTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("UserAction")]
        public UserActionType[] UserAction {
            get {
                return this.userActionField;
            }
            set {
                this.userActionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string numOfInstances {
            get {
                return this.numOfInstancesField;
            }
            set {
                this.numOfInstancesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string totalDuration {
            get {
                return this.totalDurationField;
            }
            set {
                this.totalDurationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class UserActionHistoryType : DSType {
        
        private TimeType[] observationPeriodField;
        
        private UserActionListType[] userActionListField;
        
        private userChoiceType protectedField;
        
        public UserActionHistoryType() {
            this.protectedField = userChoiceType.@true;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ObservationPeriod")]
        public TimeType[] ObservationPeriod {
            get {
                return this.observationPeriodField;
            }
            set {
                this.observationPeriodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("UserActionList")]
        public UserActionListType[] UserActionList {
            get {
                return this.userActionListField;
            }
            set {
                this.userActionListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(userChoiceType.@true)]
        public userChoiceType @protected {
            get {
                return this.protectedField;
            }
            set {
                this.protectedField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class UsageHistoryType : DSType {
        
        private UserIdentifierType userIdentifierField;
        
        private UserActionHistoryType[] userActionHistoryField;
        
        private userChoiceType allowCollectionField;
        
        public UsageHistoryType() {
            this.allowCollectionField = userChoiceType.@false;
        }
        
        /// <remarks/>
        public UserIdentifierType UserIdentifier {
            get {
                return this.userIdentifierField;
            }
            set {
                this.userIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("UserActionHistory")]
        public UserActionHistoryType[] UserActionHistory {
            get {
                return this.userActionHistoryField;
            }
            set {
                this.userActionHistoryField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(userChoiceType.@false)]
        public userChoiceType allowCollection {
            get {
                return this.allowCollectionField;
            }
            set {
                this.allowCollectionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVATermDefinitionType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public abstract partial class TVATermDefinitionBaseType : DSType {
        
        private TVATermDefinitionBaseTypeName[] nameField;
        
        private TextualType[] definitionField;
        
        private object[] itemsField;
        
        private string termIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Name")]
        public TVATermDefinitionBaseTypeName[] Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Definition")]
        public TextualType[] Definition {
            get {
                return this.definitionField;
            }
            set {
                this.definitionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EquivalentCSTerm", typeof(TVATermDefinitionBaseTypeEquivalentCSTerm))]
        [System.Xml.Serialization.XmlElementAttribute("MappingTerm", typeof(MappingTermType))]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="NMTOKEN")]
        public string termID {
            get {
                return this.termIDField;
            }
            set {
                this.termIDField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class TVATermDefinitionBaseTypeName : TextualType {
        
        private bool preferredField;
        
        private bool preferredFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool preferred {
            get {
                return this.preferredField;
            }
            set {
                this.preferredField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool preferredSpecified {
            get {
                return this.preferredFieldSpecified;
            }
            set {
                this.preferredFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class TVATermDefinitionBaseTypeEquivalentCSTerm {
        
        private string hrefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string href {
            get {
                return this.hrefField;
            }
            set {
                this.hrefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class MappingTermType {
        
        private TextualType classificationSchemeAcronymField;
        
        private TextualType classificationSchemeNameField;
        
        private string classificationSchemeURLField;
        
        private TextualType[] originalTermNameField;
        
        private TextualType[] originalTermDefinitionField;
        
        private System.DateTime mappingDateField;
        
        private bool mappingDateFieldSpecified;
        
        private string originalTermIDField;
        
        /// <remarks/>
        public TextualType ClassificationSchemeAcronym {
            get {
                return this.classificationSchemeAcronymField;
            }
            set {
                this.classificationSchemeAcronymField = value;
            }
        }
        
        /// <remarks/>
        public TextualType ClassificationSchemeName {
            get {
                return this.classificationSchemeNameField;
            }
            set {
                this.classificationSchemeNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string ClassificationSchemeURL {
            get {
                return this.classificationSchemeURLField;
            }
            set {
                this.classificationSchemeURLField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OriginalTermName")]
        public TextualType[] OriginalTermName {
            get {
                return this.originalTermNameField;
            }
            set {
                this.originalTermNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OriginalTermDefinition")]
        public TextualType[] OriginalTermDefinition {
            get {
                return this.originalTermDefinitionField;
            }
            set {
                this.originalTermDefinitionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date")]
        public System.DateTime MappingDate {
            get {
                return this.mappingDateField;
            }
            set {
                this.mappingDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MappingDateSpecified {
            get {
                return this.mappingDateFieldSpecified;
            }
            set {
                this.mappingDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string originalTermID {
            get {
                return this.originalTermIDField;
            }
            set {
                this.originalTermIDField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TVATermDefinitionType : TVATermDefinitionBaseType {
        
        private TVATermDefinitionTypeTerm[] termField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Term")]
        public TVATermDefinitionTypeTerm[] Term {
            get {
                return this.termField;
            }
            set {
                this.termField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class TVATermDefinitionTypeTerm : TVATermDefinitionType {
        
        private string relationField;
        
        public TVATermDefinitionTypeTerm() {
            this.relationField = "NT";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute("NT")]
        public string relation {
            get {
                return this.relationField;
            }
            set {
                this.relationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TermDefinitionType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public abstract partial class TermDefinitionBaseType : DSType {
        
        private TermDefinitionBaseTypeName[] nameField;
        
        private TextualType[] definitionField;
        
        private string termIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Name")]
        public TermDefinitionBaseTypeName[] Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Definition")]
        public TextualType[] Definition {
            get {
                return this.definitionField;
            }
            set {
                this.definitionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="NMTOKEN")]
        public string termID {
            get {
                return this.termIDField;
            }
            set {
                this.termIDField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class TermDefinitionBaseTypeName : TextualType {
        
        private bool preferredField;
        
        private bool preferredFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool preferred {
            get {
                return this.preferredField;
            }
            set {
                this.preferredField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool preferredSpecified {
            get {
                return this.preferredFieldSpecified;
            }
            set {
                this.preferredFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class TermDefinitionType : TermDefinitionBaseType {
        
        private TermDefinitionTypeTerm[] termField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Term")]
        public TermDefinitionTypeTerm[] Term {
            get {
                return this.termField;
            }
            set {
                this.termField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class TermDefinitionTypeTerm : TermDefinitionType {
        
        private string relationField;
        
        public TermDefinitionTypeTerm() {
            this.relationField = "NT";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute("NT")]
        public string relation {
            get {
                return this.relationField;
            }
            set {
                this.relationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVAClassificationSchemeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationSchemeType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public abstract partial class ClassificationSchemeBaseType : DSType {
        
        private ReferenceType[] importField;
        
        private string uriField;
        
        private string[] domainField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Import")]
        public ReferenceType[] Import {
            get {
                return this.importField;
            }
            set {
                this.importField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string uri {
            get {
                return this.uriField;
            }
            set {
                this.uriField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="token")]
        public string[] domain {
            get {
                return this.domainField;
            }
            set {
                this.domainField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TVAClassificationSchemeType : ClassificationSchemeBaseType {
        
        private TVATermDefinitionType[] termField;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Term")]
        public TVATermDefinitionType[] Term {
            get {
                return this.termField;
            }
            set {
                this.termField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class ClassificationSchemeType : ClassificationSchemeBaseType {
        
        private TermDefinitionType[] termField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Term")]
        public TermDefinitionType[] Term {
            get {
                return this.termField;
            }
            set {
                this.termField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TVAPlaceType : PlaceType {
        
        private bool fictionalField;
        
        public TVAPlaceType() {
            this.fictionalField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool fictional {
            get {
                return this.fictionalField;
            }
            set {
                this.fictionalField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:mpeg7:2008")]
    public partial class PreferenceConditionTypeTime : TimeType {
        
        private string recurrenceField;
        
        private string numOfRecurrencesField;
        
        public PreferenceConditionTypeTime() {
            this.recurrenceField = "none";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute("none")]
        public string recurrence {
            get {
                return this.recurrenceField;
            }
            set {
                this.recurrenceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string numOfRecurrences {
            get {
                return this.numOfRecurrencesField;
            }
            set {
                this.numOfRecurrencesField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ProgramDescriptionType {
        
        private ProgramInformationTableType programInformationTableField;
        
        private GroupInformationTableType groupInformationTableField;
        
        private ProgramLocationTableType programLocationTableField;
        
        private ServiceInformationTableType serviceInformationTableField;
        
        private CreditsInformationTableType creditsInformationTableField;
        
        private ProgramReviewTableType programReviewTableField;
        
        private SegmentInformationTableType segmentInformationTableField;
        
        private PurchaseInformationTableType purchaseInformationTableField;
        
        private RightsInformationTableType rightsInformationTableField;
        
        /// <remarks/>
        public ProgramInformationTableType ProgramInformationTable {
            get {
                return this.programInformationTableField;
            }
            set {
                this.programInformationTableField = value;
            }
        }
        
        /// <remarks/>
        public GroupInformationTableType GroupInformationTable {
            get {
                return this.groupInformationTableField;
            }
            set {
                this.groupInformationTableField = value;
            }
        }
        
        /// <remarks/>
        public ProgramLocationTableType ProgramLocationTable {
            get {
                return this.programLocationTableField;
            }
            set {
                this.programLocationTableField = value;
            }
        }
        
        /// <remarks/>
        public ServiceInformationTableType ServiceInformationTable {
            get {
                return this.serviceInformationTableField;
            }
            set {
                this.serviceInformationTableField = value;
            }
        }
        
        /// <remarks/>
        public CreditsInformationTableType CreditsInformationTable {
            get {
                return this.creditsInformationTableField;
            }
            set {
                this.creditsInformationTableField = value;
            }
        }
        
        /// <remarks/>
        public ProgramReviewTableType ProgramReviewTable {
            get {
                return this.programReviewTableField;
            }
            set {
                this.programReviewTableField = value;
            }
        }
        
        /// <remarks/>
        public SegmentInformationTableType SegmentInformationTable {
            get {
                return this.segmentInformationTableField;
            }
            set {
                this.segmentInformationTableField = value;
            }
        }
        
        /// <remarks/>
        public PurchaseInformationTableType PurchaseInformationTable {
            get {
                return this.purchaseInformationTableField;
            }
            set {
                this.purchaseInformationTableField = value;
            }
        }
        
        /// <remarks/>
        public RightsInformationTableType RightsInformationTable {
            get {
                return this.rightsInformationTableField;
            }
            set {
                this.rightsInformationTableField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ProgramInformationTableType {
        
        private ProgramInformationType[] programInformationField;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProgramInformation")]
        public ProgramInformationType[] ProgramInformation {
            get {
                return this.programInformationField;
            }
            set {
                this.programInformationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ProgramInformationType {
        
        private BasicContentDescriptionType basicDescriptionField;
        
        private UniqueIDType[] otherIdentifierField;
        
        private AVAttributesType aVAttributesField;
        
        private MemberOfType[] memberOfField;
        
        private DerivedFromType derivedFromField;
        
        private EpisodeOfType episodeOfField;
        
        private string partOfAggregatedProgramField;
        
        private AggregationOfType aggregationOfField;
        
        private string programIdField;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        public BasicContentDescriptionType BasicDescription {
            get {
                return this.basicDescriptionField;
            }
            set {
                this.basicDescriptionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OtherIdentifier")]
        public UniqueIDType[] OtherIdentifier {
            get {
                return this.otherIdentifierField;
            }
            set {
                this.otherIdentifierField = value;
            }
        }
        
        /// <remarks/>
        public AVAttributesType AVAttributes {
            get {
                return this.aVAttributesField;
            }
            set {
                this.aVAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MemberOf")]
        public MemberOfType[] MemberOf {
            get {
                return this.memberOfField;
            }
            set {
                this.memberOfField = value;
            }
        }
        
        /// <remarks/>
        public DerivedFromType DerivedFrom {
            get {
                return this.derivedFromField;
            }
            set {
                this.derivedFromField = value;
            }
        }
        
        /// <remarks/>
        public EpisodeOfType EpisodeOf {
            get {
                return this.episodeOfField;
            }
            set {
                this.episodeOfField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string PartOfAggregatedProgram {
            get {
                return this.partOfAggregatedProgramField;
            }
            set {
                this.partOfAggregatedProgramField = value;
            }
        }
        
        /// <remarks/>
        public AggregationOfType AggregationOf {
            get {
                return this.aggregationOfField;
            }
            set {
                this.aggregationOfField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string programId {
            get {
                return this.programIdField;
            }
            set {
                this.programIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class BasicContentDescriptionType {
        
        private TitleType[] titleField;
        
        private TitleMediaType[] mediaTitleField;
        
        private ShortTitleType[] shortTitleField;
        
        private SynopsisType[] synopsisField;
        
        private TextualType[] promotionalInformationField;
        
        private KeywordType[] keywordField;
        
        private GenreType[] genreField;
        
        private TVAParentalGuidanceType[] parentalGuidanceField;
        
        private ExtendedLanguageType[] languageField;
        
        private CaptionLanguageType[] captionLanguageField;
        
        private SignLanguageType[] signLanguageField;
        
        private CreditsItemType[] creditsListField;
        
        private AwardsListItemType[] awardsListField;
        
        private RelatedMaterialType[] relatedMaterialField;
        
        private TVATimeType productionDateField;
        
        private string[] productionLocationField;
        
        private CreationCoordinatesType[] creationCoordinatesField;
        
        private DepictedCoordinatesType[] depictedCoordinatesField;
        
        private ReleaseInformationType[] releaseInformationField;
        
        private string durationField;
        
        private PurchaseListType purchaseListField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Title")]
        public TitleType[] Title {
            get {
                return this.titleField;
            }
            set {
                this.titleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaTitle")]
        public TitleMediaType[] MediaTitle {
            get {
                return this.mediaTitleField;
            }
            set {
                this.mediaTitleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ShortTitle")]
        public ShortTitleType[] ShortTitle {
            get {
                return this.shortTitleField;
            }
            set {
                this.shortTitleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Synopsis")]
        public SynopsisType[] Synopsis {
            get {
                return this.synopsisField;
            }
            set {
                this.synopsisField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PromotionalInformation")]
        public TextualType[] PromotionalInformation {
            get {
                return this.promotionalInformationField;
            }
            set {
                this.promotionalInformationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Keyword")]
        public KeywordType[] Keyword {
            get {
                return this.keywordField;
            }
            set {
                this.keywordField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Genre")]
        public GenreType[] Genre {
            get {
                return this.genreField;
            }
            set {
                this.genreField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ParentalGuidance")]
        public TVAParentalGuidanceType[] ParentalGuidance {
            get {
                return this.parentalGuidanceField;
            }
            set {
                this.parentalGuidanceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Language")]
        public ExtendedLanguageType[] Language {
            get {
                return this.languageField;
            }
            set {
                this.languageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CaptionLanguage")]
        public CaptionLanguageType[] CaptionLanguage {
            get {
                return this.captionLanguageField;
            }
            set {
                this.captionLanguageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SignLanguage")]
        public SignLanguageType[] SignLanguage {
            get {
                return this.signLanguageField;
            }
            set {
                this.signLanguageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("CreditsItem", IsNullable=false)]
        public CreditsItemType[] CreditsList {
            get {
                return this.creditsListField;
            }
            set {
                this.creditsListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("AwardsListItem", IsNullable=false)]
        public AwardsListItemType[] AwardsList {
            get {
                return this.awardsListField;
            }
            set {
                this.awardsListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedMaterial")]
        public RelatedMaterialType[] RelatedMaterial {
            get {
                return this.relatedMaterialField;
            }
            set {
                this.relatedMaterialField = value;
            }
        }
        
        /// <remarks/>
        public TVATimeType ProductionDate {
            get {
                return this.productionDateField;
            }
            set {
                this.productionDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProductionLocation")]
        public string[] ProductionLocation {
            get {
                return this.productionLocationField;
            }
            set {
                this.productionLocationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CreationCoordinates")]
        public CreationCoordinatesType[] CreationCoordinates {
            get {
                return this.creationCoordinatesField;
            }
            set {
                this.creationCoordinatesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DepictedCoordinates")]
        public DepictedCoordinatesType[] DepictedCoordinates {
            get {
                return this.depictedCoordinatesField;
            }
            set {
                this.depictedCoordinatesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ReleaseInformation")]
        public ReleaseInformationType[] ReleaseInformation {
            get {
                return this.releaseInformationField;
            }
            set {
                this.releaseInformationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="duration")]
        public string Duration {
            get {
                return this.durationField;
            }
            set {
                this.durationField = value;
            }
        }
        
        /// <remarks/>
        public PurchaseListType PurchaseList {
            get {
                return this.purchaseListField;
            }
            set {
                this.purchaseListField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class CaptionLanguageType {
        
        private bool primaryField;
        
        private bool primaryFieldSpecified;
        
        private bool translationField;
        
        private bool translationFieldSpecified;
        
        private bool closedField;
        
        private bool supplementalField;
        
        private string valueField;
        
        public CaptionLanguageType() {
            this.closedField = true;
            this.supplementalField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool primary {
            get {
                return this.primaryField;
            }
            set {
                this.primaryField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool primarySpecified {
            get {
                return this.primaryFieldSpecified;
            }
            set {
                this.primaryFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool translation {
            get {
                return this.translationField;
            }
            set {
                this.translationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool translationSpecified {
            get {
                return this.translationFieldSpecified;
            }
            set {
                this.translationFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool closed {
            get {
                return this.closedField;
            }
            set {
                this.closedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool supplemental {
            get {
                return this.supplementalField;
            }
            set {
                this.supplementalField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="language")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class SignLanguageType {
        
        private bool primaryField;
        
        private bool primaryFieldSpecified;
        
        private bool translationField;
        
        private bool translationFieldSpecified;
        
        private string typeField;
        
        private bool closedField;
        
        private bool closedFieldSpecified;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool primary {
            get {
                return this.primaryField;
            }
            set {
                this.primaryField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool primarySpecified {
            get {
                return this.primaryFieldSpecified;
            }
            set {
                this.primaryFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool translation {
            get {
                return this.translationField;
            }
            set {
                this.translationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool translationSpecified {
            get {
                return this.translationFieldSpecified;
            }
            set {
                this.translationFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool closed {
            get {
                return this.closedField;
            }
            set {
                this.closedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool closedSpecified {
            get {
                return this.closedFieldSpecified;
            }
            set {
                this.closedFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="language")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class CreditsItemType : TVAAgentType {
        
        private object[] items1Field;
        
        private RelatedMaterialType[] relatedMaterialField;
        
        private string roleField;
        
        private string indexField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Character", typeof(PersonNameType))]
        [System.Xml.Serialization.XmlElementAttribute("PresentationRole", typeof(TextualType))]
        public object[] Items1 {
            get {
                return this.items1Field;
            }
            set {
                this.items1Field = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedMaterial")]
        public RelatedMaterialType[] RelatedMaterial {
            get {
                return this.relatedMaterialField;
            }
            set {
                this.relatedMaterialField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string role {
            get {
                return this.roleField;
            }
            set {
                this.roleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string index {
            get {
                return this.indexField;
            }
            set {
                this.indexField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ReviewerType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CreditsItemType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TVAAgentType {
        
        private object[] itemsField;
        
        private ItemsChoiceType4[] itemsElementNameField;
        
        private TVAAgentTypeRelatedPerson[] relatedPersonField;
        
        private TVAAgentTypeRelatedOrganization[] relatedOrganizationField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BiographicalInformation", typeof(TVAAgentTypeBiographicalInformation))]
        [System.Xml.Serialization.XmlElementAttribute("OrganizationName", typeof(TextualType))]
        [System.Xml.Serialization.XmlElementAttribute("OrganizationNameIDRef", typeof(TVAIDRefElementType))]
        [System.Xml.Serialization.XmlElementAttribute("PersonName", typeof(TVAPersonNameType))]
        [System.Xml.Serialization.XmlElementAttribute("PersonNameIDRef", typeof(TVAIDRefElementType))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType4[] ItemsElementName {
            get {
                return this.itemsElementNameField;
            }
            set {
                this.itemsElementNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedPerson")]
        public TVAAgentTypeRelatedPerson[] RelatedPerson {
            get {
                return this.relatedPersonField;
            }
            set {
                this.relatedPersonField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedOrganization")]
        public TVAAgentTypeRelatedOrganization[] RelatedOrganization {
            get {
                return this.relatedOrganizationField;
            }
            set {
                this.relatedOrganizationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class TVAAgentTypeBiographicalInformation {
        
        private System.DateTime birthDateField;
        
        private bool birthDateFieldSpecified;
        
        private System.DateTime deathDateField;
        
        private bool deathDateFieldSpecified;
        
        private string[] nationalityField;
        
        private string[] occupationField;
        
        /// <remarks/>
        public System.DateTime BirthDate {
            get {
                return this.birthDateField;
            }
            set {
                this.birthDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BirthDateSpecified {
            get {
                return this.birthDateFieldSpecified;
            }
            set {
                this.birthDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime DeathDate {
            get {
                return this.deathDateField;
            }
            set {
                this.deathDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DeathDateSpecified {
            get {
                return this.deathDateFieldSpecified;
            }
            set {
                this.deathDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Nationality")]
        public string[] Nationality {
            get {
                return this.nationalityField;
            }
            set {
                this.nationalityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Occupation")]
        public string[] Occupation {
            get {
                return this.occupationField;
            }
            set {
                this.occupationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TVAIDRefElementType {
        
        private string refField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string @ref {
            get {
                return this.refField;
            }
            set {
                this.refField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024", IncludeInSchema=false)]
    public enum ItemsChoiceType4 {
        
        /// <remarks/>
        BiographicalInformation,
        
        /// <remarks/>
        OrganizationName,
        
        /// <remarks/>
        OrganizationNameIDRef,
        
        /// <remarks/>
        PersonName,
        
        /// <remarks/>
        PersonNameIDRef,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class TVAAgentTypeRelatedPerson {
        
        private object itemField;
        
        private string relationshipField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PersonName", typeof(TVAPersonNameType))]
        [System.Xml.Serialization.XmlElementAttribute("PersonNameIDRef", typeof(TVAIDRefElementType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string relationship {
            get {
                return this.relationshipField;
            }
            set {
                this.relationshipField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class TVAAgentTypeRelatedOrganization {
        
        private object itemField;
        
        private string relationshipField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OrganizationName", typeof(TextualType))]
        [System.Xml.Serialization.XmlElementAttribute("OrganizationNameIDRef", typeof(TVAIDRefElementType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string relationship {
            get {
                return this.relationshipField;
            }
            set {
                this.relationshipField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ReviewerType : TVAAgentType {
        
        private TextualType publicationField;
        
        /// <remarks/>
        public TextualType Publication {
            get {
                return this.publicationField;
            }
            set {
                this.publicationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class AwardsListItemType {
        
        private TextualType titleField;
        
        private string yearField;
        
        private AwardType[] awardField;
        
        /// <remarks/>
        public TextualType Title {
            get {
                return this.titleField;
            }
            set {
                this.titleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="gYear")]
        public string Year {
            get {
                return this.yearField;
            }
            set {
                this.yearField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Award")]
        public AwardType[] Award {
            get {
                return this.awardField;
            }
            set {
                this.awardField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class AwardType {
        
        private TextualType categoryField;
        
        private object itemField;
        
        private ItemChoiceType2 itemElementNameField;
        
        /// <remarks/>
        public TextualType Category {
            get {
                return this.categoryField;
            }
            set {
                this.categoryField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Awarded", typeof(bool))]
        [System.Xml.Serialization.XmlElementAttribute("Nominated", typeof(bool))]
        [System.Xml.Serialization.XmlElementAttribute("Nominee", typeof(CreditsItemType))]
        [System.Xml.Serialization.XmlElementAttribute("Recipient", typeof(CreditsItemType))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType2 ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024", IncludeInSchema=false)]
    public enum ItemChoiceType2 {
        
        /// <remarks/>
        Awarded,
        
        /// <remarks/>
        Nominated,
        
        /// <remarks/>
        Nominee,
        
        /// <remarks/>
        Recipient,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TVATimeType {
        
        private string timePointField;
        
        private string durationField;
        
        /// <remarks/>
        public string TimePoint {
            get {
                return this.timePointField;
            }
            set {
                this.timePointField = value;
            }
        }
        
        /// <remarks/>
        public string Duration {
            get {
                return this.durationField;
            }
            set {
                this.durationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class CreationCoordinatesType {
        
        private TVATimeType creationDateField;
        
        private string creationLocationField;
        
        /// <remarks/>
        public TVATimeType CreationDate {
            get {
                return this.creationDateField;
            }
            set {
                this.creationDateField = value;
            }
        }
        
        /// <remarks/>
        public string CreationLocation {
            get {
                return this.creationLocationField;
            }
            set {
                this.creationLocationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class DepictedCoordinatesType {
        
        private TVATimeType depictedDateField;
        
        private TVAPlaceType depictedLocationField;
        
        /// <remarks/>
        public TVATimeType DepictedDate {
            get {
                return this.depictedDateField;
            }
            set {
                this.depictedDateField = value;
            }
        }
        
        /// <remarks/>
        public TVAPlaceType DepictedLocation {
            get {
                return this.depictedLocationField;
            }
            set {
                this.depictedLocationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ReleaseInformationType {
        
        private ReleaseDateType releaseDateField;
        
        private string releaseLocationField;
        
        /// <remarks/>
        public ReleaseDateType ReleaseDate {
            get {
                return this.releaseDateField;
            }
            set {
                this.releaseDateField = value;
            }
        }
        
        /// <remarks/>
        public string ReleaseLocation {
            get {
                return this.releaseLocationField;
            }
            set {
                this.releaseLocationField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ReleaseDateType {
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DayAndYear", typeof(System.DateTime), DataType="date")]
        [System.Xml.Serialization.XmlElementAttribute("Year", typeof(string), DataType="gYear")]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class PurchaseListType {
        
        private object[] itemsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PurchaseIdRef", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("PurchaseItem", typeof(PurchaseItemType))]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PurchaseInformationType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class PurchaseItemType {
        
        private PriceType[] priceField;
        
        private PurchaseType[] purchaseField;
        
        private TextualType[] descriptionField;
        
        private string[] pricingServerURLField;
        
        private DRMDeclarationType dRMDeclarationField;
        
        private System.DateTime startField;
        
        private bool startFieldSpecified;
        
        private System.DateTime endField;
        
        private bool endFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Price")]
        public PriceType[] Price {
            get {
                return this.priceField;
            }
            set {
                this.priceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Purchase")]
        public PurchaseType[] Purchase {
            get {
                return this.purchaseField;
            }
            set {
                this.purchaseField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Description")]
        public TextualType[] Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PricingServerURL", DataType="anyURI")]
        public string[] PricingServerURL {
            get {
                return this.pricingServerURLField;
            }
            set {
                this.pricingServerURLField = value;
            }
        }
        
        /// <remarks/>
        public DRMDeclarationType DRMDeclaration {
            get {
                return this.dRMDeclarationField;
            }
            set {
                this.dRMDeclarationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime start {
            get {
                return this.startField;
            }
            set {
                this.startField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool startSpecified {
            get {
                return this.startFieldSpecified;
            }
            set {
                this.startFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime end {
            get {
                return this.endField;
            }
            set {
                this.endField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool endSpecified {
            get {
                return this.endFieldSpecified;
            }
            set {
                this.endFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class PriceType {
        
        private string currencyField;
        
        private float valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string currency {
            get {
                return this.currencyField;
            }
            set {
                this.currencyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public float Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class PurchaseType {
        
        private ControlledTermType purchaseType1Field;
        
        private ControlledTermType quantityUnitField;
        
        private PurchaseTypeQuantityRange quantityRangeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PurchaseType")]
        public ControlledTermType PurchaseType1 {
            get {
                return this.purchaseType1Field;
            }
            set {
                this.purchaseType1Field = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermType QuantityUnit {
            get {
                return this.quantityUnitField;
            }
            set {
                this.quantityUnitField = value;
            }
        }
        
        /// <remarks/>
        public PurchaseTypeQuantityRange QuantityRange {
            get {
                return this.quantityRangeField;
            }
            set {
                this.quantityRangeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class PurchaseTypeQuantityRange {
        
        private uint minField;
        
        private bool minFieldSpecified;
        
        private uint maxField;
        
        private bool maxFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint min {
            get {
                return this.minField;
            }
            set {
                this.minField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool minSpecified {
            get {
                return this.minFieldSpecified;
            }
            set {
                this.minFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint max {
            get {
                return this.maxField;
            }
            set {
                this.maxField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool maxSpecified {
            get {
                return this.maxFieldSpecified;
            }
            set {
                this.maxFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class DRMDeclarationType {
        
        private ExtendedURIType dRMField;
        
        private string itemField;
        
        private ItemChoiceType3 itemElementNameField;
        
        /// <remarks/>
        public ExtendedURIType DRM {
            get {
                return this.dRMField;
            }
            set {
                this.dRMField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LicenseExpression", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("LicenseLocator", typeof(string), DataType="anyURI")]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public string Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType3 ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024", IncludeInSchema=false)]
    public enum ItemChoiceType3 {
        
        /// <remarks/>
        LicenseExpression,
        
        /// <remarks/>
        LicenseLocator,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class PurchaseInformationType : PurchaseItemType {
        
        private string purchaseIdField;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string purchaseId {
            get {
                return this.purchaseIdField;
            }
            set {
                this.purchaseIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class MemberOfType : BaseMemberOfType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DerivedFromType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MemberOfType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(EpisodeOfType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class BaseMemberOfType : CRIDRefType {
        
        private ValidPeriodType[] timeLimitationField;
        
        private uint indexField;
        
        private bool indexFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TimeLimitation")]
        public ValidPeriodType[] TimeLimitation {
            get {
                return this.timeLimitationField;
            }
            set {
                this.timeLimitationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint index {
            get {
                return this.indexField;
            }
            set {
                this.indexField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool indexSpecified {
            get {
                return this.indexFieldSpecified;
            }
            set {
                this.indexFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ValidPeriodType {
        
        private System.DateTime validFromField;
        
        private bool validFromFieldSpecified;
        
        private System.DateTime validToField;
        
        private bool validToFieldSpecified;
        
        /// <remarks/>
        public System.DateTime ValidFrom {
            get {
                return this.validFromField;
            }
            set {
                this.validFromField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ValidFromSpecified {
            get {
                return this.validFromFieldSpecified;
            }
            set {
                this.validFromFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime ValidTo {
            get {
                return this.validToField;
            }
            set {
                this.validToField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ValidToSpecified {
            get {
                return this.validToFieldSpecified;
            }
            set {
                this.validToFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseMemberOfType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DerivedFromType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MemberOfType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(EpisodeOfType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class CRIDRefType {
        
        private string cridField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string crid {
            get {
                return this.cridField;
            }
            set {
                this.cridField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class DerivedFromType : BaseMemberOfType {
        
        private GenericDerivationReasonType[] derivationReasonField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DerivationReason")]
        public GenericDerivationReasonType[] DerivationReason {
            get {
                return this.derivationReasonField;
            }
            set {
                this.derivationReasonField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class GenericDerivationReasonType : BaseDerivationReasonType {
        
        private ControlledTermType[] classifierField;
        
        private TextualType[] descriptionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Classifier")]
        public ControlledTermType[] Classifier {
            get {
                return this.classifierField;
            }
            set {
                this.classifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Description")]
        public TextualType[] Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GenericDerivationReasonType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DerivationReasonType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public abstract partial class BaseDerivationReasonType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class DerivationReasonType : BaseDerivationReasonType {
        
        private DerivationReasonTypeValue valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public DerivationReasonTypeValue value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public enum DerivationReasonTypeValue {
        
        /// <remarks/>
        violence,
        
        /// <remarks/>
        language,
        
        /// <remarks/>
        sex,
        
        /// <remarks/>
        duration,
        
        /// <remarks/>
        other,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class EpisodeOfType : BaseMemberOfType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class AggregationOfType {
        
        private CRIDRefType[] aggregatedProgramField;
        
        private AggregationOfTypeType typeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AggregatedProgram")]
        public CRIDRefType[] AggregatedProgram {
            get {
                return this.aggregatedProgramField;
            }
            set {
                this.aggregatedProgramField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public AggregationOfTypeType type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public enum AggregationOfTypeType {
        
        /// <remarks/>
        omnibus,
        
        /// <remarks/>
        magazine,
        
        /// <remarks/>
        split,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class GroupInformationTableType {
        
        private GroupInformationType[] groupInformationField;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GroupInformation")]
        public GroupInformationType[] GroupInformation {
            get {
                return this.groupInformationField;
            }
            set {
                this.groupInformationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class GroupInformationType {
        
        private BaseProgramGroupTypeType groupTypeField;
        
        private BasicContentDescriptionType basicDescriptionField;
        
        private BaseMemberOfType[] memberOfField;
        
        private UniqueIDType[] otherIdentifierField;
        
        private string partOfAggregatedGroupField;
        
        private AggregationOfType aggregationOfField;
        
        private string groupIdField;
        
        private bool orderedField;
        
        private uint numOfItemsField;
        
        private bool numOfItemsFieldSpecified;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        private string[] serviceIDRefField;
        
        public GroupInformationType() {
            this.orderedField = false;
        }
        
        /// <remarks/>
        public BaseProgramGroupTypeType GroupType {
            get {
                return this.groupTypeField;
            }
            set {
                this.groupTypeField = value;
            }
        }
        
        /// <remarks/>
        public BasicContentDescriptionType BasicDescription {
            get {
                return this.basicDescriptionField;
            }
            set {
                this.basicDescriptionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MemberOf")]
        public BaseMemberOfType[] MemberOf {
            get {
                return this.memberOfField;
            }
            set {
                this.memberOfField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OtherIdentifier")]
        public UniqueIDType[] OtherIdentifier {
            get {
                return this.otherIdentifierField;
            }
            set {
                this.otherIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string PartOfAggregatedGroup {
            get {
                return this.partOfAggregatedGroupField;
            }
            set {
                this.partOfAggregatedGroupField = value;
            }
        }
        
        /// <remarks/>
        public AggregationOfType AggregationOf {
            get {
                return this.aggregationOfField;
            }
            set {
                this.aggregationOfField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string groupId {
            get {
                return this.groupIdField;
            }
            set {
                this.groupIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool ordered {
            get {
                return this.orderedField;
            }
            set {
                this.orderedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint numOfItems {
            get {
                return this.numOfItemsField;
            }
            set {
                this.numOfItemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool numOfItemsSpecified {
            get {
                return this.numOfItemsFieldSpecified;
            }
            set {
                this.numOfItemsFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string[] serviceIDRef {
            get {
                return this.serviceIDRefField;
            }
            set {
                this.serviceIDRefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ProgramGroupTypeType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public abstract partial class BaseProgramGroupTypeType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ProgramGroupTypeType : BaseProgramGroupTypeType {
        
        private ProgramGroupTypeTypeValue valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ProgramGroupTypeTypeValue value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public enum ProgramGroupTypeTypeValue {
        
        /// <remarks/>
        series,
        
        /// <remarks/>
        show,
        
        /// <remarks/>
        programConcept,
        
        /// <remarks/>
        programCompilation,
        
        /// <remarks/>
        otherCollection,
        
        /// <remarks/>
        otherChoice,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mini-series")]
        miniseries,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("sub-series")]
        subseries,
        
        /// <remarks/>
        season,
        
        /// <remarks/>
        brand,
        
        /// <remarks/>
        automaticAcquisitionThemed,
        
        /// <remarks/>
        automaticAcquisitionNonThemed,
        
        /// <remarks/>
        clip,
        
        /// <remarks/>
        application,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ProgramLocationTableType {
        
        private ScheduleType[] scheduleField;
        
        private BroadcastEventType[] broadcastEventField;
        
        private OnDemandProgramType[] onDemandProgramField;
        
        private OnDemandServiceType[] onDemandServiceField;
        
        private PushDownloadType[] pushDownloadProgramField;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Schedule")]
        public ScheduleType[] Schedule {
            get {
                return this.scheduleField;
            }
            set {
                this.scheduleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BroadcastEvent")]
        public BroadcastEventType[] BroadcastEvent {
            get {
                return this.broadcastEventField;
            }
            set {
                this.broadcastEventField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OnDemandProgram")]
        public OnDemandProgramType[] OnDemandProgram {
            get {
                return this.onDemandProgramField;
            }
            set {
                this.onDemandProgramField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OnDemandService")]
        public OnDemandServiceType[] OnDemandService {
            get {
                return this.onDemandServiceField;
            }
            set {
                this.onDemandServiceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PushDownloadProgram")]
        public PushDownloadType[] PushDownloadProgram {
            get {
                return this.pushDownloadProgramField;
            }
            set {
                this.pushDownloadProgramField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ScheduleType {
        
        private ScheduleEventType[] scheduleEventField;
        
        private string[] serviceIDRefField;
        
        private System.DateTime startField;
        
        private bool startFieldSpecified;
        
        private System.DateTime endField;
        
        private bool endFieldSpecified;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ScheduleEvent")]
        public ScheduleEventType[] ScheduleEvent {
            get {
                return this.scheduleEventField;
            }
            set {
                this.scheduleEventField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string[] serviceIDRef {
            get {
                return this.serviceIDRefField;
            }
            set {
                this.serviceIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime start {
            get {
                return this.startField;
            }
            set {
                this.startField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool startSpecified {
            get {
                return this.startFieldSpecified;
            }
            set {
                this.startFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime end {
            get {
                return this.endField;
            }
            set {
                this.endField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool endSpecified {
            get {
                return this.endFieldSpecified;
            }
            set {
                this.endFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BroadcastEventType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ScheduleEventType : ProgramLocationType {
        
        private System.DateTime publishedStartTimeField;
        
        private bool publishedStartTimeFieldSpecified;
        
        private System.DateTime publishedEndTimeField;
        
        private bool publishedEndTimeFieldSpecified;
        
        private string publishedDurationField;
        
        private System.DateTime actualStartTimeField;
        
        private bool actualStartTimeFieldSpecified;
        
        private System.DateTime actualEndTimeField;
        
        private bool actualEndTimeFieldSpecified;
        
        private string actualDurationField;
        
        private FlagType liveField;
        
        private FlagType repeatField;
        
        private FlagType firstShowingField;
        
        private FlagType lastShowingField;
        
        private FlagType freeField;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        public System.DateTime PublishedStartTime {
            get {
                return this.publishedStartTimeField;
            }
            set {
                this.publishedStartTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PublishedStartTimeSpecified {
            get {
                return this.publishedStartTimeFieldSpecified;
            }
            set {
                this.publishedStartTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime PublishedEndTime {
            get {
                return this.publishedEndTimeField;
            }
            set {
                this.publishedEndTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PublishedEndTimeSpecified {
            get {
                return this.publishedEndTimeFieldSpecified;
            }
            set {
                this.publishedEndTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="duration")]
        public string PublishedDuration {
            get {
                return this.publishedDurationField;
            }
            set {
                this.publishedDurationField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime ActualStartTime {
            get {
                return this.actualStartTimeField;
            }
            set {
                this.actualStartTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ActualStartTimeSpecified {
            get {
                return this.actualStartTimeFieldSpecified;
            }
            set {
                this.actualStartTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime ActualEndTime {
            get {
                return this.actualEndTimeField;
            }
            set {
                this.actualEndTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ActualEndTimeSpecified {
            get {
                return this.actualEndTimeFieldSpecified;
            }
            set {
                this.actualEndTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="duration")]
        public string ActualDuration {
            get {
                return this.actualDurationField;
            }
            set {
                this.actualDurationField = value;
            }
        }
        
        /// <remarks/>
        public FlagType Live {
            get {
                return this.liveField;
            }
            set {
                this.liveField = value;
            }
        }
        
        /// <remarks/>
        public FlagType Repeat {
            get {
                return this.repeatField;
            }
            set {
                this.repeatField = value;
            }
        }
        
        /// <remarks/>
        public FlagType FirstShowing {
            get {
                return this.firstShowingField;
            }
            set {
                this.firstShowingField = value;
            }
        }
        
        /// <remarks/>
        public FlagType LastShowing {
            get {
                return this.lastShowingField;
            }
            set {
                this.lastShowingField = value;
            }
        }
        
        /// <remarks/>
        public FlagType Free {
            get {
                return this.freeField;
            }
            set {
                this.freeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class FlagType {
        
        private bool valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PushDownloadType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OnDemandProgramType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ScheduleEventType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BroadcastEventType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public abstract partial class ProgramLocationType {
        
        private CRIDRefType programField;
        
        private ExtendedURIType[] programURLField;
        
        private ExtendedURIType[] auxiliaryURLField;
        
        private string instanceMetadataIdField;
        
        private InstanceDescriptionType[] instanceDescriptionField;
        
        /// <remarks/>
        public CRIDRefType Program {
            get {
                return this.programField;
            }
            set {
                this.programField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProgramURL")]
        public ExtendedURIType[] ProgramURL {
            get {
                return this.programURLField;
            }
            set {
                this.programURLField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AuxiliaryURL")]
        public ExtendedURIType[] AuxiliaryURL {
            get {
                return this.auxiliaryURLField;
            }
            set {
                this.auxiliaryURLField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string InstanceMetadataId {
            get {
                return this.instanceMetadataIdField;
            }
            set {
                this.instanceMetadataIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("InstanceDescription")]
        public InstanceDescriptionType[] InstanceDescription {
            get {
                return this.instanceDescriptionField;
            }
            set {
                this.instanceDescriptionField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class InstanceDescriptionType {
        
        private TitleType[] titleField;
        
        private SynopsisType[] synopsisField;
        
        private GenreType[] genreField;
        
        private PurchaseListType purchaseListField;
        
        private CaptionLanguageType[] captionLanguageField;
        
        private SignLanguageType[] signLanguageField;
        
        private TVAParentalGuidanceType[] parentalGuidanceField;
        
        private AVAttributesType aVAttributesField;
        
        private BaseMemberOfType[] memberOfField;
        
        private UniqueIDType[] otherIdentifierField;
        
        private RelatedMaterialType[] relatedMaterialField;
        
        private string serviceInstanceIDField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Title")]
        public TitleType[] Title {
            get {
                return this.titleField;
            }
            set {
                this.titleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Synopsis")]
        public SynopsisType[] Synopsis {
            get {
                return this.synopsisField;
            }
            set {
                this.synopsisField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Genre")]
        public GenreType[] Genre {
            get {
                return this.genreField;
            }
            set {
                this.genreField = value;
            }
        }
        
        /// <remarks/>
        public PurchaseListType PurchaseList {
            get {
                return this.purchaseListField;
            }
            set {
                this.purchaseListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CaptionLanguage")]
        public CaptionLanguageType[] CaptionLanguage {
            get {
                return this.captionLanguageField;
            }
            set {
                this.captionLanguageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SignLanguage")]
        public SignLanguageType[] SignLanguage {
            get {
                return this.signLanguageField;
            }
            set {
                this.signLanguageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ParentalGuidance")]
        public TVAParentalGuidanceType[] ParentalGuidance {
            get {
                return this.parentalGuidanceField;
            }
            set {
                this.parentalGuidanceField = value;
            }
        }
        
        /// <remarks/>
        public AVAttributesType AVAttributes {
            get {
                return this.aVAttributesField;
            }
            set {
                this.aVAttributesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MemberOf")]
        public BaseMemberOfType[] MemberOf {
            get {
                return this.memberOfField;
            }
            set {
                this.memberOfField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OtherIdentifier")]
        public UniqueIDType[] OtherIdentifier {
            get {
                return this.otherIdentifierField;
            }
            set {
                this.otherIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedMaterial")]
        public RelatedMaterialType[] RelatedMaterial {
            get {
                return this.relatedMaterialField;
            }
            set {
                this.relatedMaterialField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string serviceInstanceID {
            get {
                return this.serviceInstanceIDField;
            }
            set {
                this.serviceInstanceIDField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class PushDownloadType : ProgramLocationType {
        
        private string publishedDurationField;
        
        private System.DateTime startOfAvailabilityField;
        
        private bool startOfAvailabilityFieldSpecified;
        
        private System.DateTime endOfAvailabilityField;
        
        private bool endOfAvailabilityFieldSpecified;
        
        private byte contentVersionField;
        
        private bool contentVersionFieldSpecified;
        
        private System.DateTime expiryTimeField;
        
        private bool expiryTimeFieldSpecified;
        
        private System.DateTime activationTimeField;
        
        private bool activationTimeFieldSpecified;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        private string[] serviceIDRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="duration")]
        public string PublishedDuration {
            get {
                return this.publishedDurationField;
            }
            set {
                this.publishedDurationField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime StartOfAvailability {
            get {
                return this.startOfAvailabilityField;
            }
            set {
                this.startOfAvailabilityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool StartOfAvailabilitySpecified {
            get {
                return this.startOfAvailabilityFieldSpecified;
            }
            set {
                this.startOfAvailabilityFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime EndOfAvailability {
            get {
                return this.endOfAvailabilityField;
            }
            set {
                this.endOfAvailabilityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EndOfAvailabilitySpecified {
            get {
                return this.endOfAvailabilityFieldSpecified;
            }
            set {
                this.endOfAvailabilityFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public byte ContentVersion {
            get {
                return this.contentVersionField;
            }
            set {
                this.contentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ContentVersionSpecified {
            get {
                return this.contentVersionFieldSpecified;
            }
            set {
                this.contentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime ExpiryTime {
            get {
                return this.expiryTimeField;
            }
            set {
                this.expiryTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExpiryTimeSpecified {
            get {
                return this.expiryTimeFieldSpecified;
            }
            set {
                this.expiryTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime ActivationTime {
            get {
                return this.activationTimeField;
            }
            set {
                this.activationTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ActivationTimeSpecified {
            get {
                return this.activationTimeFieldSpecified;
            }
            set {
                this.activationTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string[] serviceIDRef {
            get {
                return this.serviceIDRefField;
            }
            set {
                this.serviceIDRefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class OnDemandProgramType : ProgramLocationType {
        
        private string publishedDurationField;
        
        private System.DateTime startOfAvailabilityField;
        
        private bool startOfAvailabilityFieldSpecified;
        
        private System.DateTime endOfAvailabilityField;
        
        private bool endOfAvailabilityFieldSpecified;
        
        private FlagType firstAvailabilityField;
        
        private FlagType lastAvailabilityField;
        
        private FlagType immediateViewingField;
        
        private DeliveryModeType deliveryModeField;
        
        private bool deliveryModeFieldSpecified;
        
        private byte contentVersionField;
        
        private bool contentVersionFieldSpecified;
        
        private System.DateTime expiryTimeField;
        
        private bool expiryTimeFieldSpecified;
        
        private FlagType earlyPlayoutField;
        
        private FlagType freeField;
        
        private string expiryTimeAfterFirsStartField;
        
        private System.DateTime embargoTimeField;
        
        private bool embargoTimeFieldSpecified;
        
        private int maxNumberOfDownloadsField;
        
        private bool maxNumberOfDownloadsFieldSpecified;
        
        private string expiryTimeAfterDownloadField;
        
        private string expiryTimeAfterDownloadFirstStartField;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        private string[] serviceIDRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="duration")]
        public string PublishedDuration {
            get {
                return this.publishedDurationField;
            }
            set {
                this.publishedDurationField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime StartOfAvailability {
            get {
                return this.startOfAvailabilityField;
            }
            set {
                this.startOfAvailabilityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool StartOfAvailabilitySpecified {
            get {
                return this.startOfAvailabilityFieldSpecified;
            }
            set {
                this.startOfAvailabilityFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime EndOfAvailability {
            get {
                return this.endOfAvailabilityField;
            }
            set {
                this.endOfAvailabilityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EndOfAvailabilitySpecified {
            get {
                return this.endOfAvailabilityFieldSpecified;
            }
            set {
                this.endOfAvailabilityFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public FlagType FirstAvailability {
            get {
                return this.firstAvailabilityField;
            }
            set {
                this.firstAvailabilityField = value;
            }
        }
        
        /// <remarks/>
        public FlagType LastAvailability {
            get {
                return this.lastAvailabilityField;
            }
            set {
                this.lastAvailabilityField = value;
            }
        }
        
        /// <remarks/>
        public FlagType ImmediateViewing {
            get {
                return this.immediateViewingField;
            }
            set {
                this.immediateViewingField = value;
            }
        }
        
        /// <remarks/>
        public DeliveryModeType DeliveryMode {
            get {
                return this.deliveryModeField;
            }
            set {
                this.deliveryModeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DeliveryModeSpecified {
            get {
                return this.deliveryModeFieldSpecified;
            }
            set {
                this.deliveryModeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public byte ContentVersion {
            get {
                return this.contentVersionField;
            }
            set {
                this.contentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ContentVersionSpecified {
            get {
                return this.contentVersionFieldSpecified;
            }
            set {
                this.contentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime ExpiryTime {
            get {
                return this.expiryTimeField;
            }
            set {
                this.expiryTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExpiryTimeSpecified {
            get {
                return this.expiryTimeFieldSpecified;
            }
            set {
                this.expiryTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public FlagType EarlyPlayout {
            get {
                return this.earlyPlayoutField;
            }
            set {
                this.earlyPlayoutField = value;
            }
        }
        
        /// <remarks/>
        public FlagType Free {
            get {
                return this.freeField;
            }
            set {
                this.freeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="duration")]
        public string ExpiryTimeAfterFirsStart {
            get {
                return this.expiryTimeAfterFirsStartField;
            }
            set {
                this.expiryTimeAfterFirsStartField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime EmbargoTime {
            get {
                return this.embargoTimeField;
            }
            set {
                this.embargoTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EmbargoTimeSpecified {
            get {
                return this.embargoTimeFieldSpecified;
            }
            set {
                this.embargoTimeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public int MaxNumberOfDownloads {
            get {
                return this.maxNumberOfDownloadsField;
            }
            set {
                this.maxNumberOfDownloadsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MaxNumberOfDownloadsSpecified {
            get {
                return this.maxNumberOfDownloadsFieldSpecified;
            }
            set {
                this.maxNumberOfDownloadsFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="duration")]
        public string ExpiryTimeAfterDownload {
            get {
                return this.expiryTimeAfterDownloadField;
            }
            set {
                this.expiryTimeAfterDownloadField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="duration")]
        public string ExpiryTimeAfterDownloadFirstStart {
            get {
                return this.expiryTimeAfterDownloadFirstStartField;
            }
            set {
                this.expiryTimeAfterDownloadFirstStartField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string[] serviceIDRef {
            get {
                return this.serviceIDRefField;
            }
            set {
                this.serviceIDRefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public enum DeliveryModeType {
        
        /// <remarks/>
        streaming,
        
        /// <remarks/>
        download,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class BroadcastEventType : ScheduleEventType {
        
        private string[] serviceIDRefField;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string[] serviceIDRef {
            get {
                return this.serviceIDRefField;
            }
            set {
                this.serviceIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class OnDemandServiceType {
        
        private OnDemandProgramType[] onDemandProgramField;
        
        private string[] serviceIDRefField;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OnDemandProgram")]
        public OnDemandProgramType[] OnDemandProgram {
            get {
                return this.onDemandProgramField;
            }
            set {
                this.onDemandProgramField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string[] serviceIDRef {
            get {
                return this.serviceIDRefField;
            }
            set {
                this.serviceIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ServiceInformationTableType {
        
        private ServiceInformationType[] serviceInformationField;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceInformation")]
        public ServiceInformationType[] ServiceInformation {
            get {
                return this.serviceInformationField;
            }
            set {
                this.serviceInformationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ServiceInformationType {
        
        private ServiceInformationNameType[] nameField;
        
        private string[] ownerField;
        
        private ServiceInformationTypeServiceURL[] serviceURLField;
        
        private ControlledTermUseType[] serviceTypeField;
        
        private TVAMediaLocatorType[] logoField;
        
        private SynopsisType[] serviceDescriptionField;
        
        private GenreType[] serviceGenreField;
        
        private string[] serviceLanguageField;
        
        private ServiceRefType[] parentServiceField;
        
        private RelatedMaterialType[] relatedMaterialField;
        
        private PurchaseListType purchaseListField;
        
        private string[] groupPurchaseIDRefField;
        
        private string serviceIdField;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Name")]
        public ServiceInformationNameType[] Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Owner")]
        public string[] Owner {
            get {
                return this.ownerField;
            }
            set {
                this.ownerField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceURL")]
        public ServiceInformationTypeServiceURL[] ServiceURL {
            get {
                return this.serviceURLField;
            }
            set {
                this.serviceURLField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceType")]
        public ControlledTermUseType[] ServiceType {
            get {
                return this.serviceTypeField;
            }
            set {
                this.serviceTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Logo")]
        public TVAMediaLocatorType[] Logo {
            get {
                return this.logoField;
            }
            set {
                this.logoField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceDescription")]
        public SynopsisType[] ServiceDescription {
            get {
                return this.serviceDescriptionField;
            }
            set {
                this.serviceDescriptionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceGenre")]
        public GenreType[] ServiceGenre {
            get {
                return this.serviceGenreField;
            }
            set {
                this.serviceGenreField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceLanguage", DataType="language")]
        public string[] ServiceLanguage {
            get {
                return this.serviceLanguageField;
            }
            set {
                this.serviceLanguageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ParentService")]
        public ServiceRefType[] ParentService {
            get {
                return this.parentServiceField;
            }
            set {
                this.parentServiceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedMaterial")]
        public RelatedMaterialType[] RelatedMaterial {
            get {
                return this.relatedMaterialField;
            }
            set {
                this.relatedMaterialField = value;
            }
        }
        
        /// <remarks/>
        public PurchaseListType PurchaseList {
            get {
                return this.purchaseListField;
            }
            set {
                this.purchaseListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GroupPurchaseIDRef")]
        public string[] GroupPurchaseIDRef {
            get {
                return this.groupPurchaseIDRefField;
            }
            set {
                this.groupPurchaseIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string serviceId {
            get {
                return this.serviceIdField;
            }
            set {
                this.serviceIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class ServiceInformationTypeServiceURL {
        
        private ServiceInformationTypeServiceURLName nameField;
        
        private bool nameFieldSpecified;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ServiceInformationTypeServiceURLName name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool nameSpecified {
            get {
                return this.nameFieldSpecified;
            }
            set {
                this.nameFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="anyURI")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public enum ServiceInformationTypeServiceURLName {
        
        /// <remarks/>
        DTT,
        
        /// <remarks/>
        CATV,
        
        /// <remarks/>
        DTH,
        
        /// <remarks/>
        WWW,
        
        /// <remarks/>
        IPTV,
        
        /// <remarks/>
        other,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ServiceRefType {
        
        private ValidPeriodType[] validPeriodField;
        
        private string serviceIDRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ValidPeriod")]
        public ValidPeriodType[] ValidPeriod {
            get {
                return this.validPeriodField;
            }
            set {
                this.validPeriodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string serviceIDRef {
            get {
                return this.serviceIDRefField;
            }
            set {
                this.serviceIDRefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class CreditsInformationTableType {
        
        private object[] itemsField;
        
        private string copyrightNoticeField;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OrganizationName", typeof(OrganizationNameType))]
        [System.Xml.Serialization.XmlElementAttribute("PersonName", typeof(PersonNameFragmentType))]
        public object[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string copyrightNotice {
            get {
                return this.copyrightNoticeField;
            }
            set {
                this.copyrightNoticeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ProgramReviewTableType {
        
        private ReviewType[] reviewField;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Review")]
        public ReviewType[] Review {
            get {
                return this.reviewField;
            }
            set {
                this.reviewField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class ReviewType : MediaReviewType {
        
        private string programIdField;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string programId {
            get {
                return this.programIdField;
            }
            set {
                this.programIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ReviewType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class MediaReviewType {
        
        private RatingType[] ratingField;
        
        private TextualType[] freeTextReviewField;
        
        private ReviewerType[] reviewerField;
        
        private ExtendedURIType reviewReferenceField;
        
        private UserIdentifierType[] targetField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Rating")]
        public RatingType[] Rating {
            get {
                return this.ratingField;
            }
            set {
                this.ratingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FreeTextReview")]
        public TextualType[] FreeTextReview {
            get {
                return this.freeTextReviewField;
            }
            set {
                this.freeTextReviewField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Reviewer")]
        public ReviewerType[] Reviewer {
            get {
                return this.reviewerField;
            }
            set {
                this.reviewerField = value;
            }
        }
        
        /// <remarks/>
        public ExtendedURIType ReviewReference {
            get {
                return this.reviewReferenceField;
            }
            set {
                this.reviewReferenceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Target")]
        public UserIdentifierType[] Target {
            get {
                return this.targetField;
            }
            set {
                this.targetField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class SegmentInformationTableType {
        
        private SegmentInformationType[] segmentListField;
        
        private SegmentGroupInformationType[] segmentGroupListField;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("SegmentInformation", IsNullable=false)]
        public SegmentInformationType[] SegmentList {
            get {
                return this.segmentListField;
            }
            set {
                this.segmentListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("SegmentGroupInformation", IsNullable=false)]
        public SegmentGroupInformationType[] SegmentGroupList {
            get {
                return this.segmentGroupListField;
            }
            set {
                this.segmentGroupListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class SegmentInformationType {
        
        private CRIDRefType programRefField;
        
        private string[] instanceMetadataIdRefField;
        
        private TimeBaseReferenceType timeBaseReferenceField;
        
        private BasicSegmentDescriptionType descriptionField;
        
        private TVAMediaTimeType segmentLocatorField;
        
        private TVAMediaTimeType[] keyFrameLocatorField;
        
        private UniqueIDType[] otherIdentifierField;
        
        private string segmentIdField;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        private bool isSkippableField;
        
        private bool isSkippableFieldSpecified;
        
        private bool isPrintableField;
        
        private bool isPrintableFieldSpecified;
        
        /// <remarks/>
        public CRIDRefType ProgramRef {
            get {
                return this.programRefField;
            }
            set {
                this.programRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("InstanceMetadataIdRef", DataType="anyURI")]
        public string[] InstanceMetadataIdRef {
            get {
                return this.instanceMetadataIdRefField;
            }
            set {
                this.instanceMetadataIdRefField = value;
            }
        }
        
        /// <remarks/>
        public TimeBaseReferenceType TimeBaseReference {
            get {
                return this.timeBaseReferenceField;
            }
            set {
                this.timeBaseReferenceField = value;
            }
        }
        
        /// <remarks/>
        public BasicSegmentDescriptionType Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public TVAMediaTimeType SegmentLocator {
            get {
                return this.segmentLocatorField;
            }
            set {
                this.segmentLocatorField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("KeyFrameLocator")]
        public TVAMediaTimeType[] KeyFrameLocator {
            get {
                return this.keyFrameLocatorField;
            }
            set {
                this.keyFrameLocatorField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OtherIdentifier")]
        public UniqueIDType[] OtherIdentifier {
            get {
                return this.otherIdentifierField;
            }
            set {
                this.otherIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string segmentId {
            get {
                return this.segmentIdField;
            }
            set {
                this.segmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool isSkippable {
            get {
                return this.isSkippableField;
            }
            set {
                this.isSkippableField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool isSkippableSpecified {
            get {
                return this.isSkippableFieldSpecified;
            }
            set {
                this.isSkippableFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool isPrintable {
            get {
                return this.isPrintableField;
            }
            set {
                this.isPrintableField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool isPrintableSpecified {
            get {
                return this.isPrintableFieldSpecified;
            }
            set {
                this.isPrintableFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TimeBaseReferenceType {
        
        private object itemField;
        
        private string timebaseIdField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaRelIncrTimePoint", typeof(MediaRelIncrTimePointType))]
        [System.Xml.Serialization.XmlElementAttribute("MediaTimePoint", typeof(string))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string timebaseId {
            get {
                return this.timebaseIdField;
            }
            set {
                this.timebaseIdField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TVAMediaRelIncrTimePointType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaRelIncrTimePointType {
        
        private string mediaTimeUnitField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string mediaTimeUnit {
            get {
                return this.mediaTimeUnitField;
            }
            set {
                this.mediaTimeUnitField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="integer")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TVAMediaRelIncrTimePointType : MediaRelIncrTimePointType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class BasicSegmentDescriptionType {
        
        private TitleType[] titleField;
        
        private SynopsisType[] synopsisField;
        
        private GenreType[] genreField;
        
        private KeywordType[] keywordField;
        
        private RelatedMaterialType[] relatedMaterialField;
        
        private CreditsItemType[] creditsListField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Title")]
        public TitleType[] Title {
            get {
                return this.titleField;
            }
            set {
                this.titleField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Synopsis")]
        public SynopsisType[] Synopsis {
            get {
                return this.synopsisField;
            }
            set {
                this.synopsisField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Genre")]
        public GenreType[] Genre {
            get {
                return this.genreField;
            }
            set {
                this.genreField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Keyword")]
        public KeywordType[] Keyword {
            get {
                return this.keywordField;
            }
            set {
                this.keywordField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedMaterial")]
        public RelatedMaterialType[] RelatedMaterial {
            get {
                return this.relatedMaterialField;
            }
            set {
                this.relatedMaterialField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("CreditsItem", IsNullable=false)]
        public CreditsItemType[] CreditsList {
            get {
                return this.creditsListField;
            }
            set {
                this.creditsListField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class TVAMediaTimeType {
        
        private object itemField;
        
        private object item1Field;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaRelIncrTimePoint", typeof(TVAMediaRelIncrTimePointType))]
        [System.Xml.Serialization.XmlElementAttribute("MediaRelTimePoint", typeof(MediaRelTimePointType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaDuration", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("MediaIncrDuration", typeof(MediaIncrDurationType))]
        public object Item1 {
            get {
                return this.item1Field;
            }
            set {
                this.item1Field = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:mpeg7:2008")]
    public partial class MediaRelTimePointType {
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class SegmentGroupInformationType {
        
        private CRIDRefType programRefField;
        
        private TimeBaseReferenceType timeBaseReferenceField;
        
        private BaseSegmentGroupTypeType[] groupTypeField;
        
        private BasicSegmentDescriptionType descriptionField;
        
        private GroupIntervalType groupIntervalField;
        
        private object itemField;
        
        private TVAMediaTimeType[] keyFrameLocatorField;
        
        private UniqueIDType[] otherIdentifierField;
        
        private string groupIdField;
        
        private bool orderedField;
        
        private ushort numberOfSegmentsField;
        
        private bool numberOfSegmentsFieldSpecified;
        
        private ushort numberOfKeyFramesField;
        
        private bool numberOfKeyFramesFieldSpecified;
        
        private string durationField;
        
        private bool topLevelField;
        
        private bool topLevelFieldSpecified;
        
        private string fragmentIdField;
        
        private ulong fragmentVersionField;
        
        private bool fragmentVersionFieldSpecified;
        
        private System.DateTime fragmentExpirationDateField;
        
        private bool fragmentExpirationDateFieldSpecified;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        public SegmentGroupInformationType() {
            this.orderedField = true;
        }
        
        /// <remarks/>
        public CRIDRefType ProgramRef {
            get {
                return this.programRefField;
            }
            set {
                this.programRefField = value;
            }
        }
        
        /// <remarks/>
        public TimeBaseReferenceType TimeBaseReference {
            get {
                return this.timeBaseReferenceField;
            }
            set {
                this.timeBaseReferenceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GroupType")]
        public BaseSegmentGroupTypeType[] GroupType {
            get {
                return this.groupTypeField;
            }
            set {
                this.groupTypeField = value;
            }
        }
        
        /// <remarks/>
        public BasicSegmentDescriptionType Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public GroupIntervalType GroupInterval {
            get {
                return this.groupIntervalField;
            }
            set {
                this.groupIntervalField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Groups", typeof(GroupsType))]
        [System.Xml.Serialization.XmlElementAttribute("Segments", typeof(SegmentsType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("KeyFrameLocator")]
        public TVAMediaTimeType[] KeyFrameLocator {
            get {
                return this.keyFrameLocatorField;
            }
            set {
                this.keyFrameLocatorField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OtherIdentifier")]
        public UniqueIDType[] OtherIdentifier {
            get {
                return this.otherIdentifierField;
            }
            set {
                this.otherIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string groupId {
            get {
                return this.groupIdField;
            }
            set {
                this.groupIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool ordered {
            get {
                return this.orderedField;
            }
            set {
                this.orderedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ushort numberOfSegments {
            get {
                return this.numberOfSegmentsField;
            }
            set {
                this.numberOfSegmentsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool numberOfSegmentsSpecified {
            get {
                return this.numberOfSegmentsFieldSpecified;
            }
            set {
                this.numberOfSegmentsFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ushort numberOfKeyFrames {
            get {
                return this.numberOfKeyFramesField;
            }
            set {
                this.numberOfKeyFramesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool numberOfKeyFramesSpecified {
            get {
                return this.numberOfKeyFramesFieldSpecified;
            }
            set {
                this.numberOfKeyFramesFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string duration {
            get {
                return this.durationField;
            }
            set {
                this.durationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool topLevel {
            get {
                return this.topLevelField;
            }
            set {
                this.topLevelField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool topLevelSpecified {
            get {
                return this.topLevelFieldSpecified;
            }
            set {
                this.topLevelFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string fragmentId {
            get {
                return this.fragmentIdField;
            }
            set {
                this.fragmentIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong fragmentVersion {
            get {
                return this.fragmentVersionField;
            }
            set {
                this.fragmentVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentVersionSpecified {
            get {
                return this.fragmentVersionFieldSpecified;
            }
            set {
                this.fragmentVersionFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime fragmentExpirationDate {
            get {
                return this.fragmentExpirationDateField;
            }
            set {
                this.fragmentExpirationDateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fragmentExpirationDateSpecified {
            get {
                return this.fragmentExpirationDateFieldSpecified;
            }
            set {
                this.fragmentExpirationDateFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SegmentGroupTypeType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public abstract partial class BaseSegmentGroupTypeType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class SegmentGroupTypeType : BaseSegmentGroupTypeType {
        
        private SegmentGroupTypeTypeValue valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public SegmentGroupTypeTypeValue value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public enum SegmentGroupTypeTypeValue {
        
        /// <remarks/>
        highlights,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("highlights/objects")]
        highlightsobjects,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("highlights/events")]
        highlightsevents,
        
        /// <remarks/>
        bookmarks,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("bookmarks/objects")]
        bookmarksobjects,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("bookmarks/events")]
        bookmarksevents,
        
        /// <remarks/>
        themeGroup,
        
        /// <remarks/>
        preview,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("preview/title")]
        previewtitle,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("preview/slideshow")]
        previewslideshow,
        
        /// <remarks/>
        tableOfContents,
        
        /// <remarks/>
        synopsis,
        
        /// <remarks/>
        shots,
        
        /// <remarks/>
        insertionPoints,
        
        /// <remarks/>
        alternativeGroups,
        
        /// <remarks/>
        alternativeSegments,
        
        /// <remarks/>
        other,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class GroupIntervalType {
        
        private string refField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string @ref {
            get {
                return this.refField;
            }
            set {
                this.refField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class GroupsType {
        
        private string[] refListField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string[] refList {
            get {
                return this.refListField;
            }
            set {
                this.refListField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class SegmentsType {
        
        private string[] refListField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string[] refList {
            get {
                return this.refListField;
            }
            set {
                this.refListField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class PurchaseInformationTableType {
        
        private PurchaseInformationType[] purchaseInformationField;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PurchaseInformation")]
        public PurchaseInformationType[] PurchaseInformation {
            get {
                return this.purchaseInformationField;
            }
            set {
                this.purchaseInformationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class RightsInformationTableType {
        
        private RightsStatementType[] rightsStatementField;
        
        private string metadataOriginIDRefField;
        
        private string langField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RightsStatement")]
        public RightsStatementType[] RightsStatement {
            get {
                return this.rightsStatementField;
            }
            set {
                this.rightsStatementField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string metadataOriginIDRef {
            get {
                return this.metadataOriginIDRefField;
            }
            set {
                this.metadataOriginIDRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class RightsStatementType {
        
        private TextualType[] rightsExpressionField;
        
        private RightsStatementTypeRightsLink[] rightsLinkField;
        
        private ControlledTermType rightsTypeField;
        
        private TVAAgentType[] rightsContactField;
        
        private RightsStatementTypeTemporalScope temporalScopeField;
        
        private ControlledTermUseType[] geographicalScopeField;
        
        private ControlledTermUseType[] geographicalExclusionScopeField;
        
        private UsageRestrictionType[] usageRestrictionField;
        
        private DeviceType[] deviceField;
        
        private string programIdField;
        
        private string[] segmentRefListField;
        
        private string instanceMetadataIdRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RightsExpression")]
        public TextualType[] RightsExpression {
            get {
                return this.rightsExpressionField;
            }
            set {
                this.rightsExpressionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RightsLink")]
        public RightsStatementTypeRightsLink[] RightsLink {
            get {
                return this.rightsLinkField;
            }
            set {
                this.rightsLinkField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermType RightsType {
            get {
                return this.rightsTypeField;
            }
            set {
                this.rightsTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RightsContact")]
        public TVAAgentType[] RightsContact {
            get {
                return this.rightsContactField;
            }
            set {
                this.rightsContactField = value;
            }
        }
        
        /// <remarks/>
        public RightsStatementTypeTemporalScope TemporalScope {
            get {
                return this.temporalScopeField;
            }
            set {
                this.temporalScopeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GeographicalScope")]
        public ControlledTermUseType[] GeographicalScope {
            get {
                return this.geographicalScopeField;
            }
            set {
                this.geographicalScopeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GeographicalExclusionScope")]
        public ControlledTermUseType[] GeographicalExclusionScope {
            get {
                return this.geographicalExclusionScopeField;
            }
            set {
                this.geographicalExclusionScopeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("UsageRestriction")]
        public UsageRestrictionType[] UsageRestriction {
            get {
                return this.usageRestrictionField;
            }
            set {
                this.usageRestrictionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Device")]
        public DeviceType[] Device {
            get {
                return this.deviceField;
            }
            set {
                this.deviceField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string programId {
            get {
                return this.programIdField;
            }
            set {
                this.programIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string[] segmentRefList {
            get {
                return this.segmentRefListField;
            }
            set {
                this.segmentRefListField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string InstanceMetadataIdRef {
            get {
                return this.instanceMetadataIdRefField;
            }
            set {
                this.instanceMetadataIdRefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class RightsStatementTypeRightsLink {
        
        private string langField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="anyURI")]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class RightsStatementTypeTemporalScope {
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TextualExpression", typeof(RightsStatementTypeTemporalScopeTextualExpression))]
        [System.Xml.Serialization.XmlElementAttribute("ValidityDuration", typeof(string), DataType="duration")]
        [System.Xml.Serialization.XmlElementAttribute("ValidityPeriod", typeof(ValidPeriodType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class RightsStatementTypeTemporalScopeTextualExpression {
        
        private string unitField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string unit {
            get {
                return this.unitField;
            }
            set {
                this.unitField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class UsageRestrictionType {
        
        private ControlledTermUseType restrictionTypeField;
        
        private ControlledTermUseType restrictionSubTypeField;
        
        private UsageRestrictionTypeRestrictionWindow restrictionWindowField;
        
        private UsageRestrictionTypeActionRestriction[] actionRestrictionField;
        
        private bool restrictionStatusField;
        
        /// <remarks/>
        public ControlledTermUseType RestrictionType {
            get {
                return this.restrictionTypeField;
            }
            set {
                this.restrictionTypeField = value;
            }
        }
        
        /// <remarks/>
        public ControlledTermUseType RestrictionSubType {
            get {
                return this.restrictionSubTypeField;
            }
            set {
                this.restrictionSubTypeField = value;
            }
        }
        
        /// <remarks/>
        public UsageRestrictionTypeRestrictionWindow RestrictionWindow {
            get {
                return this.restrictionWindowField;
            }
            set {
                this.restrictionWindowField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ActionRestriction")]
        public UsageRestrictionTypeActionRestriction[] ActionRestriction {
            get {
                return this.actionRestrictionField;
            }
            set {
                this.actionRestrictionField = value;
            }
        }
        
        /// <remarks/>
        public bool RestrictionStatus {
            get {
                return this.restrictionStatusField;
            }
            set {
                this.restrictionStatusField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class UsageRestrictionTypeRestrictionWindow {
        
        private object itemField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TextualExpression", typeof(UsageRestrictionTypeRestrictionWindowTextualExpression))]
        [System.Xml.Serialization.XmlElementAttribute("ValidityDuration", typeof(string), DataType="duration")]
        [System.Xml.Serialization.XmlElementAttribute("ValidityPeriod", typeof(ValidPeriodType))]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class UsageRestrictionTypeRestrictionWindowTextualExpression {
        
        private string unitField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string unit {
            get {
                return this.unitField;
            }
            set {
                this.unitField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class UsageRestrictionTypeActionRestriction : ControlledTermUseType {
        
        private bool activationFlagField;
        
        private bool activationFlagFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool activationFlag {
            get {
                return this.activationFlagField;
            }
            set {
                this.activationFlagField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool activationFlagSpecified {
            get {
                return this.activationFlagFieldSpecified;
            }
            set {
                this.activationFlagFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class DeviceType {
        
        private string deviceNameField;
        
        private string deviceBrandField;
        
        private string deviceModelField;
        
        private ControlledTermUseType deviceType1Field;
        
        private DeviceTypeDeviceOS[] deviceOSField;
        
        private DeviceTypeAccessStatus accessStatusField;
        
        private DeviceTypeAccessSetting[] accessSettingField;
        
        private string deviceidField;
        
        /// <remarks/>
        public string DeviceName {
            get {
                return this.deviceNameField;
            }
            set {
                this.deviceNameField = value;
            }
        }
        
        /// <remarks/>
        public string DeviceBrand {
            get {
                return this.deviceBrandField;
            }
            set {
                this.deviceBrandField = value;
            }
        }
        
        /// <remarks/>
        public string DeviceModel {
            get {
                return this.deviceModelField;
            }
            set {
                this.deviceModelField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DeviceType")]
        public ControlledTermUseType DeviceType1 {
            get {
                return this.deviceType1Field;
            }
            set {
                this.deviceType1Field = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DeviceOS")]
        public DeviceTypeDeviceOS[] DeviceOS {
            get {
                return this.deviceOSField;
            }
            set {
                this.deviceOSField = value;
            }
        }
        
        /// <remarks/>
        public DeviceTypeAccessStatus AccessStatus {
            get {
                return this.accessStatusField;
            }
            set {
                this.accessStatusField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AccessSetting")]
        public DeviceTypeAccessSetting[] AccessSetting {
            get {
                return this.accessSettingField;
            }
            set {
                this.accessSettingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string deviceid {
            get {
                return this.deviceidField;
            }
            set {
                this.deviceidField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class DeviceTypeDeviceOS : ControlledTermUseType {
        
        private bool blockedField;
        
        private bool blockedFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool blocked {
            get {
                return this.blockedField;
            }
            set {
                this.blockedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool blockedSpecified {
            get {
                return this.blockedFieldSpecified;
            }
            set {
                this.blockedFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class DeviceTypeAccessStatus {
        
        private bool blockedField;
        
        private bool blockedFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool blocked {
            get {
                return this.blockedField;
            }
            set {
                this.blockedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool blockedSpecified {
            get {
                return this.blockedFieldSpecified;
            }
            set {
                this.blockedFieldSpecified = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public partial class DeviceTypeAccessSetting {
        
        private string settingDescriptionField;
        
        private string typeField;
        
        /// <remarks/>
        public string SettingDescription {
            get {
                return this.settingDescriptionField;
            }
            set {
                this.settingDescriptionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:tva:metadata:2024")]
    public partial class UserDescriptionType {
        
        private UserPreferencesType userPreferencesField;
        
        private UsageHistoryType1 usageHistoryField;
        
        /// <remarks/>
        public UserPreferencesType UserPreferences {
            get {
                return this.userPreferencesField;
            }
            set {
                this.userPreferencesField = value;
            }
        }
        
        /// <remarks/>
        public UsageHistoryType1 UsageHistory {
            get {
                return this.usageHistoryField;
            }
            set {
                this.usageHistoryField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    public enum TVAMainTypeType {
        
        /// <remarks/>
        epg,
        
        /// <remarks/>
        lastMinuteUpdate,
        
        /// <remarks/>
        presentFollowing,
        
        /// <remarks/>
        other,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:tva:metadata:2024")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace="urn:tva:metadata:2024", IsNullable=false)]
    public partial class TVAContentLinks {
        
        private RelatedMaterialType[] relatedMaterialField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RelatedMaterial")]
        public RelatedMaterialType[] RelatedMaterial {
            get {
                return this.relatedMaterialField;
            }
            set {
                this.relatedMaterialField = value;
            }
        }
    }
}
