XMLTV::ValidateFile3pm
Validates an xmltv file
Overview
Utility library that validates that a file is correct according to http://wiki.xmltv.org/index.php/XMLTVFormat.
Exported functions
All these functions are exported on demand.
- LoadDtd
-
Load the xmltv dtd. Takes a single parameter which is the name of the xmltv dtd file.
LoadDtd must be called before ValidateFile can be called.
- ValidateFile
-
Validate that a file is valid according to the XMLTV dtd and try to check that it contains valid information. ValidateFile takes a filename as parameter and optionally also a day and an offset and prints error messages to STDERR.
ValidateFile returns a list of errors that it found with the file. Each error takes the form of a keyword:
ValidateFile checks the following:
- notwell
-
The file is not well-formed XML.
- notvalid
-
The file does not follow the XMLTV DTD.
- invalidid
-
An xmltvid does not look like a proper id, i.e. it does not match /^[-a-zA-Z0-9]+(\.[-a-zA-Z0-9]+)+$/.
- duplicateid
-
More than one channel-entry found for a channelid.
- unknownid
-
No channel-entry found for a channelid that is used in a programme-entry.
- noprogrammes
-
No programme entries were found in the file.
- emptytitle
-
A programme entry with an empty or missing title was found.
- emptydescription
-
A programme entry with an empty desc-element was found. The desc-element shall be omitted if there is no description.
- badstart
-
A programme entry with an invalid start-time was found.
- badstop
-
A programme entry with an invalid stop-time was found.
- badepisode
-
A programme entry with an invalid episode number was found.
- missingtimezone
-
The start/stop time for a programme entry does not include a timezone.
- invalidtimezone
-
The start/stop time for a programme entry contains an invalid timezone.
- badiso8859
-
The file is encoded in iso-8859 but contains characters that have no meaning in iso-8859 (or are control characters). If it's iso-8859-1 (aka Latin 1) it might be some characters in windows-1252 encoding.
- badutf8
-
The file is encoded in utf-8 but contains characters that look strange. 1) Mis-encoded single characters represented with [EF][BF][BD] bytes 2) Mis-encoded single characters represented with [C3][AF][C2][BF][C2][BD] bytes 3) Mis-encoded single characters in range [C2][80-9F]
- badentity
-
The file contains one or more undefined XML entities.
If no errors are found, an empty list is returned.
Releases
10 releases since Debian 4.0 (Etch); the text changed 8 times.