Blame doc/html/validation.html

rpm-build d9acb6
rpm-build d9acb6
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
rpm-build d9acb6
<head>
rpm-build d9acb6
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
rpm-build d9acb6
<meta name="generator" content="Docutils 0.12: http://docutils.sourceforge.net/" />
rpm-build d9acb6
<title>Validation with lxml</title>
rpm-build d9acb6
<link rel="stylesheet" href="style.css" type="text/css" />
rpm-build d9acb6
<script type="text/javascript">
rpm-build d9acb6
function trigger_menu(event) {
rpm-build d9acb6
    var sidemenu = document.getElementById("sidemenu");
rpm-build d9acb6
    var classes = sidemenu.getAttribute("class");
rpm-build d9acb6
    classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
rpm-build d9acb6
    sidemenu.setAttribute("class", classes);
rpm-build d9acb6
    event.preventDefault();
rpm-build d9acb6
    event.stopPropagation();
rpm-build d9acb6
}
rpm-build d9acb6
function hide_menu() {
rpm-build d9acb6
    var sidemenu = document.getElementById("sidemenu");
rpm-build d9acb6
    var classes = sidemenu.getAttribute("class");
rpm-build d9acb6
    if (classes.indexOf(" visible") !== -1) {
rpm-build d9acb6
        sidemenu.setAttribute("class", classes.replace(" visible", ""));
rpm-build d9acb6
    }
rpm-build d9acb6
}
rpm-build d9acb6
</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
rpm-build d9acb6
<body onclick="hide_menu()">
rpm-build d9acb6
rpm-build d9acb6

Validation with lxml

rpm-build d9acb6
rpm-build d9acb6

Apart from the built-in DTD support in parsers, lxml currently supports three

rpm-build d9acb6
schema languages: DTD, Relax NG and XML Schema.  All three provide
rpm-build d9acb6
identical APIs in lxml, represented by validator classes with the obvious
rpm-build d9acb6
names.

rpm-build d9acb6

lxml also provides support for ISO-Schematron, based on the pure-XSLT

rpm-build d9acb6
skeleton implementation of Schematron:

rpm-build d9acb6

There is also basic support for pre-ISO-Schematron through the libxml2

rpm-build d9acb6
Schematron features. However, this does not currently support error reporting
rpm-build d9acb6
in the validation phase due to insufficiencies in the implementation as of
rpm-build d9acb6
libxml2 2.6.30.

rpm-build d9acb6
rpm-build d9acb6

Contents

rpm-build d9acb6
    rpm-build d9acb6
  • Validation at parse time
  • rpm-build d9acb6
  • DTD
  • rpm-build d9acb6
  • RelaxNG
  • rpm-build d9acb6
  • XMLSchema
  • rpm-build d9acb6
  • Schematron
  • rpm-build d9acb6
  • (Pre-ISO-Schematron)
  • rpm-build d9acb6
    rpm-build d9acb6
    rpm-build d9acb6

    The usual setup procedure:

    rpm-build d9acb6
    >>> from lxml import etree