//------------------------------------------------------------------------------
// <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 skyscraper8.DvbNip {
    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:MulticastSessionConfiguration:2024")]
    [System.Xml.Serialization.XmlRootAttribute("MulticastServerConfiguration", Namespace="urn:dvb:metadata:MulticastSessionConfiguration:2024", IsNullable=false)]
    public partial class MulticastServerConfigurationType {
        
        private MulticastGatewayConfigurationTransportSessionType[] multicastGatewayConfigurationTransportSessionField;
        
        private MulticastSessionType[] multicastSessionField;
        
        private MacroDefinitionType[] multicastServerConfigurationMacroField;
        
        private SessionReportingType multicastGatewaySessionReportingField;
        
        private System.Xml.XmlElement[] anyField;
        
        private uint schemaVersionField;
        
        private string validityPeriodField;
        
        private string validUntilField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MulticastGatewayConfigurationTransportSession")]
        public MulticastGatewayConfigurationTransportSessionType[] MulticastGatewayConfigurationTransportSession {
            get {
                return this.multicastGatewayConfigurationTransportSessionField;
            }
            set {
                this.multicastGatewayConfigurationTransportSessionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MulticastSession")]
        public MulticastSessionType[] MulticastSession {
            get {
                return this.multicastSessionField;
            }
            set {
                this.multicastSessionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MulticastServerConfigurationMacro")]
        public MacroDefinitionType[] MulticastServerConfigurationMacro {
            get {
                return this.multicastServerConfigurationMacroField;
            }
            set {
                this.multicastServerConfigurationMacroField = value;
            }
        }
        
        /// <remarks/>
        public SessionReportingType MulticastGatewaySessionReporting {
            get {
                return this.multicastGatewaySessionReportingField;
            }
            set {
                this.multicastGatewaySessionReportingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="urn:dvb:metadata:Extensibility:2024")]
        public uint schemaVersion {
            get {
                return this.schemaVersionField;
            }
            set {
                this.schemaVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        public string validityPeriod {
            get {
                return this.validityPeriodField;
            }
            set {
                this.validityPeriodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string validUntil {
            get {
                return this.validUntilField;
            }
            set {
                this.validUntilField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class MulticastGatewayConfigurationTransportSessionType : BaseMulticastTransportSessionType {
        
        private ReferencingObjectCarouselType objectCarouselField;
        
        private MacroDefinitionType[] multicastGatewayConfigurationMacroField;
        
        private System.Xml.XmlElement[] anyField;
        
        private string[] tagsField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        /// <remarks/>
        public ReferencingObjectCarouselType ObjectCarousel {
            get {
                return this.objectCarouselField;
            }
            set {
                this.objectCarouselField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MulticastGatewayConfigurationMacro")]
        public MacroDefinitionType[] MulticastGatewayConfigurationMacro {
            get {
                return this.multicastGatewayConfigurationMacroField;
            }
            set {
                this.multicastGatewayConfigurationMacroField = 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[] tags {
            get {
                return this.tagsField;
            }
            set {
                this.tagsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class ReferencingObjectCarouselType {
        
        private object[] itemsField;
        
        private ItemsChoiceType[] itemsElementNameField;
        
        private System.Xml.XmlElement[] anyField;
        
        private string aggregateTransportSizeField;
        
        private string aggregateContentSizeField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("InitSegments", typeof(ReferencingCarouselMediaPresentationResourceType))]
        [System.Xml.Serialization.XmlElementAttribute("PresentationManifests", typeof(ReferencingCarouselMediaPresentationResourceType))]
        [System.Xml.Serialization.XmlElementAttribute("ResourceLocator", typeof(CarouselResourceLocatorType))]
        [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.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string aggregateTransportSize {
            get {
                return this.aggregateTransportSizeField;
            }
            set {
                this.aggregateTransportSizeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string aggregateContentSize {
            get {
                return this.aggregateContentSizeField;
            }
            set {
                this.aggregateContentSizeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class ReferencingCarouselMediaPresentationResourceType : CarouselMediaPresentationResourceType {
        
        private string serviceIdRefField;
        
        private string transportSessionIdRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string serviceIdRef {
            get {
                return this.serviceIdRefField;
            }
            set {
                this.serviceIdRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="NMTOKEN")]
        public string transportSessionIdRef {
            get {
                return this.transportSessionIdRefField;
            }
            set {
                this.transportSessionIdRefField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ReferencingCarouselMediaPresentationResourceType))]
    [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:MulticastSessionConfiguration:2024")]
    public partial class CarouselMediaPresentationResourceType {
        
        private string targetAcquisitionLatencyField;
        
        private bool compressionPreferredField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        public CarouselMediaPresentationResourceType() {
            this.compressionPreferredField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        public string targetAcquisitionLatency {
            get {
                return this.targetAcquisitionLatencyField;
            }
            set {
                this.targetAcquisitionLatencyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool compressionPreferred {
            get {
                return this.compressionPreferredField;
            }
            set {
                this.compressionPreferredField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class ReportingLocatorType {
        
        private decimal proportionField;
        
        private string periodField;
        
        private uint randomDelayField;
        
        private bool reportSessionRunningEventsField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        private string valueField;
        
        public ReportingLocatorType() {
            this.proportionField = ((decimal)(1.0m));
            this.reportSessionRunningEventsField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(typeof(decimal), "1.0")]
        public decimal proportion {
            get {
                return this.proportionField;
            }
            set {
                this.proportionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        public string period {
            get {
                return this.periodField;
            }
            set {
                this.periodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint randomDelay {
            get {
                return this.randomDelayField;
            }
            set {
                this.randomDelayField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool reportSessionRunningEvents {
            get {
                return this.reportSessionRunningEventsField;
            }
            set {
                this.reportSessionRunningEventsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class SessionReportingType {
        
        private ReportingLocatorType[] reportingLocatorField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ReportingLocator")]
        public ReportingLocatorType[] ReportingLocator {
            get {
                return this.reportingLocatorField;
            }
            set {
                this.reportingLocatorField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class TypedLocatorType {
        
        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:MulticastSessionConfiguration:2024")]
    public partial class MulticastSessionType {
        
        private MulticastSessionTypePresentationManifestLocator[] presentationManifestLocatorField;
        
        private SessionReportingType multicastGatewaySessionReportingField;
        
        private MulticastTransportSessionType[] multicastTransportSessionField;
        
        private System.Xml.XmlElement[] anyField;
        
        private string serviceIdentifierField;
        
        private string contentPlaybackAvailabilityOffsetField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        public MulticastSessionType() {
            this.contentPlaybackAvailabilityOffsetField = "PT0S";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PresentationManifestLocator")]
        public MulticastSessionTypePresentationManifestLocator[] PresentationManifestLocator {
            get {
                return this.presentationManifestLocatorField;
            }
            set {
                this.presentationManifestLocatorField = value;
            }
        }
        
        /// <remarks/>
        public SessionReportingType MulticastGatewaySessionReporting {
            get {
                return this.multicastGatewaySessionReportingField;
            }
            set {
                this.multicastGatewaySessionReportingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MulticastTransportSession")]
        public MulticastTransportSessionType[] MulticastTransportSession {
            get {
                return this.multicastTransportSessionField;
            }
            set {
                this.multicastTransportSessionField = 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 serviceIdentifier {
            get {
                return this.serviceIdentifierField;
            }
            set {
                this.serviceIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        [System.ComponentModel.DefaultValueAttribute("PT0S")]
        public string contentPlaybackAvailabilityOffset {
            get {
                return this.contentPlaybackAvailabilityOffsetField;
            }
            set {
                this.contentPlaybackAvailabilityOffsetField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class MulticastSessionTypePresentationManifestLocator : TypedLocatorType {
        
        private string manifestIdField;
        
        private string transportObjectURIField;
        
        private string contentPlaybackPathPatternField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="NMTOKEN")]
        public string manifestId {
            get {
                return this.manifestIdField;
            }
            set {
                this.manifestIdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string transportObjectURI {
            get {
                return this.transportObjectURIField;
            }
            set {
                this.transportObjectURIField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string contentPlaybackPathPattern {
            get {
                return this.contentPlaybackPathPatternField;
            }
            set {
                this.contentPlaybackPathPatternField = 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:MulticastSessionConfiguration:2024")]
    public partial class MulticastTransportSessionType : BaseMulticastTransportSessionType {
        
        private ServiceComponentIdentifierType[] serviceComponentIdentifierField;
        
        private ObjectCarouselType objectCarouselField;
        
        private System.Xml.XmlElement[] anyField;
        
        private string idField;
        
        private string startField;
        
        private string durationField;
        
        private contentAcquisitionMethodType contentIngestMethodField;
        
        private transmissionModeType transmissionModeField;
        
        private string sessionIdleTimeoutField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        public MulticastTransportSessionType() {
            this.contentIngestMethodField = contentAcquisitionMethodType.pull;
            this.transmissionModeField = transmissionModeType.resource;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceComponentIdentifier")]
        public ServiceComponentIdentifierType[] ServiceComponentIdentifier {
            get {
                return this.serviceComponentIdentifierField;
            }
            set {
                this.serviceComponentIdentifierField = value;
            }
        }
        
        /// <remarks/>
        public ObjectCarouselType ObjectCarousel {
            get {
                return this.objectCarouselField;
            }
            set {
                this.objectCarouselField = 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="NMTOKEN")]
        public string id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string start {
            get {
                return this.startField;
            }
            set {
                this.startField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        public string duration {
            get {
                return this.durationField;
            }
            set {
                this.durationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(contentAcquisitionMethodType.pull)]
        public contentAcquisitionMethodType contentIngestMethod {
            get {
                return this.contentIngestMethodField;
            }
            set {
                this.contentIngestMethodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(transmissionModeType.resource)]
        public transmissionModeType transmissionMode {
            get {
                return this.transmissionModeField;
            }
            set {
                this.transmissionModeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string sessionIdleTimeout {
            get {
                return this.sessionIdleTimeoutField;
            }
            set {
                this.sessionIdleTimeoutField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GenericComponentIdentifierType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(HLSComponentIdentifierType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DASHComponentIdentifierType))]
    [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:MulticastSessionConfiguration:2024")]
    public abstract partial class ServiceComponentIdentifierType {
        
        private string manifestIdRefField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="NMTOKEN")]
        public string manifestIdRef {
            get {
                return this.manifestIdRefField;
            }
            set {
                this.manifestIdRefField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class GenericComponentIdentifierType : ServiceComponentIdentifierType {
        
        private string componentIdentifierField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="NMTOKEN")]
        public string componentIdentifier {
            get {
                return this.componentIdentifierField;
            }
            set {
                this.componentIdentifierField = 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:MulticastSessionConfiguration:2024")]
    public partial class HLSComponentIdentifierType : ServiceComponentIdentifierType {
        
        private string mediaPlaylistLocatorField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string mediaPlaylistLocator {
            get {
                return this.mediaPlaylistLocatorField;
            }
            set {
                this.mediaPlaylistLocatorField = 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:MulticastSessionConfiguration:2024")]
    public partial class DASHComponentIdentifierType : ServiceComponentIdentifierType {
        
        private string periodIdentifierField;
        
        private uint adaptationSetIdentifierField;
        
        private string representationIdentifierField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string periodIdentifier {
            get {
                return this.periodIdentifierField;
            }
            set {
                this.periodIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint adaptationSetIdentifier {
            get {
                return this.adaptationSetIdentifierField;
            }
            set {
                this.adaptationSetIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string representationIdentifier {
            get {
                return this.representationIdentifierField;
            }
            set {
                this.representationIdentifierField = 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:MulticastSessionConfiguration:2024")]
    public partial class ObjectCarouselType {
        
        private object[] itemsField;
        
        private ItemsChoiceType1[] itemsElementNameField;
        
        private System.Xml.XmlElement[] anyField;
        
        private string aggregateTransportSizeField;
        
        private string aggregateContentSizeField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("InitSegments", typeof(CarouselMediaPresentationResourceType))]
        [System.Xml.Serialization.XmlElementAttribute("PresentationManifests", typeof(CarouselMediaPresentationResourceType))]
        [System.Xml.Serialization.XmlElementAttribute("ResourceLocator", typeof(CarouselResourceLocatorType))]
        [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.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string aggregateTransportSize {
            get {
                return this.aggregateTransportSizeField;
            }
            set {
                this.aggregateTransportSizeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string aggregateContentSize {
            get {
                return this.aggregateContentSizeField;
            }
            set {
                this.aggregateContentSizeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class CarouselResourceLocatorType {
        
        private string targetAcquisitionLatencyField;
        
        private string revalidationPeriodField;
        
        private bool compressionPreferredField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        private string valueField;
        
        public CarouselResourceLocatorType() {
            this.compressionPreferredField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        public string targetAcquisitionLatency {
            get {
                return this.targetAcquisitionLatencyField;
            }
            set {
                this.targetAcquisitionLatencyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        public string revalidationPeriod {
            get {
                return this.revalidationPeriodField;
            }
            set {
                this.revalidationPeriodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool compressionPreferred {
            get {
                return this.compressionPreferredField;
            }
            set {
                this.compressionPreferredField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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(Namespace="urn:dvb:metadata:MulticastSessionConfiguration:2024", IncludeInSchema=false)]
    public enum ItemsChoiceType1 {
        
        /// <remarks/>
        InitSegments,
        
        /// <remarks/>
        PresentationManifests,
        
        /// <remarks/>
        ResourceLocator,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:MulticastSessionConfiguration:2024")]
    public enum contentAcquisitionMethodType {
        
        /// <remarks/>
        push,
        
        /// <remarks/>
        pull,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:MulticastSessionConfiguration:2024")]
    public enum transmissionModeType {
        
        /// <remarks/>
        resource,
        
        /// <remarks/>
        chunked,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MulticastTransportSessionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MulticastGatewayConfigurationTransportSessionType))]
    [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:MulticastSessionConfiguration:2024")]
    public partial class BaseMulticastTransportSessionType {
        
        private MulticastTransportProtocolType transportProtocolField;
        
        private MulticastEndpointAddressType[] endpointAddressField;
        
        private BitRateType bitRateField;
        
        private ForwardErrorCorrectionParametersType[] forwardErrorCorrectionParametersField;
        
        private UnicastRepairParametersType unicastRepairParametersField;
        
        private string serviceClassField;
        
        private transportSecurityType transportSecurityField;
        
        public BaseMulticastTransportSessionType() {
            this.transportSecurityField = transportSecurityType.none;
        }
        
        /// <remarks/>
        public MulticastTransportProtocolType TransportProtocol {
            get {
                return this.transportProtocolField;
            }
            set {
                this.transportProtocolField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EndpointAddress")]
        public MulticastEndpointAddressType[] EndpointAddress {
            get {
                return this.endpointAddressField;
            }
            set {
                this.endpointAddressField = value;
            }
        }
        
        /// <remarks/>
        public BitRateType BitRate {
            get {
                return this.bitRateField;
            }
            set {
                this.bitRateField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ForwardErrorCorrectionParameters")]
        public ForwardErrorCorrectionParametersType[] ForwardErrorCorrectionParameters {
            get {
                return this.forwardErrorCorrectionParametersField;
            }
            set {
                this.forwardErrorCorrectionParametersField = value;
            }
        }
        
        /// <remarks/>
        public UnicastRepairParametersType UnicastRepairParameters {
            get {
                return this.unicastRepairParametersField;
            }
            set {
                this.unicastRepairParametersField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string serviceClass {
            get {
                return this.serviceClassField;
            }
            set {
                this.serviceClassField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(transportSecurityType.none)]
        public transportSecurityType transportSecurity {
            get {
                return this.transportSecurityField;
            }
            set {
                this.transportSecurityField = 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:MulticastSessionConfiguration:2024")]
    public partial class MulticastTransportProtocolType {
        
        private string protocolIdentifierField;
        
        private string protocolVersionField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string protocolIdentifier {
            get {
                return this.protocolIdentifierField;
            }
            set {
                this.protocolIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string protocolVersion {
            get {
                return this.protocolVersionField;
            }
            set {
                this.protocolVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class MulticastEndpointAddressType {
        
        private string networkSourceAddressField;
        
        private string networkDestinationGroupAddressField;
        
        private string transportDestinationPortField;
        
        private string mediaTransportSessionIdentifierField;
        
        private System.Xml.XmlElement[] anyField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        /// <remarks/>
        public string NetworkSourceAddress {
            get {
                return this.networkSourceAddressField;
            }
            set {
                this.networkSourceAddressField = value;
            }
        }
        
        /// <remarks/>
        public string NetworkDestinationGroupAddress {
            get {
                return this.networkDestinationGroupAddressField;
            }
            set {
                this.networkDestinationGroupAddressField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string TransportDestinationPort {
            get {
                return this.transportDestinationPortField;
            }
            set {
                this.transportDestinationPortField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string MediaTransportSessionIdentifier {
            get {
                return this.mediaTransportSessionIdentifierField;
            }
            set {
                this.mediaTransportSessionIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class BitRateType {
        
        private string averageField;
        
        private string maximumField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string average {
            get {
                return this.averageField;
            }
            set {
                this.averageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string maximum {
            get {
                return this.maximumField;
            }
            set {
                this.maximumField = 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:MulticastSessionConfiguration:2024")]
    public partial class ForwardErrorCorrectionParametersType {
        
        private string schemeIdentifierField;
        
        private string overheadPercentageField;
        
        private MulticastEndpointAddressType[] endpointAddressField;
        
        private System.Xml.XmlElement[] anyField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        /// <remarks/>
        public string SchemeIdentifier {
            get {
                return this.schemeIdentifierField;
            }
            set {
                this.schemeIdentifierField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string OverheadPercentage {
            get {
                return this.overheadPercentageField;
            }
            set {
                this.overheadPercentageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EndpointAddress")]
        public MulticastEndpointAddressType[] EndpointAddress {
            get {
                return this.endpointAddressField;
            }
            set {
                this.endpointAddressField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class UnicastRepairParametersType {
        
        private WeightedURIType[] baseURLField;
        
        private System.Xml.XmlElement[] anyField;
        
        private uint transportObjectReceptionTimeoutField;
        
        private uint fixedBackOffPeriodField;
        
        private uint randomBackOffPeriodField;
        
        private string transportObjectBaseURIField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        public UnicastRepairParametersType() {
            this.fixedBackOffPeriodField = ((uint)(0));
            this.randomBackOffPeriodField = ((uint)(0));
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BaseURL")]
        public WeightedURIType[] BaseURL {
            get {
                return this.baseURLField;
            }
            set {
                this.baseURLField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint transportObjectReceptionTimeout {
            get {
                return this.transportObjectReceptionTimeoutField;
            }
            set {
                this.transportObjectReceptionTimeoutField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(typeof(uint), "0")]
        public uint fixedBackOffPeriod {
            get {
                return this.fixedBackOffPeriodField;
            }
            set {
                this.fixedBackOffPeriodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(typeof(uint), "0")]
        public uint randomBackOffPeriod {
            get {
                return this.randomBackOffPeriodField;
            }
            set {
                this.randomBackOffPeriodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string transportObjectBaseURI {
            get {
                return this.transportObjectBaseURIField;
            }
            set {
                this.transportObjectBaseURIField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:MulticastSessionConfiguration:2024")]
    public partial class WeightedURIType {
        
        private string relativeWeightField;
        
        private string valueField;
        
        public WeightedURIType() {
            this.relativeWeightField = "1";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        [System.ComponentModel.DefaultValueAttribute("1")]
        public string relativeWeight {
            get {
                return this.relativeWeightField;
            }
            set {
                this.relativeWeightField = 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(Namespace="urn:dvb:metadata:MulticastSessionConfiguration:2024")]
    public enum transportSecurityType {
        
        /// <remarks/>
        none,
        
        /// <remarks/>
        integrity,
        
        /// <remarks/>
        integrityAndAuthenticity,
    }
    
    /// <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:MulticastSessionConfiguration:2024")]
    public partial class MacroDefinitionType {
        
        private string keyField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="NMTOKEN")]
        public string key {
            get {
                return this.keyField;
            }
            set {
                this.keyField = 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(Namespace="urn:dvb:metadata:MulticastSessionConfiguration:2024", IncludeInSchema=false)]
    public enum ItemsChoiceType {
        
        /// <remarks/>
        InitSegments,
        
        /// <remarks/>
        PresentationManifests,
        
        /// <remarks/>
        ResourceLocator,
    }
    
    /// <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:MulticastSessionConfiguration:2024")]
    [System.Xml.Serialization.XmlRootAttribute("MulticastGatewayConfiguration", Namespace="urn:dvb:metadata:MulticastSessionConfiguration:2024", IsNullable=false)]
    public partial class MulticastGatewayConfigurationType {
        
        private MulticastGatewayConfigurationTransportSessionType[] multicastGatewayConfigurationTransportSessionField;
        
        private MulticastSessionType[] multicastSessionField;
        
        private SessionReportingType multicastGatewaySessionReportingField;
        
        private System.Xml.XmlElement[] anyField;
        
        private uint schemaVersionField;
        
        private string validityPeriodField;
        
        private string validUntilField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MulticastGatewayConfigurationTransportSession")]
        public MulticastGatewayConfigurationTransportSessionType[] MulticastGatewayConfigurationTransportSession {
            get {
                return this.multicastGatewayConfigurationTransportSessionField;
            }
            set {
                this.multicastGatewayConfigurationTransportSessionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MulticastSession")]
        public MulticastSessionType[] MulticastSession {
            get {
                return this.multicastSessionField;
            }
            set {
                this.multicastSessionField = value;
            }
        }
        
        /// <remarks/>
        public SessionReportingType MulticastGatewaySessionReporting {
            get {
                return this.multicastGatewaySessionReportingField;
            }
            set {
                this.multicastGatewaySessionReportingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="urn:dvb:metadata:Extensibility:2024")]
        public uint schemaVersion {
            get {
                return this.schemaVersionField;
            }
            set {
                this.schemaVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        public string validityPeriod {
            get {
                return this.validityPeriodField;
            }
            set {
                this.validityPeriodField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string validUntil {
            get {
                return this.validUntilField;
            }
            set {
                this.validUntilField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = 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:Extensibility:2024")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace="urn:dvb:metadata:Extensibility:2024", IsNullable=false)]
    public partial class NamespaceDelimiter {
    }
}
