Section: User Contributed Perl Documentation (3)
XMLTV::ValidateFile - Validates an XMLTV file
Utility library that validates that a file is correct according tohttp://wiki.xmltv.org/index.php/XMLTVFormat.
All these functions are exported on demand.
- Load the xmltv dtd. Takes a single parameter which is the name ofthe xmltv dtd file.
LoadDtd must be called before ValidateFile can be called.
- Validate that a file is valid according to the XMLTV dtd and try to checkthat it contains valid information. ValidateFile takes a filename as parameterand 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. Eacherror takes the form of a keyword:
ValidateFile checks the following:
- The file is not well-formed XML.
- The file does not follow the XMLTV DTD.
- No channel-entry found for a channelid that is used in a programme-entry.
- More than one channel-entry found for a channelid.
- No programme entries were found in the file.
- There are no programme entries for one of the channels listed with achannel-entry.
- An xmltvid does not look like a proper id, i.e. it does not match/^[-a-zA-Z0-9]+(\.[-a-zA-Z0-9]+)+$/.
- A programme-entry without an id was found.
- A programme entry with an empty or missing title was found.
- A programme entry with an empty desc-element was found. The desc-elementshall be omitted if there is no description.
- A programme entry with an invalid start-time was found.
- A programme entry with an invalid stop-time was found.
- A programme entry with an invalid episode number was found.
- The file is encoded in iso-8859 but contains characters thathave 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.
- The file is encoded in utf-8 but contains characters that look strange.1) Mis-encoded single characters represented with [EF][BF][BD] bytes2) Mis-encoded single characters represented with [C3][AF][C2][BF][C2][BD] bytes3) Mis-encoded single characters in range [C2][80-9F]
If no errors are found, an empty list is returned.
It is currently necessary to specify the path to the xmltv dtd-file.This should not be necessary.
Copyright (C) 2006 Mattias Holmlund.
This program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; either version 2of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.
You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- EXPORTED FUNCTIONS
This document was created byman2html,using the manual pages.