c840ad2308bf9e224e87ae326ba11b1ba2ca8a65
[platform/upstream/python-lxml.git] / doc / html / api / lxml.isoschematron.Schematron-class.html
1 <?xml version="1.0" encoding="ascii"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3           "DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5 <head>
6   <title>lxml.isoschematron.Schematron</title>
7   <link rel="stylesheet" href="epydoc.css" type="text/css" />
8   <script type="text/javascript" src="epydoc.js"></script>
9 </head>
10
11 <body bgcolor="white" text="black" link="blue" vlink="#204080"
12       alink="#204080">
13 <!-- ==================== NAVIGATION BAR ==================== -->
14 <table class="navbar" border="0" width="100%" cellpadding="0"
15        bgcolor="#a0c0ff" cellspacing="0">
16   <tr valign="middle">
17   <!-- Home link -->
18       <th>&nbsp;&nbsp;&nbsp;<a
19         href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
20
21   <!-- Tree link -->
22       <th>&nbsp;&nbsp;&nbsp;<a
23         href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
24
25   <!-- Index link -->
26       <th>&nbsp;&nbsp;&nbsp;<a
27         href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
28
29   <!-- Help link -->
30       <th>&nbsp;&nbsp;&nbsp;<a
31         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
32
33   <!-- Project homepage -->
34       <th class="navbar" align="right" width="100%">
35         <table border="0" cellpadding="0" cellspacing="0">
36           <tr><th class="navbar" align="center"
37             ><a class="navbar" target="_top" href="/">lxml API</a></th>
38           </tr></table></th>
39   </tr>
40 </table>
41 <table width="100%" cellpadding="0" cellspacing="0">
42   <tr valign="top">
43     <td width="100%">
44       <span class="breadcrumbs">
45         <a href="lxml-module.html">Package&nbsp;lxml</a> ::
46         <a href="lxml.isoschematron-module.html">Package&nbsp;isoschematron</a> ::
47         Class&nbsp;Schematron
48       </span>
49     </td>
50     <td>
51       <table cellpadding="0" cellspacing="0">
52         <!-- hide/show private -->
53         <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
54     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
55         <tr><td align="right"><span class="options"
56             >[<a href="frames.html" target="_top">frames</a
57             >]&nbsp;|&nbsp;<a href="lxml.isoschematron.Schematron-class.html"
58             target="_top">no&nbsp;frames</a>]</span></td></tr>
59       </table>
60     </td>
61   </tr>
62 </table>
63 <!-- ==================== CLASS DESCRIPTION ==================== -->
64 <h1 class="epydoc">Class Schematron</h1><p class="nomargin-top"><span class="codelink"><a href="lxml.isoschematron-pysrc.html#Schematron">source&nbsp;code</a></span></p>
65 <pre class="base-tree">
66       object --+    
67                |    
68 <a href="lxml.etree._Validator-class.html" onclick="show_private();">etree._Validator</a> --+
69                    |
70                   <strong class="uidshort">Schematron</strong>
71 </pre>
72
73 <hr />
74 <p>An ISO Schematron validator.</p>
75 <p>Pass a root Element or an ElementTree to turn it into a validator.
76 Alternatively, pass a filename as keyword argument 'file' to parse from
77 the file system.</p>
78 <p>Schematron is a less well known, but very powerful schema language.
79 The main idea is to use the capabilities of XPath to put restrictions on
80 the structure and the content of XML documents.</p>
81 <p>The standard behaviour is to fail on <tt class="rst-docutils literal"><span class="pre">failed-assert</span></tt> findings only
82 (<tt class="rst-docutils literal">ASSERTS_ONLY</tt>).  To change this, you can either pass a report filter
83 function to the <tt class="rst-docutils literal">error_finder</tt> parameter (e.g. <tt class="rst-docutils literal">ASSERTS_AND_REPORTS</tt>
84 or a custom <tt class="rst-docutils literal">XPath</tt> object), or subclass isoschematron.Schematron for
85 complete control of the validation process.</p>
86 <p>Built on the Schematron language 'reference' skeleton pure-xslt
87 implementation, the validator is created as an XSLT 1.0 stylesheet using
88 these steps:</p>
89 <blockquote>
90 <ol class="rst-arabic simple" start="0">
91 <li>(Extract from XML Schema or RelaxNG schema)</li>
92 <li>Process inclusions</li>
93 <li>Process abstract patterns</li>
94 <li>Compile the schematron schema to XSLT</li>
95 </ol>
96 </blockquote>
97 <p>The <tt class="rst-docutils literal">include</tt> and <tt class="rst-docutils literal">expand</tt> keyword arguments can be used to switch off
98 steps 1) and 2).
99 To set parameters for steps 1), 2) and 3) hand parameter dictionaries to the
100 keyword arguments <tt class="rst-docutils literal">include_params</tt>, <tt class="rst-docutils literal">expand_params</tt> or
101 <tt class="rst-docutils literal">compile_params</tt>.
102 For convenience, the compile-step parameter <tt class="rst-docutils literal">phase</tt> is also exposed as a
103 keyword argument <tt class="rst-docutils literal">phase</tt>. This takes precedence if the parameter is also
104 given in the parameter dictionary.</p>
105 <p>If <tt class="rst-docutils literal">store_schematron</tt> is set to True, the (included-and-expanded)
106 schematron document tree is stored and available through the <tt class="rst-docutils literal">schematron</tt>
107 property.
108 If <tt class="rst-docutils literal">store_xslt</tt> is set to True, the validation XSLT document tree will be
109 stored and can be retrieved through the <tt class="rst-docutils literal">validator_xslt</tt> property.
110 With <tt class="rst-docutils literal">store_report</tt> set to True (default: False), the resulting validation
111 report document gets stored and can be accessed as the <tt class="rst-docutils literal">validation_report</tt>
112 property.</p>
113 <p>Here is a usage example:</p>
114 <pre class="rst-literal-block">
115 &gt;&gt;&gt; from lxml import etree
116 &gt;&gt;&gt; from lxml.isoschematron import Schematron
117
118 &gt;&gt;&gt; schematron = Schematron(etree.XML('''
119 ... &lt;schema xmlns=&quot;http://purl.oclc.org/dsdl/schematron&quot; &gt;
120 ...   &lt;pattern id=&quot;id_only_attribute&quot;&gt;
121 ...     &lt;title&gt;id is the only permitted attribute name&lt;/title&gt;
122 ...     &lt;rule context=&quot;*&quot;&gt;
123 ...       &lt;report test=&quot;&#64;*[not(name()='id')]&quot;&gt;Attribute
124 ...         &lt;name path=&quot;&#64;*[not(name()='id')]&quot;/&gt; is forbidden&lt;name/&gt;
125 ...       &lt;/report&gt;
126 ...     &lt;/rule&gt;
127 ...   &lt;/pattern&gt;
128 ... &lt;/schema&gt;'''),
129 ... error_finder=Schematron.ASSERTS_AND_REPORTS)
130
131 &gt;&gt;&gt; xml = etree.XML('''
132 ... &lt;AAA name=&quot;aaa&quot;&gt;
133 ...   &lt;BBB id=&quot;bbb&quot;/&gt;
134 ...   &lt;CCC color=&quot;ccc&quot;/&gt;
135 ... &lt;/AAA&gt;
136 ... ''')
137
138 &gt;&gt;&gt; schematron.validate(xml)
139 False
140
141 &gt;&gt;&gt; xml = etree.XML('''
142 ... &lt;AAA id=&quot;aaa&quot;&gt;
143 ...   &lt;BBB id=&quot;bbb&quot;/&gt;
144 ...   &lt;CCC/&gt;
145 ... &lt;/AAA&gt;
146 ... ''')
147
148 &gt;&gt;&gt; schematron.validate(xml)
149 True
150 </pre>
151
152 <!-- ==================== INSTANCE METHODS ==================== -->
153 <a name="section-InstanceMethods"></a>
154 <table class="summary" border="1" cellpadding="3"
155        cellspacing="0" width="100%" bgcolor="white">
156 <tr bgcolor="#70b0f0" class="table-header">
157   <td colspan="2" class="table-header">
158     <table border="0" cellpadding="0" cellspacing="0" width="100%">
159       <tr valign="top">
160         <td align="left"><span class="table-header">Instance Methods</span></td>
161         <td align="right" valign="top"
162          ><span class="options">[<a href="#section-InstanceMethods"
163          class="privatelink" onclick="toggle_private();"
164          >hide private</a>]</span></td>
165       </tr>
166     </table>
167   </td>
168 </tr>
169 <tr class="private">
170     <td width="15%" align="right" valign="top" class="summary">
171       <span class="summary-type">&nbsp;</span>
172     </td><td class="summary">
173       <table width="100%" cellpadding="0" cellspacing="0" border="0">
174         <tr>
175           <td><span class="summary-sig"><a name="_extract"></a><span class="summary-sig-name">_extract</span>(<span class="summary-sig-arg">self</span>,
176         <span class="summary-sig-arg">element</span>)</span><br />
177       Extract embedded schematron schema from non-schematron host schema.
178 This method will only be called by __init__ if the given schema document
179 is not a schematron schema by itself.
180 Must return a schematron schema document tree or None.</td>
181           <td align="right" valign="top">
182             <span class="codelink"><a href="lxml.isoschematron-pysrc.html#Schematron._extract">source&nbsp;code</a></span>
183             
184           </td>
185         </tr>
186       </table>
187       
188     </td>
189   </tr>
190 <tr>
191     <td width="15%" align="right" valign="top" class="summary">
192       <span class="summary-type">&nbsp;</span>
193     </td><td class="summary">
194       <table width="100%" cellpadding="0" cellspacing="0" border="0">
195         <tr>
196           <td><span class="summary-sig"><a href="lxml.isoschematron.Schematron-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
197         <span class="summary-sig-arg">etree</span>=<span class="summary-sig-default">None</span>,
198         <span class="summary-sig-arg">file</span>=<span class="summary-sig-default">None</span>,
199         <span class="summary-sig-arg">include</span>=<span class="summary-sig-default">True</span>,
200         <span class="summary-sig-arg">expand</span>=<span class="summary-sig-default">True</span>,
201         <span class="summary-sig-arg">include_params</span>=<span class="summary-sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>,
202         <span class="summary-sig-arg">expand_params</span>=<span class="summary-sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>,
203         <span class="summary-sig-arg">compile_params</span>=<span class="summary-sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>,
204         <span class="summary-sig-arg">store_schematron</span>=<span class="summary-sig-default">False</span>,
205         <span class="summary-sig-arg">store_xslt</span>=<span class="summary-sig-default">False</span>,
206         <span class="summary-sig-arg">store_report</span>=<span class="summary-sig-default">False</span>,
207         <span class="summary-sig-arg">phase</span>=<span class="summary-sig-default">None</span>,
208         <span class="summary-sig-arg">error_finder</span>=<span class="summary-sig-default">//svrl:failed-assert</span>)</span><br />
209       x.__init__(...) initializes x; see help(type(x)) for signature</td>
210           <td align="right" valign="top">
211             <span class="codelink"><a href="lxml.isoschematron-pysrc.html#Schematron.__init__">source&nbsp;code</a></span>
212             
213           </td>
214         </tr>
215       </table>
216       
217     </td>
218   </tr>
219 <tr>
220     <td width="15%" align="right" valign="top" class="summary">
221       <span class="summary-type">&nbsp;</span>
222     </td><td class="summary">
223       <table width="100%" cellpadding="0" cellspacing="0" border="0">
224         <tr>
225           <td><span class="summary-sig"><a href="lxml.isoschematron.Schematron-class.html#__call__" class="summary-sig-name">__call__</a>(<span class="summary-sig-arg">self</span>,
226         <span class="summary-sig-arg">etree</span>)</span><br />
227       Validate doc using Schematron.</td>
228           <td align="right" valign="top">
229             <span class="codelink"><a href="lxml.isoschematron-pysrc.html#Schematron.__call__">source&nbsp;code</a></span>
230             
231           </td>
232         </tr>
233       </table>
234       
235     </td>
236   </tr>
237   <tr>
238     <td colspan="2" class="summary">
239     <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.etree._Validator-class.html" onclick="show_private();">etree._Validator</a></code></b>:
240       <code><a href="lxml.etree._Validator-class.html#__new__">__new__</a></code>,
241       <code><a href="lxml.etree._Validator-class.html#assertValid">assertValid</a></code>,
242       <code><a href="lxml.etree._Validator-class.html#assert_">assert_</a></code>,
243       <code><a href="lxml.etree._Validator-class.html#validate">validate</a></code>
244       </p>
245     <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.etree._Validator-class.html" onclick="show_private();">etree._Validator</a></code></b> (private):
246       <code><a href="lxml.etree._Validator-class.html#_append_log_message" onclick="show_private();">_append_log_message</a></code>,
247       <code><a href="lxml.etree._Validator-class.html#_clear_error_log" onclick="show_private();">_clear_error_log</a></code>
248       </p></div>
249     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
250       <code>__delattr__</code>,
251       <code>__format__</code>,
252       <code>__getattribute__</code>,
253       <code>__hash__</code>,
254       <code>__reduce__</code>,
255       <code>__reduce_ex__</code>,
256       <code>__repr__</code>,
257       <code>__setattr__</code>,
258       <code>__sizeof__</code>,
259       <code>__str__</code>,
260       <code>__subclasshook__</code>
261       </p>
262     </td>
263   </tr>
264 </table>
265 <!-- ==================== CLASS VARIABLES ==================== -->
266 <a name="section-ClassVariables"></a>
267 <table class="summary" border="1" cellpadding="3"
268        cellspacing="0" width="100%" bgcolor="white">
269 <tr bgcolor="#70b0f0" class="table-header">
270   <td colspan="2" class="table-header">
271     <table border="0" cellpadding="0" cellspacing="0" width="100%">
272       <tr valign="top">
273         <td align="left"><span class="table-header">Class Variables</span></td>
274         <td align="right" valign="top"
275          ><span class="options">[<a href="#section-ClassVariables"
276          class="privatelink" onclick="toggle_private();"
277          >hide private</a>]</span></td>
278       </tr>
279     </table>
280   </td>
281 </tr>
282 <tr class="private">
283     <td width="15%" align="right" valign="top" class="summary">
284       <span class="summary-type">&nbsp;</span>
285     </td><td class="summary">
286         <a name="_domain"></a><span class="summary-name">_domain</span> = <code title="28">28</code>
287     </td>
288   </tr>
289 <tr class="private">
290     <td width="15%" align="right" valign="top" class="summary">
291       <span class="summary-type">&nbsp;</span>
292     </td><td class="summary">
293         <a name="_level"></a><span class="summary-name">_level</span> = <code title="2">2</code>
294     </td>
295   </tr>
296 <tr class="private">
297     <td width="15%" align="right" valign="top" class="summary">
298       <span class="summary-type">&nbsp;</span>
299     </td><td class="summary">
300         <a name="_error_type"></a><span class="summary-name">_error_type</span> = <code title="4000">4000</code>
301     </td>
302   </tr>
303 <tr>
304     <td width="15%" align="right" valign="top" class="summary">
305       <span class="summary-type">&nbsp;</span>
306     </td><td class="summary">
307         <a name="ASSERTS_ONLY"></a><span class="summary-name">ASSERTS_ONLY</span> = <code title="//svrl:failed-assert">//svrl:failed-assert</code>
308     </td>
309   </tr>
310 <tr>
311     <td width="15%" align="right" valign="top" class="summary">
312       <span class="summary-type">&nbsp;</span>
313     </td><td class="summary">
314         <a href="lxml.isoschematron.Schematron-class.html#ASSERTS_AND_REPORTS" class="summary-name">ASSERTS_AND_REPORTS</a> = <code title="//svrl:failed-assert | //svrl:successful-report">//svrl:failed-assert | //svrl:successful<code class="variable-ellipsis">...</code></code>
315     </td>
316   </tr>
317 <tr class="private">
318     <td width="15%" align="right" valign="top" class="summary">
319       <span class="summary-type">&nbsp;</span>
320     </td><td class="summary">
321         <a name="_extract_xsd"></a><span class="summary-name">_extract_xsd</span> = <code title="&lt;lxml.etree.XSLT object&gt;">&lt;lxml.etree.XSLT object&gt;</code>
322     </td>
323   </tr>
324 <tr class="private">
325     <td width="15%" align="right" valign="top" class="summary">
326       <span class="summary-type">&nbsp;</span>
327     </td><td class="summary">
328         <a name="_extract_rng"></a><span class="summary-name">_extract_rng</span> = <code title="&lt;lxml.etree.XSLT object&gt;">&lt;lxml.etree.XSLT object&gt;</code>
329     </td>
330   </tr>
331 <tr class="private">
332     <td width="15%" align="right" valign="top" class="summary">
333       <span class="summary-type">&nbsp;</span>
334     </td><td class="summary">
335         <a name="_include"></a><span class="summary-name">_include</span> = <code title="&lt;lxml.etree.XSLT object&gt;">&lt;lxml.etree.XSLT object&gt;</code>
336     </td>
337   </tr>
338 <tr class="private">
339     <td width="15%" align="right" valign="top" class="summary">
340       <span class="summary-type">&nbsp;</span>
341     </td><td class="summary">
342         <a name="_expand"></a><span class="summary-name">_expand</span> = <code title="&lt;lxml.etree.XSLT object&gt;">&lt;lxml.etree.XSLT object&gt;</code>
343     </td>
344   </tr>
345 <tr class="private">
346     <td width="15%" align="right" valign="top" class="summary">
347       <span class="summary-type">&nbsp;</span>
348     </td><td class="summary">
349         <a name="_compile"></a><span class="summary-name">_compile</span> = <code title="&lt;lxml.etree.XSLT object&gt;">&lt;lxml.etree.XSLT object&gt;</code>
350     </td>
351   </tr>
352 <tr class="private">
353     <td width="15%" align="right" valign="top" class="summary">
354       <span class="summary-type">&nbsp;</span>
355     </td><td class="summary">
356         <a name="_validation_errors"></a><span class="summary-name">_validation_errors</span> = <code title="//svrl:failed-assert">//svrl:failed-assert</code>
357     </td>
358   </tr>
359 </table>
360 <!-- ==================== PROPERTIES ==================== -->
361 <a name="section-Properties"></a>
362 <table class="summary" border="1" cellpadding="3"
363        cellspacing="0" width="100%" bgcolor="white">
364 <tr bgcolor="#70b0f0" class="table-header">
365   <td colspan="2" class="table-header">
366     <table border="0" cellpadding="0" cellspacing="0" width="100%">
367       <tr valign="top">
368         <td align="left"><span class="table-header">Properties</span></td>
369         <td align="right" valign="top"
370          ><span class="options">[<a href="#section-Properties"
371          class="privatelink" onclick="toggle_private();"
372          >hide private</a>]</span></td>
373       </tr>
374     </table>
375   </td>
376 </tr>
377 <tr>
378     <td width="15%" align="right" valign="top" class="summary">
379       <span class="summary-type">&nbsp;</span>
380     </td><td class="summary">
381         <a href="lxml.isoschematron.Schematron-class.html#schematron" class="summary-name">schematron</a><br />
382       ISO-schematron schema document (None if object has been initialized
383 with store_schematron=False).
384     </td>
385   </tr>
386 <tr>
387     <td width="15%" align="right" valign="top" class="summary">
388       <span class="summary-type">&nbsp;</span>
389     </td><td class="summary">
390         <a href="lxml.isoschematron.Schematron-class.html#validator_xslt" class="summary-name">validator_xslt</a><br />
391       ISO-schematron skeleton implementation XSLT validator document (None
392 if object has been initialized with store_xslt=False).
393     </td>
394   </tr>
395 <tr>
396     <td width="15%" align="right" valign="top" class="summary">
397       <span class="summary-type">&nbsp;</span>
398     </td><td class="summary">
399         <a href="lxml.isoschematron.Schematron-class.html#validation_report" class="summary-name">validation_report</a><br />
400       ISO-schematron validation result report (None if result-storing has
401 been turned off).
402     </td>
403   </tr>
404   <tr>
405     <td colspan="2" class="summary">
406     <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.etree._Validator-class.html" onclick="show_private();">etree._Validator</a></code></b>:
407       <code><a href="lxml.etree._Validator-class.html#error_log">error_log</a></code>
408       </p>
409     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
410       <code>__class__</code>
411       </p>
412     </td>
413   </tr>
414 </table>
415 <!-- ==================== METHOD DETAILS ==================== -->
416 <a name="section-MethodDetails"></a>
417 <table class="details" border="1" cellpadding="3"
418        cellspacing="0" width="100%" bgcolor="white">
419 <tr bgcolor="#70b0f0" class="table-header">
420   <td colspan="2" class="table-header">
421     <table border="0" cellpadding="0" cellspacing="0" width="100%">
422       <tr valign="top">
423         <td align="left"><span class="table-header">Method Details</span></td>
424         <td align="right" valign="top"
425          ><span class="options">[<a href="#section-MethodDetails"
426          class="privatelink" onclick="toggle_private();"
427          >hide private</a>]</span></td>
428       </tr>
429     </table>
430   </td>
431 </tr>
432 </table>
433 <a name="__init__"></a>
434 <div>
435 <table class="details" border="1" cellpadding="3"
436        cellspacing="0" width="100%" bgcolor="white">
437 <tr><td>
438   <table width="100%" cellpadding="0" cellspacing="0" border="0">
439   <tr valign="top"><td>
440   <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
441         <span class="sig-arg">etree</span>=<span class="sig-default">None</span>,
442         <span class="sig-arg">file</span>=<span class="sig-default">None</span>,
443         <span class="sig-arg">include</span>=<span class="sig-default">True</span>,
444         <span class="sig-arg">expand</span>=<span class="sig-default">True</span>,
445         <span class="sig-arg">include_params</span>=<span class="sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>,
446         <span class="sig-arg">expand_params</span>=<span class="sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>,
447         <span class="sig-arg">compile_params</span>=<span class="sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>,
448         <span class="sig-arg">store_schematron</span>=<span class="sig-default">False</span>,
449         <span class="sig-arg">store_xslt</span>=<span class="sig-default">False</span>,
450         <span class="sig-arg">store_report</span>=<span class="sig-default">False</span>,
451         <span class="sig-arg">phase</span>=<span class="sig-default">None</span>,
452         <span class="sig-arg">error_finder</span>=<span class="sig-default">//svrl:failed-assert</span>)</span>
453     <br /><em class="fname">(Constructor)</em>
454   </h3>
455   </td><td align="right" valign="top"
456     ><span class="codelink"><a href="lxml.isoschematron-pysrc.html#Schematron.__init__">source&nbsp;code</a></span>&nbsp;
457     </td>
458   </tr></table>
459   
460   x.__init__(...) initializes x; see help(type(x)) for signature
461   <dl class="fields">
462     <dt>Overrides:
463         object.__init__
464         <dd><em class="note">(inherited documentation)</em></dd>
465     </dt>
466   </dl>
467 </td></tr></table>
468 </div>
469 <a name="__call__"></a>
470 <div>
471 <table class="details" border="1" cellpadding="3"
472        cellspacing="0" width="100%" bgcolor="white">
473 <tr><td>
474   <table width="100%" cellpadding="0" cellspacing="0" border="0">
475   <tr valign="top"><td>
476   <h3 class="epydoc"><span class="sig"><span class="sig-name">__call__</span>(<span class="sig-arg">self</span>,
477         <span class="sig-arg">etree</span>)</span>
478     <br /><em class="fname">(Call operator)</em>
479   </h3>
480   </td><td align="right" valign="top"
481     ><span class="codelink"><a href="lxml.isoschematron-pysrc.html#Schematron.__call__">source&nbsp;code</a></span>&nbsp;
482     </td>
483   </tr></table>
484   
485   <p>Validate doc using Schematron.</p>
486 <p>Returns true if document is valid, false if not.</p>
487   <dl class="fields">
488   </dl>
489 </td></tr></table>
490 </div>
491 <br />
492 <!-- ==================== CLASS VARIABLE DETAILS ==================== -->
493 <a name="section-ClassVariableDetails"></a>
494 <table class="details" border="1" cellpadding="3"
495        cellspacing="0" width="100%" bgcolor="white">
496 <tr bgcolor="#70b0f0" class="table-header">
497   <td colspan="2" class="table-header">
498     <table border="0" cellpadding="0" cellspacing="0" width="100%">
499       <tr valign="top">
500         <td align="left"><span class="table-header">Class Variable Details</span></td>
501         <td align="right" valign="top"
502          ><span class="options">[<a href="#section-ClassVariableDetails"
503          class="privatelink" onclick="toggle_private();"
504          >hide private</a>]</span></td>
505       </tr>
506     </table>
507   </td>
508 </tr>
509 </table>
510 <a name="ASSERTS_AND_REPORTS"></a>
511 <div>
512 <table class="details" border="1" cellpadding="3"
513        cellspacing="0" width="100%" bgcolor="white">
514 <tr><td>
515   <h3 class="epydoc">ASSERTS_AND_REPORTS</h3>
516   
517   <dl class="fields">
518   </dl>
519   <dl class="fields">
520     <dt>Value:</dt>
521       <dd><table><tr><td><pre class="variable">
522 //svrl:failed-assert | //svrl:successful-report
523 </pre></td></tr></table>
524 </dd>
525   </dl>
526 </td></tr></table>
527 </div>
528 <br />
529 <!-- ==================== PROPERTY DETAILS ==================== -->
530 <a name="section-PropertyDetails"></a>
531 <table class="details" border="1" cellpadding="3"
532        cellspacing="0" width="100%" bgcolor="white">
533 <tr bgcolor="#70b0f0" class="table-header">
534   <td colspan="2" class="table-header">
535     <table border="0" cellpadding="0" cellspacing="0" width="100%">
536       <tr valign="top">
537         <td align="left"><span class="table-header">Property Details</span></td>
538         <td align="right" valign="top"
539          ><span class="options">[<a href="#section-PropertyDetails"
540          class="privatelink" onclick="toggle_private();"
541          >hide private</a>]</span></td>
542       </tr>
543     </table>
544   </td>
545 </tr>
546 </table>
547 <a name="schematron"></a>
548 <div>
549 <table class="details" border="1" cellpadding="3"
550        cellspacing="0" width="100%" bgcolor="white">
551 <tr><td>
552   <h3 class="epydoc">schematron</h3>
553   ISO-schematron schema document (None if object has been initialized
554 with store_schematron=False).
555   <dl class="fields">
556     <dt>Get Method:</dt>
557     <dd class="value"><span class="summary-sig"><i>unreachable</i>.schematron(<span class="summary-sig-arg">self</span>)</span>
558         - ISO-schematron schema document (None if object has been initialized
559 with store_schematron=False).
560     </dd>
561   </dl>
562 </td></tr></table>
563 </div>
564 <a name="validator_xslt"></a>
565 <div>
566 <table class="details" border="1" cellpadding="3"
567        cellspacing="0" width="100%" bgcolor="white">
568 <tr><td>
569   <h3 class="epydoc">validator_xslt</h3>
570   ISO-schematron skeleton implementation XSLT validator document (None
571 if object has been initialized with store_xslt=False).
572   <dl class="fields">
573     <dt>Get Method:</dt>
574     <dd class="value"><span class="summary-sig"><i>unreachable</i>.validator_xslt(<span class="summary-sig-arg">self</span>)</span>
575         - ISO-schematron skeleton implementation XSLT validator document (None
576 if object has been initialized with store_xslt=False).
577     </dd>
578   </dl>
579 </td></tr></table>
580 </div>
581 <a name="validation_report"></a>
582 <div>
583 <table class="details" border="1" cellpadding="3"
584        cellspacing="0" width="100%" bgcolor="white">
585 <tr><td>
586   <h3 class="epydoc">validation_report</h3>
587   ISO-schematron validation result report (None if result-storing has
588 been turned off).
589   <dl class="fields">
590     <dt>Get Method:</dt>
591     <dd class="value"><span class="summary-sig"><i>unreachable</i>.validation_report(<span class="summary-sig-arg">self</span>)</span>
592         - ISO-schematron validation result report (None if result-storing has
593 been turned off).
594     </dd>
595   </dl>
596 </td></tr></table>
597 </div>
598 <br />
599 <!-- ==================== NAVIGATION BAR ==================== -->
600 <table class="navbar" border="0" width="100%" cellpadding="0"
601        bgcolor="#a0c0ff" cellspacing="0">
602   <tr valign="middle">
603   <!-- Home link -->
604       <th>&nbsp;&nbsp;&nbsp;<a
605         href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
606
607   <!-- Tree link -->
608       <th>&nbsp;&nbsp;&nbsp;<a
609         href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
610
611   <!-- Index link -->
612       <th>&nbsp;&nbsp;&nbsp;<a
613         href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
614
615   <!-- Help link -->
616       <th>&nbsp;&nbsp;&nbsp;<a
617         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
618
619   <!-- Project homepage -->
620       <th class="navbar" align="right" width="100%">
621         <table border="0" cellpadding="0" cellspacing="0">
622           <tr><th class="navbar" align="center"
623             ><a class="navbar" target="_top" href="/">lxml API</a></th>
624           </tr></table></th>
625   </tr>
626 </table>
627 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
628   <tr>
629     <td align="left" class="footer">
630     Generated by Epydoc 3.0.1
631     on Wed Jan 29 12:26:21 2020
632     </td>
633     <td align="right" class="footer">
634       <a target="mainFrame" href="http://epydoc.sourceforge.net"
635         >http://epydoc.sourceforge.net</a>
636     </td>
637   </tr>
638 </table>
639
640 <script type="text/javascript">
641   <!--
642   // Private objects are initially displayed (because if
643   // javascript is turned off then we want them to be
644   // visible); but by default, we want to hide them.  So hide
645   // them unless we have a cookie that says to show them.
646   checkCookie();
647   // -->
648 </script>
649 </body>
650 </html>