XMLTV::ValidateFile(3pm)

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.

  1. 4.0
  2. 5.0
  3. 6.0
  4. 7–8
  5. 9
  6. 10
  7. 11
  8. 12
  9. 13

Bugs

It is currently necessary to specify the path to the xmltv dtd-file. This should not be necessary.

From libxmltv-perl 1.4.0-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.