XSLTv is a grid viewing program for XMLTV data files. It requires only an xmltv data file and a modern browser. All processing is completely client-side, resulting in a very simple installation, but a performance hit.

Features:

	* No complex installation - it could run off of your windows desktop.
	* Everything controlled by stylesheets - css files mimicking seven common web-based tv listings grids are included.
	* DHTML popups show more information about shows (i.e. description, rating and original airdate or release year)
	* Supports xmltv channel icons.
	* Cross-browser: Tested on Firefox 1.0.7, 1.5.0.1 and IE6.
	* Preferences allow changing grid width and number of columns.
	* Clicking on a program searches IMDB for the title - note that this only makes sense for movie and series programs.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Simple install:
Extract. Add an xmltv file titled tv.xml to the same directory. Open tv.html in a mozilla-based browser.

More info:
1. Get XMLTV installed and working. (http://membled.com/work/apps/xmltv/)
2. Drop all the files into a directory on your webserver. Note: This software does not require a webserver; it works perfectly from a directory on a windows machine.
3. Put a current xmltv file (which must be titled tv.xml) in the same directory. I use a cron job to automate this. This requires permissions on the tv.xml file to overwrite it each time (see the bashscripts directory for more information. The smaller the xml file, the quicker this will run; sorting seems to help with speed, but is not required.
4. Load tv.html in a webbrowser (not IE). Note: This file (and only this file) may be freely renamed (e.g. to index.html).

* Optionally, put your icons directory (which should be called "icons" and should contain the images referenced in the xml tree) in the web tree. In North America, obtain icons with tv_grab_na_icons; subsequent tv_grab_na_dd calls will add the necessary references to your xml file. Note: Where I live, several icons are .gif files with a .jpg extension. Don't correct them. The links in the xml are to the .jpg extension, and the browser will display it anyhow. 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Options:
1. Display hours: How many hours to display, 1-9. Default is 4.
2. Automatic table size: When checked, XSLTv will automatically select a table width appropriate to the number of hours to be displayed. Default is checked.
3. Table width: When (2) is not checked, you may specify a table width in pixels. This must be an integer between 1 and 9999. With the included stylesheets, the minimum is actually around 200px. Default is 800.
4. Start with next hour after: XSLTv can automatically skip to the next hour if you load it after a certain time. Thus, if this option is set to :45, and the page is loaded at 10:50, the grid will start at 11:00 instead of 10:00. Default is :00, which means the current time is simply truncated (if the page is loaded at 10:59, the listings grid will still start at 10:00).

5.	Channel popups: Deselect to disable the popups that appear when hovering over the channel headings. Default is checked.
6.	Description popups: Deselect to disable the popups that appear when hovering over the programs. This can result in a small performance improvement. Default is checked.
7.	Popup delay: Millisecond delay before popups (both kinds) appear. Must be an integer between 0 and 9999 (0 to 9.999 seconds). Default is 0.
8-14.	These options enable/disable all the contents of the program popup. Default is all enabled.
15.	Fix gaps in listings: Select this option if your listings file has gaps between programs, causing the display to look bad. To use this option you must first sort your xml file with the --by-channel option. Default is unchecked.
16.	Absolute icon references: By default, XSLTv looks for icons in a ./icons directory (no matter what is actually listed as the directory - XSLTv strips off all but the file name). By checking this box, XLSTv will treat the icon reference as a URL instead. Default is unchecked.
17.	Display day first in dates: Select to switch to dd/mm/yyyy. Deselect to display dates as mm/dd/yyyy. Default is unchecked. This field will automatically be filled when selecting a grabber, but may be changed.
18.	Grabber: Select the grabber you are using. This currently affects how the channels are labeled and the language of the months dropdown menu. If your grabber isn't included, it may be similar to one of the ones that is.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The channel sorting is configured for listings from tv_grab_na_dd. It is apparently not possible to configure this with a parameter. If your channels are out of order, you may need to change some code in tv.xsl.
Change the line containing <xsl:sort select="display-name[3]" data-type="number"/> to one of the following:
For tv_grab_fr:
<xsl:sort select="substring-after(substring-before(./@id,'.'),'C')" data-type="number"/>
For tv_grab_es:
<xsl:sort select="display-name[2]" data-type="number"/>

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
This software is published under the U of I/NCSA open source license.
Copyright 2006 Eric Lofgren