XMLTV::ValidateFile - Man Page

Validates an XMLTV file

Description

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.

Bugs

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

Info

2024-08-06 perl v5.40.0 User Contributed Perl Documentation