Package pyxb
[hide private]
[frames] | no frames]

Package pyxb

source code

PyXB stands for Python W3C XML Schema Bindings, and is pronounced "pixbee". It enables translation between XML instance documents and Python objects following rules specified by an XML Schema document.

This is the top-level entrypoint to the PyXB system. Importing this gets you all the exceptions, and pyxb.namespace. For more functionality, delve into these submodules:


Version: 1.1.4

License: Apache License 2.0

Submodules [hide private]

Classes [hide private]
  BIND
Bundle data for automated binding generation.
  cscRoot
This little bundle of joy exists because in Python 2.6 it became an error to invoke object.__init__ with parameters (unless you also override __new__, in which case it's only a warning.
Functions [hide private]
 
PreserveInputTimeZone(value=None)
Control whether time values are converted to UTC during input.
source code
 
RequireValidWhenGenerating(value=None)
Query or set a flag that controls validation checking in XML generation.
source code
 
RequireValidWhenParsing(value=None)
Query or set a flag that controls validation checking in XML parsing.
source code
 
_SetXMLStyle(style=None)
Set the interface used to parse XML content.
source code
Variables [hide private]
  XMLStyle_minidom = 0
Use xml.dom.minidom for XML processing.
  XMLStyle_saxdom = 1
Use pyxb.utils.saxdom for XML processing.
  XMLStyle_saxer = 2
Use pyxb.binding.saxer when converting documents to binding instances.
  _CorruptionDetectionEnabled = True
If True, blocks attempts to assign to attributes that are reserved for PyXB methods.
  _GenerationRequiresValid = True
  _InputEncoding = 'utf-8'
Default unicode encoding to assume when decoding input.
  _OptimizationActive = False
  _OutputEncoding = 'utf-8'
Default unicode encoding to use when creating output.
  _ParsingRequiresValid = True
  _PreserveInputTimeZone = False
  _XMLStyle = 2
The current XML processing style.
  _XMLStyleMap = {'minidom': 0, 'saxdom': 1, 'saxer': 2}
  _XMLStyleMapReverse = {0: 'minidom', 1: 'saxdom', 2: 'saxer'}
  _XMLStyle_envvar = 'PYXB_XML_STYLE'
  __package__ = 'pyxb'
  __url__ = 'http://pyxb.sourceforge.net'
The URL for PyXB's homepage
  __version__ = '1.1.4'
The version of PyXB
  _k = 'saxdom'
  _v = 1
Function Details [hide private]

PreserveInputTimeZone(value=None)

source code 

Control whether time values are converted to UTC during input.

The specification makes clear that timezoned times are in UTC and that times in other timezones are to be translated to UTC when converted from literal to value form. Provide an option to bypass this step, so the input timezone is preserved.

Note: Naive processing of unnormalized times--i.e., ignoring the tzinfo field--may result in errors.

RequireValidWhenGenerating(value=None)

source code 

Query or set a flag that controls validation checking in XML generation.

Normally any attempts to convert a binding instance to a DOM or XML representation requires that the binding validate against the content model, since only in this way can the content be generated in the correct order. In some cases it may be necessary or useful to generate a document from a binding that is incomplete. If validation is not required, the generated documents may not validate even if the content validates, because ordering constraints will be ignored.

Parameters:
  • value (bool) - If absent or None, no change is made; otherwise, this enables (True) or disables (False) the requirement that instances validate before being converted to XML.
Returns:
True iff attempts to generate XML for a binding that does not validate should raise an exception.

RequireValidWhenParsing(value=None)

source code 

Query or set a flag that controls validation checking in XML parsing.

Normally any attempts to convert XML to a binding instance to a binding instance requires that the document validate against the content model. In some cases it may be necessary or useful to process a document that is incomplete. If validation is not required, the generated documents may not validate even if the content validates, because ordering constraints will be ignored.

Parameters:
  • value (bool) - If absent or None, no change is made; otherwise, this enables (True) or disables (False) the requirement that documents validate when being converted to bindings.
Returns:
True iff attempts to generate bindings for a document that does not validate should raise an exception.

_SetXMLStyle(style=None)

source code 

Set the interface used to parse XML content.

This can be invoked within code. The system default of XMLStyle_saxer can also be overridden at runtime by setting the environment variable PYXB_XML_STYLE to one of minidom, saxdom, or saxer.

Parameters:

Variables Details [hide private]

XMLStyle_minidom

Use xml.dom.minidom for XML processing. This is the fastest, but does not provide location information. It produces DOM instances.

Value:
0

XMLStyle_saxdom

Use pyxb.utils.saxdom for XML processing. This is the slowest, but both provides location information and generates a DOM instance.

Value:
1

XMLStyle_saxer

Use pyxb.binding.saxer when converting documents to binding instances. This style supports location information in the bindings. It produces binding instances directly, without going through a DOM stage, so is faster than XMLStyle_saxdom. However, since the pyxb.xmlschema.structures classes require a DOM model, XMLStyle_saxdom will be used for pyxb.utils.domutils.StringToDOM if this style is selected.

Value:
2

_CorruptionDetectionEnabled

If True, blocks attempts to assign to attributes that are reserved for PyXB methods.

Applies only at compilation time; dynamic changes are ignored.

Value:
True

_InputEncoding

Default unicode encoding to assume when decoding input.

Material being written to an XML parser is treated as input.

Value:
'utf-8'

_OutputEncoding

Default unicode encoding to use when creating output.

Material being written to an XML parser is not output.

Value:
'utf-8'