diff options
-rw-r--r-- | dist/epgdata2xmltv/epgdata2xmltv.xsl | 454 | ||||
-rw-r--r-- | dist/tvm2xmltv/tvm2xmltv.dist | 135 | ||||
-rw-r--r-- | dist/tvm2xmltv/tvm2xmltv.xsl | 881 | ||||
-rw-r--r-- | event.cpp | 1 | ||||
-rw-r--r-- | event.h | 1 | ||||
-rw-r--r-- | import.cpp | 69 | ||||
-rw-r--r-- | maps.h | 2 | ||||
-rw-r--r-- | parse.cpp | 18 | ||||
-rw-r--r-- | po/de_DE.po | 5 | ||||
-rw-r--r-- | po/it_IT.po | 5 | ||||
-rw-r--r-- | setup.cpp | 3 |
11 files changed, 1551 insertions, 23 deletions
diff --git a/dist/epgdata2xmltv/epgdata2xmltv.xsl b/dist/epgdata2xmltv/epgdata2xmltv.xsl index b84ac9e..4482f7d 100644 --- a/dist/epgdata2xmltv/epgdata2xmltv.xsl +++ b/dist/epgdata2xmltv/epgdata2xmltv.xsl @@ -28,8 +28,442 @@ <xsl:value-of select="translate(d32,'|','/')"/> </xsl:variable> +<xsl:variable name="GENREDVB"> +<xsl:choose> +<xsl:when test ="d25 = '101'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="d25 = '102'"><xsl:text>G 12</xsl:text></xsl:when> +<xsl:when test ="d25 = '103'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="d25 = '104'"><xsl:text>G 23</xsl:text></xsl:when> +<xsl:when test ="d25 = '105'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="d25 = '106'"><xsl:text>G 18</xsl:text></xsl:when> +<xsl:when test ="d25 = '108'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="d25 = '109'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="d25 = '110'"><xsl:text>G 14</xsl:text></xsl:when> +<xsl:when test ="d25 = '112'"><xsl:text>G 11</xsl:text></xsl:when> +<xsl:when test ="d25 = '113'"><xsl:text>G 76</xsl:text></xsl:when> +<xsl:when test ="d25 = '114'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="d25 = '115'"><xsl:text>G 10,60</xsl:text></xsl:when> +<xsl:when test ="d25 = '116'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="d25 = '117'"><xsl:text>G 16</xsl:text></xsl:when> +<xsl:when test ="d25 = '119'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="d25 = '121'"><xsl:text>G 11</xsl:text></xsl:when> +<xsl:when test ="d25 = '122'"><xsl:text>G 12</xsl:text></xsl:when> +<xsl:when test ="d25 = '123'"><xsl:text>G 10,55</xsl:text></xsl:when> +<xsl:when test ="d25 = '201'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="d25 = '202'"><xsl:text>G 15,12</xsl:text></xsl:when> +<xsl:when test ="d25 = '203'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="d25 = '205'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="d25 = '206'"><xsl:text>G 15,18</xsl:text></xsl:when> +<xsl:when test ="d25 = '207'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="d25 = '208'"><xsl:text>G 15,13</xsl:text></xsl:when> +<xsl:when test ="d25 = '210'"><xsl:text>G 15,14</xsl:text></xsl:when> +<xsl:when test ="d25 = '211'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="d25 = '212'"><xsl:text>G 15,11</xsl:text></xsl:when> +<xsl:when test ="d25 = '214'"><xsl:text>G 15,50</xsl:text></xsl:when> +<xsl:when test ="d25 = '216'"><xsl:text>G 15,13</xsl:text></xsl:when> +<xsl:when test ="d25 = '218'"><xsl:text>G 15,90</xsl:text></xsl:when> +<xsl:when test ="d25 = '219'"><xsl:text>G 15,13</xsl:text></xsl:when> +<xsl:when test ="d25 = '220'"><xsl:text>G 15,15</xsl:text></xsl:when> +<xsl:when test ="d25 = '221'"><xsl:text>G 15,11</xsl:text></xsl:when> +<xsl:when test ="d25 = '222'"><xsl:text>G 15,12</xsl:text></xsl:when> +<xsl:when test ="d25 = '223'"><xsl:text>G 15,55</xsl:text></xsl:when> +<xsl:when test ="d25 = '301'"><xsl:text>G 40</xsl:text></xsl:when> +<xsl:when test ="d25 = '331'"><xsl:text>G 4B</xsl:text></xsl:when> +<xsl:when test ="d25 = '332'"><xsl:text>G 45</xsl:text></xsl:when> +<xsl:when test ="d25 = '334'"><xsl:text>G 43</xsl:text></xsl:when> +<xsl:when test ="d25 = '335'"><xsl:text>G 41</xsl:text></xsl:when> +<xsl:when test ="d25 = '336'"><xsl:text>G 40</xsl:text></xsl:when> +<xsl:when test ="d25 = '337'"><xsl:text>G 46</xsl:text></xsl:when> +<xsl:when test ="d25 = '338'"><xsl:text>G 45</xsl:text></xsl:when> +<xsl:when test ="d25 = '339'"><xsl:text>G 47</xsl:text></xsl:when> +<xsl:when test ="d25 = '340'"><xsl:text>G 40</xsl:text></xsl:when> +<xsl:when test ="d25 = '341'"><xsl:text>G 44</xsl:text></xsl:when> +<xsl:when test ="d25 = '342'"><xsl:text>G 48</xsl:text></xsl:when> +<xsl:when test ="d25 = '343'"><xsl:text>G 49</xsl:text></xsl:when> +<xsl:when test ="d25 = '344'"><xsl:text>G 45</xsl:text></xsl:when> +<xsl:when test ="d25 = '345'"><xsl:text>G 46</xsl:text></xsl:when> +<xsl:when test ="d25 = '346'"><xsl:text>G 45</xsl:text></xsl:when> +<xsl:when test ="d25 = '347'"><xsl:text>G 40</xsl:text></xsl:when> +<xsl:when test ="d25 = '348'"><xsl:text>G 40,23</xsl:text></xsl:when> +<xsl:when test ="d25 = '401'"><xsl:text>G 30</xsl:text></xsl:when> +<xsl:when test ="d25 = '406'"><xsl:text>G 30</xsl:text></xsl:when> +<xsl:when test ="d25 = '418'"><xsl:text>G 30</xsl:text></xsl:when> +<xsl:when test ="d25 = '450'"><xsl:text>G 30</xsl:text></xsl:when> +<xsl:when test ="d25 = '451'"><xsl:text>G 30</xsl:text></xsl:when> +<xsl:when test ="d25 = '452'"><xsl:text>G 31</xsl:text></xsl:when> +<xsl:when test ="d25 = '453'"><xsl:text>G 33</xsl:text></xsl:when> +<xsl:when test ="d25 = '454'"><xsl:text>G 30</xsl:text></xsl:when> +<xsl:when test ="d25 = '455'"><xsl:text>G A6</xsl:text></xsl:when> +<xsl:when test ="d25 = '456'"><xsl:text>G A5</xsl:text></xsl:when> +<xsl:when test ="d25 = '457'"><xsl:text>G A2</xsl:text></xsl:when> +<xsl:when test ="d25 = '501'"><xsl:text>G 90</xsl:text></xsl:when> +<xsl:when test ="d25 = '560'"><xsl:text>G 96</xsl:text></xsl:when> +<xsl:when test ="d25 = '561'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="d25 = '564'"><xsl:text>G A4</xsl:text></xsl:when> +<xsl:when test ="d25 = '565'"><xsl:text>G A3</xsl:text></xsl:when> +<xsl:when test ="d25 = '566'"><xsl:text>G 21</xsl:text></xsl:when> +<xsl:when test ="d25 = '567'"><xsl:text>G 91</xsl:text></xsl:when> +<xsl:when test ="d25 = '568'"><xsl:text>G 80</xsl:text></xsl:when> +<xsl:when test ="d25 = '569'"><xsl:text>G 82</xsl:text></xsl:when> +<xsl:when test ="d25 = '570'"><xsl:text>G A1</xsl:text></xsl:when> +<xsl:when test ="d25 = '571'"><xsl:text>G 80</xsl:text></xsl:when> +<xsl:when test ="d25 = '572'"><xsl:text>G 90</xsl:text></xsl:when> +<xsl:when test ="d25 = '573'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="d25 = '601'"><xsl:text>G 60</xsl:text></xsl:when> +<xsl:when test ="d25 = '680'"><xsl:text>G 64</xsl:text></xsl:when> +<xsl:when test ="d25 = '681'"><xsl:text>G 62</xsl:text></xsl:when> +<xsl:when test ="d25 = '682'"><xsl:text>G 65</xsl:text></xsl:when> +<xsl:when test ="d25 = '683'"><xsl:text>G 61</xsl:text></xsl:when> +<xsl:when test ="d25 = '684'"><xsl:text>G 63</xsl:text></xsl:when> +<xsl:when test ="d25 = '685'"><xsl:text>G 61</xsl:text></xsl:when> +<xsl:when test ="d25 = '686'"><xsl:text>G 61</xsl:text></xsl:when> +<xsl:when test ="d25 = '687'"><xsl:text>G 61</xsl:text></xsl:when> +<xsl:when test ="d25 = '688'"><xsl:text>G 60,30</xsl:text></xsl:when> +<xsl:when test ="d25 = '689'"><xsl:text>G 60,83</xsl:text></xsl:when> +<xsl:when test ="d25 = '690'"><xsl:text>G 60,71</xsl:text></xsl:when> +<xsl:when test ="d25 = '691'"><xsl:text>G 60,76</xsl:text></xsl:when> +<xsl:when test ="d25 = '692'"><xsl:text>G 60,70</xsl:text></xsl:when> +<xsl:when test ="d25 = '701'"><xsl:text>G 50</xsl:text></xsl:when> +<xsl:when test ="d25 = '790'"><xsl:text>G 50,10</xsl:text></xsl:when> +<xsl:when test ="d25 = '791'"><xsl:text>G 50,21</xsl:text></xsl:when> +<xsl:when test ="d25 = '792'"><xsl:text>G 50</xsl:text></xsl:when> +<xsl:when test ="d25 = '793'"><xsl:text>G 50,30</xsl:text></xsl:when> +<xsl:when test ="d25 = '795'"><xsl:text>G 55</xsl:text></xsl:when> +<xsl:when test ="d25 = '796'"><xsl:text>G 55</xsl:text></xsl:when> +</xsl:choose> +</xsl:variable> + <xsl:variable name="GENRE"> -G <xsl:value-of select="d25"/> +<xsl:choose> +<xsl:when test ="d10 = '100'"> +<xsl:choose> +<xsl:when test ="d25 = '101'"> +<xsl:text>Spielfilm / Verschiedenes</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '102'"> +<xsl:text>Spielfilm / Abenteuer</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '103'"> +<xsl:text>Spielfilm / Action</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '104'"> +<xsl:text>Spielfilm / Dokumentarfilm</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '105'"> +<xsl:text>Spielfilm / Drama</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '106'"> +<xsl:text>Spielfilm / Erotik</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '108'"> +<xsl:text>Spielfilm / Fantasy</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '109'"> +<xsl:text>Spielfilm / Heimat</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '110'"> +<xsl:text>Spielfilm / Humor</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '112'"> +<xsl:text>Spielfilm / Krimi</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '113'"> +<xsl:text>Spielfilm / Kultur</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '114'"> +<xsl:text>Spielfilm / Kurzfilm</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '115'"> +<xsl:text>Spielfilm / Musik</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '116'"> +<xsl:text>Spielfilm / Mystery+Horror</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '117'"> +<xsl:text>Spielfilm / Romantik/Liebe</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '119'"> +<xsl:text>Spielfilm / Science Fiction</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '121'"> +<xsl:text>Spielfilm / Thriller</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '122'"> +<xsl:text>Spielfilm / Western</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '123'"> +<xsl:text>Spielfilm / Zeichentrick</xsl:text> +</xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="d10 = '200'"> +<xsl:choose> +<xsl:when test ="d25 = '201'"> +<xsl:text>Serie / Verschiedenes</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '202'"> +<xsl:text>Serie / Abenteuer</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '203'"> +<xsl:text>Serie / Action</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '205'"> +<xsl:text>Serie / Drama</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '206'"> +<xsl:text>Serie / Erotik</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '207'"> +<xsl:text>Serie / Familie</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '208'"> +<xsl:text>Serie / Fantasy</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '210'"> +<xsl:text>Serie / Humor</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '211'"> +<xsl:text>Serie / Krankenhaus</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '212'"> +<xsl:text>Serie / Krimi</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '214'"> +<xsl:text>Serie / Jugend</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '216'"> +<xsl:text>Serie / Mystery+Horror</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '218'"> +<xsl:text>Serie / Reality</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '219'"> +<xsl:text>Serie / Science Fiction</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '220'"> +<xsl:text>Serie / Soap</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '221'"> +<xsl:text>Serie / Thriller</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '222'"> +<xsl:text>Serie / Western</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '223'"> +<xsl:text>Serie / Zeichentrick</xsl:text> +</xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="d10 = '300'"> +<xsl:choose> +<xsl:when test ="d25 = '301'"> +<xsl:text>Sport / Verschiedenes</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '331'"> +<xsl:text>Sport / Boxen</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '332'"> +<xsl:text>Sport / Eishockey</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '334'"> +<xsl:text>Sport / Fussball</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '335'"> +<xsl:text>Sport / Olympia</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '336'"> +<xsl:text>Sport / Golf</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '337'"> +<xsl:text>Sport / Gymnastik</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '338'"> +<xsl:text>Sport / Handball</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '339'"> +<xsl:text>Sport / Motorsport</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '340'"> +<xsl:text>Sport / Radsport</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '341'"> +<xsl:text>Sport / Tennis</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '342'"> +<xsl:text>Sport / Wassersport</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '343'"> +<xsl:text>Sport / Wintersport</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '344'"> +<xsl:text>Sport / US-Sport</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '345'"> +<xsl:text>Sport / Leichtathletik</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '346'"> +<xsl:text>Sport / Volleyball</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '347'"> +<xsl:text>Sport / Extremsport</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '348'"> +<xsl:text>Sport / Reportagen</xsl:text> +</xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="d10 = '400'"> +<xsl:choose> +<xsl:when test ="d25 = '401'"> +<xsl:text>Show / Verschiedenes</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '406'"> +<xsl:text>Show / Erotik</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '418'"> +<xsl:text>Show / Reality</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '450'"> +<xsl:text>Show / Comedy</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '451'"> +<xsl:text>Show / Familien-Show</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '452'"> +<xsl:text>Show / Spielshows</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '453'"> +<xsl:text>Show / Talkshows</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '454'"> +<xsl:text>Show / Gerichtsshow</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '455'"> +<xsl:text>Show / Homeshopping</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '456'"> +<xsl:text>Show / Kochshow</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '457'"> +<xsl:text>Show / Heimwerken</xsl:text> +</xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="d10 = '500'"> +<xsl:choose> +<xsl:when test ="d25 = '501'"> +<xsl:text>Information / Verschiedenes</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '560'"> +<xsl:text>Information / Geschichte</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '561'"> +<xsl:text>Information / Magazin</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '564'"> +<xsl:text>Information / Gesundheit</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '565'"> +<xsl:text>Information / Motor+Verkehr</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '566'"> +<xsl:text>Information / Nachrichten</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '567'"> +<xsl:text>Information / Natur</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '568'"> +<xsl:text>Information / Politik</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '569'"> +<xsl:text>Information / Ratgeber</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '570'"> +<xsl:text>Information / Reise</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '571'"> +<xsl:text>Information / Wirtschaft</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '572'"> +<xsl:text>Information / Wissen</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '573'"> +<xsl:text>Information / Dokumentation</xsl:text> +</xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="d10 = '600'"> +<xsl:choose> +<xsl:when test ="d25 = '601'"> +<xsl:text>Kultur + Musik / Verschiedenes</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '680'"> +<xsl:text>Kultur + Musik / Jazz</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '681'"> +<xsl:text>Kultur + Musik / Klassik</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '682'"> +<xsl:text>Kultur + Musik / Musical</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '683'"> +<xsl:text>Kultur + Musik / Rock</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '684'"> +<xsl:text>Kultur + Musik / Volksmusik</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '685'"> +<xsl:text>Kultur + Musik / Alternative</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '686'"> +<xsl:text>Kultur + Musik / Pop</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '687'"> +<xsl:text>Kultur + Musik / Clips</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '688'"> +<xsl:text>Kultur + Musik / Show</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '689'"> +<xsl:text>Kultur + Musik / Interview</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '690'"> +<xsl:text>Kultur + Musik / Theater</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '691'"> +<xsl:text>Kultur + Musik / Kino</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '692'"> +<xsl:text>Kultur + Musik / Kultur</xsl:text> +</xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="d10 = '700'"> +<xsl:choose> +<xsl:when test ="d25 = '701'"> +<xsl:text>Kinder / Verschiedenes</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '790'"> +<xsl:text>Kinder / Filme</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '791'"> +<xsl:text>Kinder / Nachrichten</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '792'"> +<xsl:text>Kinder / Serien</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '793'"> +<xsl:text>Kinder / Shows</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '795'"> +<xsl:text>Kinder / Zeichentrick</xsl:text> +</xsl:when> +<xsl:when test ="d25 = '796'"> +<xsl:text>Kinder / Anime</xsl:text> +</xsl:when> +</xsl:choose> +</xsl:when> +</xsl:choose> </xsl:variable> <xsl:variable name="EPISODE"> @@ -206,6 +640,9 @@ G <xsl:value-of select="d25"/> <xsl:if test="string-length($JAHR)"> <date><xsl:value-of select="$JAHR"/></date><xsl:text>
</xsl:text> </xsl:if> +<xsl:if test="string-length($GENREDVB)"> +<xsl:comment> content = <xsl:value-of select="$GENREDVB"/><xsl:text> </xsl:text></xsl:comment><xsl:text>
</xsl:text> +</xsl:if> <xsl:if test="string-length($GENRE)"> <category lang="de"><xsl:value-of select="$GENRE"/></category><xsl:text>
</xsl:text> </xsl:if> @@ -269,12 +706,11 @@ G <xsl:value-of select="d25"/> <xsl:param name="tag" /> <xsl:param name="last"/> <xsl:variable name="newlist"> - <xsl:choose> - <xsl:when test="contains($list, $delimiter)"><xsl:value-of select="normalize-space($list)" /></xsl:when> - - <xsl:otherwise><xsl:value-of select="concat(normalize-space($list), $delimiter)"/></xsl:otherwise> - </xsl:choose> - </xsl:variable> + <xsl:choose> + <xsl:when test="contains($list, $delimiter)"><xsl:value-of select="normalize-space($list)" /></xsl:when> + <xsl:otherwise><xsl:value-of select="concat(normalize-space($list), $delimiter)"/></xsl:otherwise> + </xsl:choose> + </xsl:variable> <xsl:variable name="first" select="substring-before($newlist, $delimiter)" /> <xsl:variable name="remaining" select="substring-after($newlist, $delimiter)" /> <xsl:if test="$first != $last"> @@ -287,8 +723,8 @@ G <xsl:value-of select="d25"/> <xsl:call-template name="output-tokens"> <xsl:with-param name="list" select="$remaining" /> <xsl:with-param name="delimiter"><xsl:value-of select="$delimiter"/></xsl:with-param> - <xsl:with-param name="tag" select="$tag"/> - <xsl:with-param name="last" select="$first"/> + <xsl:with-param name="tag" select="$tag"/> + <xsl:with-param name="last" select="$first"/> </xsl:call-template> </xsl:if> </xsl:template> diff --git a/dist/tvm2xmltv/tvm2xmltv.dist b/dist/tvm2xmltv/tvm2xmltv.dist new file mode 100644 index 0000000..8659dd7 --- /dev/null +++ b/dist/tvm2xmltv/tvm2xmltv.dist @@ -0,0 +1,135 @@ +pipe;00:00;0;1 +1;15 +13th-street.de;501 +3sat.de;118 +animal-planet.de;568 +animax.de;629 +anixe.de;666 +ard.de;001 +arte.de;010 +atvplus.at;031 +austria9.at; +automotorsportchannel.de; +axntv.de;576 +bayern3.de;018 +beate-uhse-tv.de;544 +bibeltv.de;579 +blue-movie-1.de; +blue-movie-2.de; +blue-movie-3.de; +boomerang-tv.de;612 +br-alpha.de;057 +cartoon-network.de;627 +classica.de;508 +cnn.de;126 +das-vierte.de;067 +discovery-channel.de;510 +discovery-geschichte.de;572 +discovery-hd.de;614 +disney-channel.de;511 +dk1.dk;091 +dk2.dk;092 +dmax.de;554 +einsextra.de;551 +einsfestival.de;512 +einsplus.de;513 +espn-classic-sport.com;584 +euronews.de;013 +eurosport.de;107 +eurosport-2.de;630 +fashiontv.fr;607 +focus-gesundheit.de;573 +goldstar-tv.de;516 +gotv.at;703 +gute-laune-tv.de;601 +heimatkanal.de;517 +hessen3.de;026 +hh1.de;054 +history-channel.de;589 +hse24.de;189 +imusic1.de;716 +junior.de;518 +kabel1.de;008 +kabel-eins-classics.de;610 +kanal-7-int.tr;634 +kika.de;063 +kinowelt-tv.de;577 +k-tv.at;590 +mdr.de;032 +mezzotv.fr;633 +mgm.de;565 +motors-tv.fr;598 +mtv.de;109 +mtv-base.de;632 +mtv-dance.uk;592 +mtv-hits.uk;588 +muenchen-2.de;620 +n24.de;065 +national-geographic.de;593 +ndr.de;019 +nickcomedy.de;190:625 +nicktoons.de;662 +nl1.nl;088 +nl2.nl;089 +nl3.nl;090 +ntv.de;007 +orf1.at;014 +orf2.at;015 +phoenix.de;206 +planet.de;521 +playboy.de;582 +playhouse-disney.de;583 +prosieben.de;006 +rbb.de;027 +rtl.de;004 +rtl2.de;009 +rtl-crime.de;621 +rtl-living.de;622 +rtl-passion.de;623 +rtlshop.de;574 +rtlnitro.de;763 +sailing-channel.it;600 +sat1.de;005 +sat1-comedy.de;611 +sci-fi.de;541 +servustv.at;719 +sf1.ch;024 +sf2.ch;039 +silverline-tv.de;578 +sixx.de;696 +sky-action.de;402 +sky-cinema-1.de; +sky-cinema-24.de; +sky-cinema-hits.de;401 +sky-cinema.de;667 +sky-comedy.de; +sky-emotion.de; +sky-fussball-bundesliga.de; +sky-krimi.de; +sky-nostalgie.de; +sky-sport-1.de; +sky-sport-2.de; +sky-sport-austria.at; +sonnenklartv.de; +spiegel-geschichte.de; +spiegel-tv.de; +sport1.de;012 +sportdigitaltv.de; +spiegel-tv.de;605 +superrtl.de;179 +swr.de;029 +tele5.de;105 +tracetv.fr;602 +turner-classic-movies.de;628 +tv5.de;133 +tv-berlin.de;038 +tv-gusto-premium.de;597 +tv-muenchen.de;044 +viva.de;121 +vox.de;011 +wdr.de;028 +wetter-fernsehen.de;595 +zdf.de;002 +zdfinfo.de;570 +zdfkultur.de;725 +zdfneo.de;553 diff --git a/dist/tvm2xmltv/tvm2xmltv.xsl b/dist/tvm2xmltv/tvm2xmltv.xsl new file mode 100644 index 0000000..47ecced --- /dev/null +++ b/dist/tvm2xmltv/tvm2xmltv.xsl @@ -0,0 +1,881 @@ +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + xmlns:date="http://exslt.org/dates-and-times" + xmlns:str="http://exslt.org/strings"> +<xsl:output method="xml" omit-xml-declaration="yes" encoding='utf-8'/> + +<xsl:template match="/"> + <xsl:for-each select="//Sendung"> + <xsl:sort select="Datum"/> + <xsl:sort select="Zeit"/> + <xsl:variable name="EVENTID"> + <xsl:value-of select="SendungID"/> + </xsl:variable> + + <xsl:variable name="SHOWVIEW"> + <xsl:value-of select="Showview"/> + </xsl:variable> + + <xsl:variable name="PICS"> + <xsl:for-each select="*/Bild [@Kategorie='ImportBild']"> + <xsl:element name="icon"> + <xsl:attribute name="src">file:///var/lib/epgsources/tvm2xmltv-img/<xsl:value-of select="BildDatei/BildURL"/></xsl:attribute> + </xsl:element> + <xsl:text>
</xsl:text> + </xsl:for-each> + </xsl:variable> + + <xsl:variable name="TIPP"> + <xsl:for-each select="Bewertung"> + <xsl:if test="substring(BewKategorieID , 0, 6) != 'tv14-'"> + <xsl:text>[</xsl:text> + <xsl:value-of select="BewKategorieID"/> + <xsl:text>]</xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:variable> + + <xsl:variable name="BEWERTUNG"> + <xsl:for-each select="*/Bewertung"> + <xsl:if test="substring(BewKategorieID , 0, 6) != 'tv14-'"> + <xsl:element name="star-rating"> + <xsl:attribute name="system"> + <xsl:value-of select="BewKategorieID"/> + </xsl:attribute> + <value><xsl:value-of select="Wertung"/><xsl:text>/3</xsl:text></value> + </xsl:element> + <xsl:text>
</xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:variable> + + <xsl:variable name="CREW"> + <xsl:for-each select="*/Mensch [@Kategorie='Regisseur']"> + <director> + <xsl:value-of select="Vorname"/> + <xsl:text> </xsl:text> + <xsl:value-of select="Name"/> + </director><xsl:text>
</xsl:text> + </xsl:for-each> + + <xsl:for-each select="*/Mensch [@Kategorie='Schauspieler']"> + <actor> + <xsl:value-of select="Vorname"/> + <xsl:text> </xsl:text> + <xsl:value-of select="Name"/> + </actor><xsl:text>
</xsl:text> + </xsl:for-each> + + <xsl:for-each select="*/Mensch [@Kategorie='Drehbuch']"> + <writer> + <xsl:value-of select="Vorname"/> + <xsl:text> </xsl:text> + <xsl:value-of select="Name"/> + </writer><xsl:text>
</xsl:text> + </xsl:for-each> + + <xsl:for-each select="*/Mensch [@Kategorie='Produzent']"> + <producer> + <xsl:value-of select="normalize-space(Vorname)"/> + <xsl:text> </xsl:text> + <xsl:value-of select="normalize-space(Name)"/> + </producer><xsl:text>
</xsl:text> + </xsl:for-each> + + <xsl:for-each select="*/Mensch [@Kategorie='Musik']"> + <composer> + <xsl:value-of select="Vorname"/> + <xsl:text> </xsl:text> + <xsl:value-of select="Name"/> + </composer><xsl:text>
</xsl:text> + </xsl:for-each> + + <xsl:for-each select="*/Mensch [@Kategorie='Schnitt']"> + <editor> + <xsl:value-of select="Vorname"/> + <xsl:text> </xsl:text> + <xsl:value-of select="Name"/> + </editor><xsl:text>
</xsl:text> + </xsl:for-each> + + <xsl:for-each select="*/Mensch [@Kategorie='Gast']"> + <guest> + <xsl:value-of select="Vorname"/> + <xsl:text> </xsl:text> + <xsl:value-of select="Name"/> + </guest><xsl:text>
</xsl:text> + </xsl:for-each> + + </xsl:variable> + + <xsl:variable name="INHALT"> + <xsl:call-template name="getlongest"> + <xsl:with-param name="nodeset" select="*/Text[@Kategorie='Inhalt']/Text|Text[@Kategorie='Inhalt']/Text" /> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="AUDIO"> + <xsl:if test="*/dolby"> + <xsl:text>dolby</xsl:text> + </xsl:if> + <xsl:if test="*/dolbydigital"> + <xsl:text>dolby digital</xsl:text> + </xsl:if> + <xsl:if test="*/stereo"> + <xsl:text>stereo</xsl:text> + </xsl:if> + <xsl:if test="*/surroundsound"> + <xsl:text>surround</xsl:text> + </xsl:if> + <xsl:if test="*/zweikanal"> + <xsl:text>bilingual</xsl:text> + </xsl:if> + </xsl:variable> + + <xsl:variable name="VIDEO"> + + <xsl:if test="*/sw"> + <colour>no</colour><xsl:text>
</xsl:text> + </xsl:if> + + <xsl:if test="*/breitwand"> + <aspect>16:9</aspect><xsl:text>
</xsl:text> + </xsl:if> + + <xsl:if test="*/hdtv"> + <quality>HDTV</quality><xsl:text>
</xsl:text> + </xsl:if> + + </xsl:variable> + + <xsl:variable name="GENRE"> + <xsl:choose> + <xsl:when test="substring(*/GenreText,string-length(*/GenreText)-3) = 'film'"> + <xsl:value-of select="substring(*/GenreText,1,string-length(*/GenreText)-4)"/> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="substring(*/GenreText,string-length(*/GenreText)-4) = '-Film'"> + <xsl:value-of select="substring(*/GenreText,1,string-length(*/GenreText)-5)"/> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="substring(*/GenreText,string-length(*/GenreText)-4) = 'serie'"> + <xsl:value-of select="substring(*/GenreText,1,string-length(*/GenreText)-5)"/> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="substring(*/GenreText,string-length(*/GenreText)-5) = '-Serie'"> + <xsl:value-of select="substring(*/GenreText,1,string-length(*/GenreText)-6)"/> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="substring(*/GenreText,string-length(*/GenreText)-4) = 'reihe'"> + <xsl:value-of select="substring(*/GenreText,1,string-length(*/GenreText)-5)"/> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="substring(*/GenreText,string-length(*/GenreText)-3) = 'show'"> + <xsl:value-of select="substring(*/GenreText,1,string-length(*/GenreText)-4)"/> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="substring(*/GenreText,string-length(*/GenreText)-4) = '-Show'"> + <xsl:value-of select="substring(*/GenreText,1,string-length(*/GenreText)-5)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="*/GenreText"/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="KATEGORY"> + <xsl:value-of select="*/RZPKategorieID"/> + </xsl:variable> + +<xsl:variable name="GENREDVB"> + +<xsl:choose> + +<xsl:when test ="$KATEGORY = 'AA'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reportage'"><xsl:text>G 81</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> + +<xsl:when test ="$KATEGORY = 'Abenteuerserie'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Abenteuer'"><xsl:text>G 12,15</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Actionserie'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Action'"><xsl:text>G 10,15</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Arzt-Hospital'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Arzt'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Krankenhaus'"><xsl:text>G 10</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Bildung'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Doku'"><xsl:text>G 81,23</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kindermagazin'"><xsl:text>G 54</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Magazin'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Porträt'"><xsl:text>G 83</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reportage'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Wirtschaftsmagazin'"><xsl:text>G 82</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Wissenschaftsmagazin'"><xsl:text>G 92</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Comedy'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Comedy'"><xsl:text>G 14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Dramedy'"><xsl:text>G 14,10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Sitcom'"><xsl:text>G 14</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Dokumentarfilm'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Dokumentar'"><xsl:text>G 23,81</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Esskultur'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G 81,A5</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Doku-Soap'"><xsl:text>G 15,A5</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Familienserie'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Anwalts'"><xsl:text>G 15,11</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Daily Soap'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Drama'"><xsl:text>G 15,10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Dramedy'"><xsl:text>G 15,10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Familien'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Gerichts'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Telenovela'"><xsl:text>G 15</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Fernsehfilm'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Abenteuer'"><xsl:text>G 12</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Actiondrama'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Actionkomödie'"><xsl:text>G 14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Drama'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Ehekomödie'"><xsl:text>G 14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Erotikdrama'"><xsl:text>G 18</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Familienkomödie'"><xsl:text>G 14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Fantasy'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Heimat'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Jugend'"><xsl:text>G 53</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Katastrophen'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Katastrophenthriller'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Komödie'"><xsl:text>G 14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Krimi'"><xsl:text>G 11</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Liebes'"><xsl:text>G 16</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Liebesdrama'"><xsl:text>G 16</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Liebeskomödie'"><xsl:text>G 16,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Literaturverfilmung'"><xsl:text>G 75,10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Märchen'"><xsl:text>G 50</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Melodram'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Politdrama'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Politthriller'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Romantikkomödie'"><xsl:text>G 16,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Science-Fiction-Action'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Science-Fiction'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Science-Fiction-Thriller'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Teenagerkomödie'"><xsl:text>G 53,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Thriller'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Unterhaltungs'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Zeichentrick'"><xsl:text>G 55</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Forschung'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G 90,23</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Magazin'"><xsl:text>G 90</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Wissenschaftsmagazin'"><xsl:text>G 92</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Geschichte'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G 23</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'große Abendshow'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Casting'"><xsl:text>G 30</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Clip'"><xsl:text>G 30</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Comedy'"><xsl:text>G 30,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Koch'"><xsl:text>G 30,A5</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Musikalische Reise'"><xsl:text>G 30,60</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Musik'"><xsl:text>G 30,60</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Show'"><xsl:text>G 30</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Spiel'"><xsl:text>G 31</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Heimatserie'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Heimat'"><xsl:text>G 15</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Jugendserie'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Jugend'"><xsl:text>G 53,15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kinder'"><xsl:text>G 52,15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Tier'"><xsl:text>G 50,15</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Kabarett/Satire'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Kabarett'"><xsl:text>G 14</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Krimiserie'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Gerichts'"><xsl:text>G 10,15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Krimi'"><xsl:text>G 10,15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Polizei'"><xsl:text>G 10,15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Real-Life-Krimi'"><xsl:text>G 10,15</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Kunst'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Clips'"><xsl:text>G 77</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G 70,23,7A</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Gespräch'"><xsl:text>G 70,33</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kindermagazin'"><xsl:text>G 70,50</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kinomagazin'"><xsl:text>G 76</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kulturmagazin'"><xsl:text>G 7A</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kurzfilmmagazin'"><xsl:text>G 77</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Magazin'"><xsl:text>G 7A</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Medienmagazin'"><xsl:text>G 7A</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Porträt'"><xsl:text>G 70,83</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Kurz-Trickfilm'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Biografie'"><xsl:text>G 55,83</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Dokumentar'"><xsl:text>G 55,23</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Drama'"><xsl:text>G 55,10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Jugend'"><xsl:text>G 55,53</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Jugenddrama'"><xsl:text>G 55,53,10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Komödie'"><xsl:text>G 55,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Musical'"><xsl:text>G 55,65</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Tanz'"><xsl:text>G 55,60</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Literatur'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Büchermagazin'"><xsl:text>G 75</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Diskussion'"><xsl:text>G 75,33</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Porträt'"><xsl:text>G 75,83</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Lotterie'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Lotterie'"><xsl:text>G 30</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Mode'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G A0,23</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Doku-Soap'"><xsl:text>G A0,15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Ratgeber'"><xsl:text>G A0</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reportage'"><xsl:text>G A0</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Musik'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G 60,23</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Konzert'"><xsl:text>G 60</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Musikmagazin'"><xsl:text>G 60</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Porträt'"><xsl:text>G 60</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Werbung'"><xsl:text>G A6,60</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Nachrichten'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Kindernachrichten'"><xsl:text>G 20,54</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Nachrichten'"><xsl:text>G 21</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Nachrichtenmagazin'"><xsl:text>G 22</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Sportnachrichten'"><xsl:text>G 20,41</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Wetter'"><xsl:text>G 21</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Natur'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G A0,23</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Impressionen'"><xsl:text>G A0</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Naturdokumentation'"><xsl:text>G A0,23</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Politik'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Auslandsmagazin'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Diskussion'"><xsl:text>G 80,33</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Gespräch'"><xsl:text>G 80,33</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Magazin'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Politmagazin'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reportage'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Wochenmagazin'"><xsl:text>G 81</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Pr.-Info'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Programminformation'"><xsl:text>G A6</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Quiz'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Quiz'"><xsl:text>G 31</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Spiel'"><xsl:text>G 31</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Realityshow'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Show'"><xsl:text>G 30</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Recht'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Doku'"><xsl:text>G 80,23</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Doku-Soap'"><xsl:text>G 80,15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kriminalmagazin'"><xsl:text>G 80,11</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reportage'"><xsl:text>G 81</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Reisen'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Auslandsreportage'"><xsl:text>G A1</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Doku-Soap'"><xsl:text>G A1,15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Impressionen'"><xsl:text>G A1</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reisedokumentation'"><xsl:text>G A1,23</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reisereportage'"><xsl:text>G A1</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reportage'"><xsl:text>G A1</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Religion'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Ansprache'"><xsl:text>G 73</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G 73,23</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Gespräch'"><xsl:text>G 73,33</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Gottesdienst'"><xsl:text>G 73</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Wochenmagazin'"><xsl:text>G 73</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Science-fiction'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Fantasy'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Märchen'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Mystery'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Science-Fiction'"><xsl:text>G 13</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Sendeschluß'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Sendeschluss'"><xsl:text>G A6</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Soziales'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Auslandsmagazin'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Auslandsreportage'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Boulevardmagazin'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Doku'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Doku-Soap'"><xsl:text>G 80,15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Frühmagazin'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Gespräch'"><xsl:text>G 80,33</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Impressionen'"><xsl:text>G 80</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kindermagazin'"><xsl:text>G 81,50</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kulturmagazin'"><xsl:text>G 81,7A</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Magazin'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Mittagsmagazin'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Nachrichtenmagazin'"><xsl:text>G 81,22</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Porträt'"><xsl:text>G 83</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Ratgeber'"><xsl:text>G 82</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reportage'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Wissensmagazin'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Wochenmagazin'"><xsl:text>G 81</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Spielfilm'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Abenteuer'"><xsl:text>G 12</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Abenteuerkomödie'"><xsl:text>G 12,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Actionabenteuer'"><xsl:text>G 12</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Action'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Actiondrama'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Action-Fantasy'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Actionkomödie'"><xsl:text>G 14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Actionkrimi'"><xsl:text>G 11</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Actionthriller'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Agentenfilmparodie'"><xsl:text>G 14,11</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Agententhriller'"><xsl:text>G 11</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Animations'"><xsl:text>G 55</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Beziehungskomödie'"><xsl:text>G 16,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Biografie'"><xsl:text>G 17</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Comicverfilmung'"><xsl:text>G 55</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Drama'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Fantasyabenteuer'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Fantasy'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Gaunerkomödie'"><xsl:text>G 11</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Gefängnisdrama'"><xsl:text>G 11</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Gesellschaftsdrama'"><xsl:text>G 17</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Historienabenteuer'"><xsl:text>G 12</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Historiendrama'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Horror-Action'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Horror'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Horrorkomödie'"><xsl:text>G 13,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Horrorthriller'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Jugenddrama'"><xsl:text>G 17,53</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Justizdrama'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Katastrophen'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kinderabenteuer'"><xsl:text>G 50</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kinder'"><xsl:text>G 50</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Komödie'"><xsl:text>G 14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kriegs'"><xsl:text>G 12</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Krimi'"><xsl:text>G 11</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Krimidrama'"><xsl:text>G 11</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Krimikomödie'"><xsl:text>G 11,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Liebes'"><xsl:text>G 16</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Liebeskomödie'"><xsl:text>G 16,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Literaturverfilmung'"><xsl:text>G 17</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Märchen'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Martial-Arts'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Mediensatire'"><xsl:text>G 14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Melodram'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Militärkomödie'"><xsl:text>G 14,12</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Musical'"><xsl:text>G 65</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Mysterythriller'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Piraten'"><xsl:text>G 12</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Politthriller'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Psychothriller'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Road Movie'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Romantikkomödie'"><xsl:text>G 16,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Satire'"><xsl:text>G 14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Science-Fiction'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Science-Fiction-Horror'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Science-Fiction-Komödie'"><xsl:text>G 13,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Science-Fiction-Thriller'"><xsl:text>G 13</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Sozialdrama'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Tanz'"><xsl:text>G 60</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Teenagerkomödie'"><xsl:text>G 14,53</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Thriller'"><xsl:text>G 10</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Tragikomödie'"><xsl:text>G 14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Trickfilmkomödie'"><xsl:text>G 14,55</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Western'"><xsl:text>G 12</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Westerndrama'"><xsl:text>G 12</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Westernkomödie'"><xsl:text>G 12,14</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Zeichentrick'"><xsl:text>G 55</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Zeichentrickkomödie'"><xsl:text>G 55,14</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Sport'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Basketball'"><xsl:text>G 40</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Boxen'"><xsl:text>G 4B</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Festakt'"><xsl:text>G 41</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Formel 1'"><xsl:text>G 47</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Fußball'"><xsl:text>G 43</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Leichtathletik'"><xsl:text>G 46</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Motorsport'"><xsl:text>G 47</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Sportmagazin'"><xsl:text>G 42</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Sportsendung'"><xsl:text>G 42</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Vorbericht'"><xsl:text>G 42,41</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Talkshow'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Talk'"><xsl:text>G 33</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Technik'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Automagazin'"><xsl:text>G A3</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G 92</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Ratgeber'"><xsl:text>G 92</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Tiere'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G A0,91</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Doku-Soap'"><xsl:text>G A0,15,91</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reportage'"><xsl:text>G A0,91</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Tierdokumentation'"><xsl:text>G A0,91</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Tiermagazin'"><xsl:text>G A0,91</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Umwelt'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G 91</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Naturdokumentation'"><xsl:text>G 91</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Umweltmagazin'"><xsl:text>G 91</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Unterhaltendes'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Doku-Soap'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Frühmagazin'"><xsl:text>G 15,22</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Impressionen'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Kindermagazin'"><xsl:text>G 54</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Medienmagazin'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reportage'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Werbung'"><xsl:text>G A6</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Wochenmagazin'"><xsl:text>G 15</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Verkehr'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Automagazin'"><xsl:text>G A3</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G A1,A3</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Doku-Soap'"><xsl:text>G A3,15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Magazin'"><xsl:text>G A3</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Ratgeber'"><xsl:text>G A3</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reportage'"><xsl:text>G A3</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> +<xsl:when test ="$KATEGORY = 'Wirtschaft'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Dokumentation'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Doku-Soap'"><xsl:text>G 15</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Reportage'"><xsl:text>G 81</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Wirtschaftsmagazin'"><xsl:text>G 81</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> + +<xsl:when test ="$KATEGORY = 'Zeichentrick'"> +<xsl:choose> +<xsl:when test ="$GENRE = 'Animations'"><xsl:text>G 55</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Anime'"><xsl:text>G 55</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Puppenspiel'"><xsl:text>G 55</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Puppentrick'"><xsl:text>G 55</xsl:text></xsl:when> +<xsl:when test ="$GENRE = 'Zeichentrick'"><xsl:text>G 55</xsl:text></xsl:when> +</xsl:choose> +</xsl:when> + +</xsl:choose> + +</xsl:variable> + + <xsl:variable name="ORIGTITLE"> + <xsl:value-of select="*/OriginalTitel"/> + </xsl:variable> + + <xsl:variable name="LAND"> + <xsl:value-of select="*/Land"/> + </xsl:variable> + + <xsl:variable name="JAHR"> + <xsl:value-of select="*/Jahr"/> + </xsl:variable> + + <xsl:variable name="FSK"> + <xsl:value-of select="*/FSK"/> + </xsl:variable> + + <xsl:variable name="KURZKRITIK"> + <xsl:value-of select="Text[@Kategorie='Kurzkritik']/Text|*/Text[@Kategorie='Kurzkritik']/Text"/> + </xsl:variable> + + <xsl:variable name="THEMEN"> + <xsl:for-each select="Text[@Kategorie='Thema']|*/Text[@Kategorie='Thema']"> + <xsl:value-of select="Text"/> + <xsl:text>
</xsl:text> + </xsl:for-each> + </xsl:variable> + +<xsl:variable name="vps_iso8601"> +<xsl:call-template name="date2UTC"> +<xsl:with-param name="date" select="translate(VPS,' ','T')"/> +</xsl:call-template> +</xsl:variable> + +<xsl:variable name="start_iso8601"> +<xsl:call-template name="date2UTC"> +<xsl:with-param name="date" select="concat(Datum,'T',Zeit)"/> +</xsl:call-template> +</xsl:variable> + +<xsl:variable name="start_xmltv"> +<xsl:value-of select="concat(translate($start_iso8601,'-:ZT',''),' +0000')"/> +</xsl:variable> + +<xsl:variable name="vps_xmltv"> +<xsl:if test="string-length($vps_iso8601)"> +<xsl:value-of select="concat(translate($vps_iso8601,'-:ZT',''),' +0000')"/> +</xsl:if> +</xsl:variable> + +<xsl:element name="programme"> +<xsl:attribute name="start"> +<xsl:value-of select="$start_xmltv"/> +</xsl:attribute> + + +<xsl:if test="Dauer <= 360"> +<xsl:variable name="stop_iso8601"> +<xsl:value-of select="date:add($start_iso8601,concat('PT',Dauer,'M'))"/> +</xsl:variable> +<xsl:variable name="stop_xmltv"> +<xsl:value-of select="concat(translate($stop_iso8601,'-:ZT',''),' +0000')"/> +</xsl:variable> + +<xsl:attribute name="stop"> +<xsl:value-of select="$stop_xmltv"/> +</xsl:attribute> + +</xsl:if> + + +<xsl:if test="string-length($vps_xmltv)"> +<xsl:attribute name="vps-start"> +<xsl:value-of select="$vps_xmltv"/> +</xsl:attribute> +</xsl:if> +<xsl:attribute name="channel"> +<xsl:value-of select="$channelid"/> +</xsl:attribute> +<xsl:if test="string-length($SHOWVIEW)"> +<xsl:attribute name="showview"> +<xsl:value-of select="$SHOWVIEW"/> +</xsl:attribute> +</xsl:if> +<xsl:text>
</xsl:text> +<xsl:if test="string-length($EVENTID)"> +<xsl:comment> pid = <xsl:value-of select="$EVENTID"/><xsl:text> </xsl:text></xsl:comment><xsl:text>
</xsl:text> +</xsl:if> +<title lang="de"><xsl:value-of select="Titel"/></title><xsl:text>
</xsl:text> +<xsl:if test="string-length($ORIGTITLE)"> +<title><xsl:value-of select="$ORIGTITLE"/></title><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="string-length(*/UnterTitel)"> +<sub-title lang="de"><xsl:value-of select="*/UnterTitel"/></sub-title><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="string-length($INHALT)"> +<desc lang="de"><xsl:value-of select="$INHALT"/></desc><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="string-length($THEMEN)"> +<desc lang="de"><xsl:value-of select="$THEMEN"/></desc><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="string-length($CREW)"> +<credits><xsl:text>
</xsl:text><xsl:copy-of select="$CREW"/></credits><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="string-length($JAHR)"> +<date><xsl:value-of select="$JAHR"/></date><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="string-length($GENREDVB)"> +<xsl:comment> content = <xsl:value-of select="$GENREDVB"/><xsl:text> </xsl:text></xsl:comment><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="string-length($KATEGORY)"> +<category lang="de"><xsl:value-of select="$KATEGORY"/></category><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="string-length($GENRE)"> +<category lang="de"><xsl:value-of select="$GENRE"/></category><xsl:text>
</xsl:text> +</xsl:if> + +<xsl:if test="string-length($PICS)"> +<xsl:copy-of select="$PICS"/> +</xsl:if> +<xsl:if test="string-length($LAND)"> +<country><xsl:value-of select="$LAND"/></country><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="string-length($VIDEO)"> +<video><xsl:text>
</xsl:text><xsl:copy-of select="$VIDEO"/></video><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="string-length($AUDIO)"> +<audio><xsl:text>
</xsl:text><stereo><xsl:value-of select="$AUDIO"/></stereo><xsl:text>
</xsl:text></audio><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="tvpremiere"> +<premiere /><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="string-length($FSK)"> +<rating system="FSK"><value><xsl:value-of select="$FSK"/></value></rating><xsl:text>
</xsl:text> +</xsl:if> +<xsl:if test="string-length($BEWERTUNG)"> +<xsl:copy-of select="$BEWERTUNG"/> +</xsl:if> +<xsl:if test="string-length($KURZKRITIK)"> +<review type="text"><xsl:value-of select="$KURZKRITIK"/></review><xsl:text>
</xsl:text> +</xsl:if> + +</xsl:element> +<xsl:text>
</xsl:text> + </xsl:for-each> +</xsl:template> + +<xsl:template name="getlongest"> + <xsl:param name="nodeset"/> + <xsl:param name="longest"/> + <xsl:choose> + <xsl:when test="$nodeset"> + <xsl:choose> + <xsl:when + test="string-length($nodeset[1]) > string-length($longest)"> + <xsl:call-template name="getlongest"> + <xsl:with-param name="nodeset" select="$nodeset[position() > 1]"/> + <xsl:with-param name="longest" select="$nodeset[1]"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="getlongest"> + <xsl:with-param + name="nodeset" select="$nodeset[position() > 1]"/> + <xsl:with-param name="longest" select="$longest"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$longest"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="date2UTC"> + <xsl:param name="date"/> + + <xsl:variable name="dststart"> + <xsl:value-of select="concat(date:year($date),'-03-',32-date:day-in-week(concat(date:year($date),'-03-31')),'T02:00:00')"/> + </xsl:variable> + + <xsl:variable name="dstend"> + <xsl:value-of select="concat(date:year($date),'-10-',32-date:day-in-week(concat(date:year($date),'-10-31')),'T03:00:00')"/> + </xsl:variable> + + <xsl:variable name="tz"> + <xsl:choose> + <xsl:when test="date:seconds(date:difference($dststart,$date)) >= 0"> + <xsl:choose> + <xsl:when test="date:seconds(date:difference($date,$dstend)) >= 0">-PT2H</xsl:when> + <xsl:otherwise>-PT1H</xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise>-PT1H</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:value-of select="date:add($date,$tz)"/> +</xsl:template> + + +</xsl:stylesheet> @@ -631,7 +631,6 @@ void cXMLTVEvent::Clear() episodeoverall=0; parentalRating=0; weakid=false; - memset(&contents,0,sizeof(contents)); } cXMLTVEvent::cXMLTVEvent() @@ -61,7 +61,6 @@ private: cXMLTVStringList starrating; cXMLTVStringList pics; int parentalRating; - uchar contents[MaxEventContents]; char *removechar(char *s, char what); public: cXMLTVEvent(); @@ -529,12 +529,16 @@ char *cImport::Add2Description(char *description, cXMLTVEvent *xEvent, int Flags if (text) { cXMLTVStringList *categories=xEvent->Category(); - description=Add2Description(description,text->Value(),(*categories)[0]); + // prevent duplicates + if ((*categories)[0][0]!='G' && (*categories)[0][1]!=' ') + description=Add2Description(description,text->Value(),(*categories)[0]); for (int i=1; i<categories->Size(); i++) { - // prevent duplicates if (strcasecmp((*categories)[i],(*categories)[i-1])) - description=Add2Description(description,text->Value(),(*categories)[i]); + { + if ((*categories)[i][0]!='G' && (*categories)[i][1]!=' ') + description=Add2Description(description,text->Value(),(*categories)[i]); + } } } } @@ -995,6 +999,63 @@ bool cImport::PutEvent(cEPGSource *Source, sqlite3 *Db, cSchedule* Schedule, } #endif +#if VDRVERSNUM >= 10712 || EPGHANDLER + if ((Flags & USE_CONTENT)==USE_CONTENT) + { + uchar contents[MaxEventContents]; + for (int i=0; i<MaxEventContents; i++) + { + contents[i]=Event->Contents(i); + } + cXMLTVStringList *categories=xEvent->Category(); + for (int i=0; i<categories->Size(); i++) + { + char *tok,*sp; + char delim[]=","; + if ((*categories)[i][0]=='G' && (*categories)[i][1]==' ') + { + char *val=strdup(&(*categories)[i][2]); + if (val) + { + tok=strtok_r(val,delim,&sp); + while (tok) + { + unsigned int hval; + if (sscanf(tok,"%2x",&hval)==1) + { + uchar uval=(uchar) hval; + bool found=false; + for (int i=0; i<MaxEventContents; i++) + { + if (contents[i]==uval) + { + found=true; + break; + } + } + if (!found) + { + for (int i=0; i<MaxEventContents; i++) + { + if (!contents[i]) + { + contents[i]=uval; + break; + } + } + } + + } + tok=strtok_r(NULL,delim,&sp); + } + } + free(val); + Event->SetContents(contents); + } + } + } +#endif + #if VDRVERSNUM < 10726 && (!EPGHANDLER) Event->SetTableID(0); // prevent EIT EPG to update this event #endif @@ -1002,7 +1063,7 @@ bool cImport::PutEvent(cEPGSource *Source, sqlite3 *Db, cSchedule* Schedule, if (!added && changed) { - if (((changed & CHANGED_SHORTTEXT)==CHANGED_SHORTTEXT) && (WasChanged(Event)==false)) + if (((changed & CHANGED_DESCRIPTION)==CHANGED_DESCRIPTION) && (WasChanged(Event)==false)) { if (Event->Description()) description=strdup(Event->Description()); if (description) @@ -32,6 +32,7 @@ #define USE_SEASON 0x400 #define USE_STARRATING 0x800 #define USE_TITLE 0x1000 +#define USE_CONTENT 0x2000 #define CREDITS_ACTORS 0x100000 #define CREDITS_DIRECTORS 0x200000 @@ -39,7 +40,6 @@ #define CREDITS_LIST 0x800000 #define OPT_RATING_TEXT 0x1000000 -#define OPT_CATEGORIES_TEXT 0x2000000 #define OPT_SEASON_STEXTITLE 0x4000000 #define OPT_APPEND 0x40000000 @@ -161,11 +161,11 @@ bool cParse::FetchSeasonEpisode(iconv_t cEP2ASCII, iconv_t cUTF2ASCII, const cha int &Season, int &Episode, int &EpisodeOverall, char **EPShortText, char **EPTitle) { -Season=0; -Episode=0; -EpisodeOverall=0; - - // Title and ShortText are always UTF8 ! + Season=0; + Episode=0; + EpisodeOverall=0; + + // Title and ShortText are always UTF8 ! if (!EPDir) return false; if (!Title) return false; if (cEP2ASCII==(iconv_t) -1) return false; @@ -360,6 +360,14 @@ bool cParse::FetchEvent(xmlNodePtr enode, bool useeptext) xevent.SetEventID((tEventID) atol(eq+1)); } } + if (const xmlChar *content=xmlStrstr(node->content,(const xmlChar *) "content")) + { + char *eq=strchr((char *) content,'='); + if (eq) + { + xevent.AddCategory(eq+1); + } + } } if (node->type==XML_ELEMENT_NODE) { diff --git a/po/de_DE.po b/po/de_DE.po index bdfbf42..002a951 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: vdr\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2012-08-13 18:38+0200\n" +"POT-Creation-Date: 2012-09-01 13:18+0200\n" "PO-Revision-Date: 2010-12-23 23:59+0100\n" "Last-Translator: Jochen Dolze <vdr@dolze.de>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -178,6 +178,9 @@ msgstr "Titel" msgid "short text" msgstr "Kurztext" +msgid "dvb content id" +msgstr "DVB Inhalts-ID" + msgid " actors" msgstr " Darsteller" diff --git a/po/it_IT.po b/po/it_IT.po index 01d8183..d5321ab 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: vdr\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2012-08-13 18:38+0200\n" +"POT-Creation-Date: 2012-09-01 13:18+0200\n" "PO-Revision-Date: 2011-03-05 15:45+0100\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -181,6 +181,9 @@ msgstr "" msgid "short text" msgstr "Testo breve" +msgid "dvb content id" +msgstr "" + msgid " actors" msgstr " Attore" @@ -1089,6 +1089,9 @@ void cMenuSetupXmltv2vdrChannelMap::output(void) Add(new cMyMenuEditBitItem(tr("country and date"),&flags,USE_COUNTRYDATE),true); Add(new cMyMenuEditBitItem(tr("original title"),&flags,USE_ORIGTITLE),true); Add(new cMyMenuEditBitItem(tr("category"),&flags,USE_CATEGORIES),true); +#if VDRVERSNUM >= 10712 || EPGHANDLER + Add(new cMyMenuEditBitItem(tr("dvb content id"),&flags,USE_CONTENT),true); +#endif Add(new cMyMenuEditBitItem(tr("credits"),&flags,USE_CREDITS),true); c2=Current(); if ((flags & USE_CREDITS)==USE_CREDITS) |