1.. _package-api:
2
3***********
4Package API
5***********
6
7
8.. _errors-and-exceptions:
9
10Errors and exceptions
11=====================
12
13.. autoexception:: xmlschema.XMLSchemaException
14.. autoexception:: xmlschema.XMLResourceError
15.. autoexception:: xmlschema.XMLSchemaNamespaceError
16
17.. autoexception:: xmlschema.XMLSchemaValidatorError
18.. autoexception:: xmlschema.XMLSchemaNotBuiltError
19.. autoexception:: xmlschema.XMLSchemaParseError
20.. autoexception:: xmlschema.XMLSchemaModelError
21.. autoexception:: xmlschema.XMLSchemaModelDepthError
22.. autoexception:: xmlschema.XMLSchemaValidationError
23.. autoexception:: xmlschema.XMLSchemaDecodeError
24.. autoexception:: xmlschema.XMLSchemaEncodeError
25.. autoexception:: xmlschema.XMLSchemaChildrenValidationError
26
27.. autoexception:: xmlschema.XMLSchemaIncludeWarning
28.. autoexception:: xmlschema.XMLSchemaImportWarning
29.. autoexception:: xmlschema.XMLSchemaTypeTableWarning
30
31
32.. _document-level-api:
33
34Document level API
35==================
36
37.. autofunction:: xmlschema.validate
38.. autofunction:: xmlschema.is_valid
39.. autofunction:: xmlschema.iter_errors
40.. autofunction:: xmlschema.to_dict
41.. autofunction:: xmlschema.to_json
42.. autofunction:: xmlschema.from_json
43
44
45.. _schema-level-api:
46
47Schema level API
48================
49
50.. class:: xmlschema.XMLSchema10
51.. class:: xmlschema.XMLSchema11
52
53    The classes for XSD v1.0 and v1.1 schema instances. They are both generated by the
54    meta-class :class:`XMLSchemaMeta` and take the same API of :class:`XMLSchemaBase`.
55
56.. autoclass:: xmlschema.XMLSchema
57
58.. autoclass:: xmlschema.XMLSchemaBase
59
60    .. autoattribute:: root
61    .. automethod:: get_text
62    .. autoattribute:: name
63    .. autoattribute:: url
64    .. autoattribute:: base_url
65
66    .. autoattribute:: tag
67    .. autoattribute:: id
68    .. autoattribute:: version
69
70    .. autoattribute:: schema_location
71    .. autoattribute:: no_namespace_schema_location
72    .. autoattribute:: target_prefix
73    .. autoattribute:: default_namespace
74    .. autoattribute:: root_elements
75    .. autoattribute:: simple_types
76    .. autoattribute:: complex_types
77
78    .. automethod:: builtin_types
79    .. automethod:: create_meta_schema
80    .. automethod:: create_any_content_group
81    .. automethod:: create_any_attribute_group
82    .. automethod:: create_any_type
83
84    .. automethod:: get_locations
85    .. automethod:: include_schema
86    .. automethod:: import_schema
87    .. automethod:: export
88    .. automethod:: resolve_qname
89    .. automethod:: iter_globals
90    .. automethod:: iter_components
91
92    .. automethod:: check_schema
93    .. automethod:: build
94    .. automethod:: clear
95    .. autoattribute:: built
96    .. autoattribute:: validation_attempted
97    .. autoattribute:: validity
98    .. autoattribute:: all_errors
99
100    .. automethod:: get_converter
101    .. automethod:: validate
102    .. automethod:: is_valid
103    .. automethod:: iter_errors
104    .. automethod:: decode
105
106    .. _schema-iter_decode:
107
108    .. automethod:: iter_decode
109    .. automethod:: encode
110
111    .. _schema-iter_encode:
112
113    .. automethod:: iter_encode
114
115
116.. _global-maps-api:
117
118Global maps API
119===============
120
121.. autoclass:: xmlschema.XsdGlobals
122    :members: copy, register, iter_schemas, iter_globals, lookup_notation, lookup_type,
123        lookup_attribute, lookup_attribute_group, lookup_group, lookup_element, lookup,
124        clear, build, unbuilt, check
125
126
127.. _converters-api:
128
129Converters API
130==============
131
132The base class `XMLSchemaConverter` is used for defining generic converters.
133The subclasses implement some of the most used `conventions for converting XML
134to JSON data <http://wiki.open311.org/JSON_and_XML_Conversion/>`_.
135
136.. autoclass:: xmlschema.ElementData
137
138.. autoclass:: xmlschema.XMLSchemaConverter
139
140    .. autoattribute:: lossy
141    .. autoattribute:: losslessly
142
143    .. automethod:: copy
144    .. automethod:: map_attributes
145    .. automethod:: map_content
146    .. automethod:: etree_element
147    .. automethod:: element_decode
148    .. automethod:: element_encode
149
150    .. automethod:: map_qname
151    .. automethod:: unmap_qname
152
153.. autoclass:: xmlschema.UnorderedConverter
154
155.. autoclass:: xmlschema.ParkerConverter
156
157.. autoclass:: xmlschema.BadgerFishConverter
158
159.. autoclass:: xmlschema.AbderaConverter
160
161.. autoclass:: xmlschema.JsonMLConverter
162
163.. autoclass:: xmlschema.ColumnarConverter
164
165
166.. _data-objects-api:
167
168Data objects API
169================
170
171.. autoclass:: xmlschema.DataElement
172.. autoclass:: xmlschema.DataElementConverter
173.. autoclass:: xmlschema.DataBindingConverter
174
175
176.. _xml-resource-api:
177
178XML resources API
179=================
180
181.. autofunction:: xmlschema.fetch_resource
182.. autofunction:: xmlschema.fetch_schema
183.. autofunction:: xmlschema.fetch_schema_locations
184.. autofunction:: xmlschema.normalize_url
185
186.. autoclass:: xmlschema.XMLResource
187
188    .. autoattribute:: root
189    .. autoattribute:: text
190    .. autoattribute:: name
191    .. autoattribute:: url
192    .. autoattribute:: base_url
193    .. autoattribute:: filepath
194    .. autoattribute:: namespace
195
196    .. automethod:: parse
197    .. automethod:: tostring
198    .. automethod:: open
199    .. automethod:: load
200    .. automethod:: is_lazy
201    .. autoattribute:: lazy_depth
202    .. automethod:: is_remote
203    .. automethod:: is_local
204    .. automethod:: is_loaded
205    .. automethod:: iter
206    .. automethod:: iter_depth
207    .. automethod:: iterfind
208    .. automethod:: find
209    .. automethod:: findall
210    .. automethod:: iter_location_hints
211    .. automethod:: get_namespaces
212    .. automethod:: get_locations
213
214.. autoclass:: xmlschema.XmlDocument
215
216
217.. _xpath-api:
218
219XPath API
220=========
221
222Implemented through a mixin class on XSD schemas and elements.
223
224.. autoclass:: xmlschema.ElementPathMixin
225
226    .. autoattribute:: tag
227    .. autoattribute:: attrib
228    .. automethod:: get
229    .. automethod:: iter
230    .. automethod:: iterchildren
231    .. automethod:: find
232    .. automethod:: findall
233    .. automethod:: iterfind
234
235
236.. _validation-api:
237
238Validation API
239==============
240
241Implemented for XSD schemas, elements, attributes, types, attribute
242groups and model groups.
243
244.. autoclass:: xmlschema.validators.ValidationMixin
245
246    .. automethod:: is_valid
247    .. automethod:: validate
248    .. automethod:: decode
249    .. automethod:: iter_decode
250    .. automethod:: iter_encode
251        :noindex:
252    .. automethod:: iter_errors
253    .. automethod:: encode
254    .. automethod:: iter_encode
255
256
257.. _particles-api:
258
259Particles API
260=============
261
262Implemented for XSD model groups, elements and element wildcards.
263
264.. autoclass:: xmlschema.validators.ParticleMixin
265
266    .. automethod:: is_empty
267    .. automethod:: is_emptiable
268    .. automethod:: is_single
269    .. automethod:: is_multiple
270    .. automethod:: is_ambiguous
271    .. automethod:: is_univocal
272    .. automethod:: is_missing
273    .. automethod:: is_over
274
275
276.. _main-xsd-components:
277
278Main XSD components
279===================
280
281.. autoclass:: xmlschema.XsdComponent
282
283    .. autoattribute:: target_namespace
284    .. autoattribute:: local_name
285    .. autoattribute:: qualified_name
286    .. autoattribute:: prefixed_name
287    .. automethod:: is_global
288    .. automethod:: is_matching
289    .. automethod:: tostring
290
291.. autoclass:: xmlschema.XsdType
292    :members: is_simple, is_complex, is_atomic, is_list, is_datetime, is_empty,
293        is_emptiable, has_simple_content, has_complex_content, has_mixed_content,
294        is_element_only, is_derived, is_extension, is_restriction, is_key, is_qname
295
296    .. autoattribute:: simple_type
297    .. autoattribute:: model_group
298
299.. autoclass:: xmlschema.XsdElement
300.. autoclass:: xmlschema.XsdAttribute
301
302
303.. _other-xsd-components:
304
305Other XSD components
306====================
307
308Elements and attributes
309-----------------------
310.. autoclass:: xmlschema.validators.Xsd11Element
311.. autoclass:: xmlschema.validators.Xsd11Attribute
312
313
314Types
315-----
316.. autoclass:: xmlschema.validators.Xsd11ComplexType
317.. autoclass:: xmlschema.validators.XsdComplexType
318
319    .. autoattribute:: content
320
321.. autoclass:: xmlschema.validators.XsdSimpleType
322
323    .. autoattribute:: enumeration
324    .. autoattribute:: max_value
325    .. autoattribute:: min_value
326
327.. autoclass:: xmlschema.validators.XsdAtomicBuiltin
328.. autoclass:: xmlschema.validators.XsdList
329.. autoclass:: xmlschema.validators.Xsd11Union
330.. autoclass:: xmlschema.validators.XsdUnion
331.. autoclass:: xmlschema.validators.Xsd11AtomicRestriction
332.. autoclass:: xmlschema.validators.XsdAtomicRestriction
333
334
335Attribute and model groups
336--------------------------
337.. autoclass:: xmlschema.validators.XsdAttributeGroup
338.. autoclass:: xmlschema.validators.Xsd11Group
339.. autoclass:: xmlschema.validators.XsdGroup
340
341
342Wildcards
343---------
344.. autoclass:: xmlschema.validators.Xsd11AnyElement
345.. autoclass:: xmlschema.validators.XsdAnyElement
346.. autoclass:: xmlschema.validators.Xsd11AnyAttribute
347.. autoclass:: xmlschema.validators.XsdAnyAttribute
348.. autoclass:: xmlschema.validators.XsdOpenContent
349.. autoclass:: xmlschema.validators.XsdDefaultOpenContent
350
351
352Identity constraints
353--------------------
354.. autoclass:: xmlschema.validators.XsdIdentity
355.. autoclass:: xmlschema.validators.XsdSelector
356.. autoclass:: xmlschema.validators.XsdFieldSelector
357.. autoclass:: xmlschema.validators.Xsd11Unique
358.. autoclass:: xmlschema.validators.XsdUnique
359.. autoclass:: xmlschema.validators.Xsd11Key
360.. autoclass:: xmlschema.validators.XsdKey
361.. autoclass:: xmlschema.validators.Xsd11Keyref
362.. autoclass:: xmlschema.validators.XsdKeyref
363
364
365Facets
366------
367.. autoclass:: xmlschema.validators.XsdFacet
368.. autoclass:: xmlschema.validators.XsdWhiteSpaceFacet
369.. autoclass:: xmlschema.validators.XsdLengthFacet
370.. autoclass:: xmlschema.validators.XsdMinLengthFacet
371.. autoclass:: xmlschema.validators.XsdMaxLengthFacet
372.. autoclass:: xmlschema.validators.XsdMinInclusiveFacet
373.. autoclass:: xmlschema.validators.XsdMinExclusiveFacet
374.. autoclass:: xmlschema.validators.XsdMaxInclusiveFacet
375.. autoclass:: xmlschema.validators.XsdMaxExclusiveFacet
376.. autoclass:: xmlschema.validators.XsdTotalDigitsFacet
377.. autoclass:: xmlschema.validators.XsdFractionDigitsFacet
378.. autoclass:: xmlschema.validators.XsdExplicitTimezoneFacet
379.. autoclass:: xmlschema.validators.XsdAssertionFacet
380.. autoclass:: xmlschema.validators.XsdEnumerationFacets
381.. autoclass:: xmlschema.validators.XsdPatternFacets
382
383
384Others
385------
386.. autoclass:: xmlschema.validators.XsdAssert
387.. autoclass:: xmlschema.validators.XsdAlternative
388.. autoclass:: xmlschema.validators.XsdNotation
389.. autoclass:: xmlschema.validators.XsdAnnotation
390
391
392.. _extra-api:
393
394Extra features API
395==================
396
397Code generators
398---------------
399
400.. autoclass:: xmlschema.extras.codegen.AbstractGenerator
401
402    .. automethod:: map_type
403    .. automethod:: list_templates
404    .. automethod:: matching_templates
405    .. automethod:: get_template
406    .. automethod:: select_template
407    .. automethod:: render
408    .. automethod:: render_to_files
409
410
411.. autoclass:: xmlschema.extras.codegen.PythonGenerator
412
413
414WSDL 1.1 documents
415------------------
416
417.. autoclass:: xmlschema.extras.wsdl.Wsdl11Document
418
419    .. autoattribute:: messages
420    .. autoattribute:: port_types
421    .. autoattribute:: bindings
422    .. autoattribute:: services
423