A computer program which checks a file for adherence to a set of rules. For example, programming languages are processed by a parser to check that the programmer has adhered to the syntax of the language. The Extensible Markup Language (XML) is also associated with a number of parsers which check documents expressed in XML for adherence to their document type definition.