1<?xml version="1.0" encoding="UTF-8"?> 2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 3 <xs:annotation> 4 <xs:documentation xml:lang="en"> 5 xmltv-lineups schema for XMLTV Project 6 Copyright Nick Morrott, 2011,2012 7 </xs:documentation> 8 </xs:annotation> 9 10 <xs:element name="xmltv-lineups" type="xmltvLineupsType" /> 11 12 <xs:complexType name="xmltvLineupsType"> 13 <xs:sequence> 14 <xs:element name="xmltv-lineup" type="xmltvLineupType" maxOccurs="unbounded" /> 15 </xs:sequence> 16 <xs:attributeGroup ref="sourceGeneratorAttrs" /> 17 </xs:complexType> 18 19 <xs:complexType name="xmltvLineupType"> 20 <xs:sequence> 21 <xs:element name="type" type="lineupTypeEnum" /> 22 <xs:element name="display-name" type="strWithLangAttrType" maxOccurs="unbounded" /> 23 <xs:element name="logo" type="logoType" minOccurs="0" maxOccurs="unbounded" /> 24 <xs:element name="availability" type="availabilityType" minOccurs="0" maxOccurs="unbounded" /> 25 <xs:element name="lineup-entry" type="lineupEntryType" minOccurs="0" maxOccurs="unbounded" /> 26 </xs:sequence> 27 <xs:attribute name="id" type="xs:string" /> 28 <xs:attributeGroup ref="sourceGeneratorAttrs" /> 29 </xs:complexType> 30 31 <xs:complexType name="lineupEntryType"> 32 <xs:sequence> 33 <xs:element name="preset" type="xs:string" minOccurs="0" /> 34 <xs:element name="section" type="xs:string" minOccurs="0" /> 35 <xs:element name="package" type="strWithTypeAttrType" minOccurs="0" maxOccurs="unbounded" /> 36 <xs:element name="availability" type="availabilityType" minOccurs="0" maxOccurs="unbounded" /> 37 <xs:element name="station" type="stationType" /> 38 39 <xs:choice> 40 <xs:element name="dvb-channel" type="dvbChanType" minOccurs="0" maxOccurs="unbounded" /> 41 <xs:element name="stb-channel" type="stbChanType" minOccurs="0" maxOccurs="unbounded" /> 42 <xs:element name="iptv-channel" type="iptvChanType" minOccurs="0" maxOccurs="unbounded" /> 43 <xs:element name="analog-channel" type="analogChanType" minOccurs="0" maxOccurs="unbounded" /> 44 </xs:choice> 45 </xs:sequence> 46 </xs:complexType> 47 48 <xs:complexType name="stationType"> 49 <xs:sequence> 50 <xs:element name="name" type="strWithLangAttrType" /> 51 <xs:element name="short-name" type="strWithLangAttrType" minOccurs="0" /> 52 <xs:element name="logo" type="logoType" minOccurs="0" maxOccurs="unbounded" /> 53 <xs:element name="commercial-free" type="xs:boolean" minOccurs="0" /> 54 <xs:element name="video" type="videoType" minOccurs="0" /> 55 <xs:element name="audio" type="audioType" minOccurs="0" /> 56 </xs:sequence> 57 <xs:attributeGroup ref="rfc2838" /> 58 <xs:attribute name="type" type="stationTypeEnum" /> 59 </xs:complexType> 60 61 <xs:complexType name="videoType"> 62 <xs:sequence> 63 <xs:element name="format" type="xs:string" minOccurs="0" /> 64 <xs:element name="aspect-ratio" type="xs:string" minOccurs="0" /> 65 </xs:sequence> 66 </xs:complexType> 67 68 <xs:complexType name="audioType"> 69 <xs:sequence> 70 <xs:element name="format" type="xs:string" minOccurs="0" /> 71 </xs:sequence> 72 </xs:complexType> 73 74 <xs:complexType name="dvbChanType"> 75 <xs:sequence> 76 <xs:element name="original-network-id" type="xs:integer" /> 77 <xs:element name="transport-id" type="xs:integer" minOccurs="0" /> 78 <xs:element name="service-id" type="xs:integer" /> 79 <xs:element name="lcn" type="xs:string" minOccurs="0" /> 80 <xs:element name="service-name" type="xs:string" minOccurs="0" /> 81 <xs:element name="provider-name" type="xs:string" minOccurs="0" /> 82 <xs:element name="encrypted" type="xs:boolean" minOccurs="0" /> 83 </xs:sequence> 84 <xs:attributeGroup ref="rfc2838" /> 85 </xs:complexType> 86 87 <xs:complexType name="stbChanType"> 88 <xs:sequence> 89 <xs:element name="stb-preset" type="xs:string" /> 90 </xs:sequence> 91 <xs:attributeGroup ref="rfc2838" /> 92 </xs:complexType> 93 94 <xs:complexType name="iptvChanType"> 95 <xs:sequence> 96 <xs:element name="iptv-url" type="xs:string" /> 97 <xs:element name="port" type="xs:integer" /> 98 </xs:sequence> 99 <xs:attributeGroup ref="rfc2838" /> 100 </xs:complexType> 101 102 <xs:complexType name="analogChanType"> 103 <xs:sequence> 104 <xs:element name="system" type="xs:string" /> 105 <xs:element name="number" type="xs:string" /> 106 <xs:element name="frequency" type="xs:integer" minOccurs="0" /> 107 <xs:element name="fcc-callsign" type="xs:string" minOccurs="0" /> 108 <xs:element name="cni"> 109 <xs:complexType> 110 <xs:attribute name="tt-8-30-1" type="xs:string" /> 111 </xs:complexType> 112 </xs:element> 113 </xs:sequence> 114 <xs:attributeGroup ref="rfc2838" /> 115 </xs:complexType> 116 117 <xs:simpleType name="lineupTypeEnum"> 118 <xs:restriction base="xs:string"> 119 <xs:enumeration value="DTV"/> 120 <xs:enumeration value="STB"/> 121 <xs:enumeration value="IPTV"/> 122 <xs:enumeration value="Analog"/> 123 <xs:enumeration value="List"/> 124 </xs:restriction> 125 </xs:simpleType> 126 127 <xs:simpleType name="stationTypeEnum"> 128 <xs:restriction base="xs:string"> 129 <xs:enumeration value="TV"/> 130 <xs:enumeration value="Radio"/> 131 <xs:enumeration value="Data"/> 132 <xs:enumeration value="Text service"/> 133 </xs:restriction> 134 </xs:simpleType> 135 136 <xs:complexType name="strWithLangAttrType"> 137 <xs:simpleContent> 138 <xs:extension base="xs:string"> 139 <xs:attribute name="lang" type="xs:language" /> 140 </xs:extension> 141 </xs:simpleContent> 142 </xs:complexType> 143 144 <xs:complexType name="strWithTypeAttrType"> 145 <xs:simpleContent> 146 <xs:extension base="xs:string"> 147 <xs:attribute name="type" type="xs:string" /> 148 </xs:extension> 149 </xs:simpleContent> 150 </xs:complexType> 151 152 <xs:complexType name="availabilityType"> 153 <xs:simpleContent> 154 <xs:extension base="xs:string"> 155 <xs:attribute name="area" type="availabilityAreaEnum" /> 156 </xs:extension> 157 </xs:simpleContent> 158 </xs:complexType> 159 160 <xs:simpleType name="availabilityAreaEnum"> 161 <xs:restriction base="xs:string"> 162 <xs:enumeration value="country"/> 163 <xs:enumeration value="region"/> 164 <xs:enumeration value="city"/> 165 <xs:enumeration value="postcode"/> 166 <xs:enumeration value="transmitter"/> 167 </xs:restriction> 168 </xs:simpleType> 169 170 <xs:complexType name="logoType"> 171 <xs:attribute name="url" type="xs:string" /> 172 <xs:attribute name="height" type="xs:integer" /> 173 <xs:attribute name="width" type="xs:integer" /> 174 </xs:complexType> 175 176 <xs:attributeGroup name="sourceGeneratorAttrs"> 177 <xs:attribute name="modified" type="xs:string" /> 178 <xs:attribute name="source-info-name" type="xs:string" /> 179 <xs:attribute name="source-info-url" type="xs:string" /> 180 <xs:attribute name="source-data-url" type="xs:string" /> 181 <xs:attribute name="generator-info-name" type="xs:string" /> 182 <xs:attribute name="generator-info-url" type="xs:string" /> 183 </xs:attributeGroup> 184 185 <xs:attributeGroup name="rfc2838"> 186 <xs:attribute name="rfc2838" type="xs:string" /> 187 </xs:attributeGroup> 188 189</xs:schema> 190