Package pyxb :: Package utils :: Module domutils :: Class _BDSNamespaceSupport
[hide private]
[frames] | no frames]

Class _BDSNamespaceSupport

source code

object --+
         |
        _BDSNamespaceSupport

Class holding information relevant to generating the namespace aspects of a DOM instance.

Instance Methods [hide private]
pyxb.namespace.Namespace
defaultNamespace(self)
The registered default namespace.
source code
 
setDefaultNamespace(self, default_namespace)
Set the default namespace for the generated document.
source code
 
namespacePrefixMap(self)
Return a map from Namespace instances to the prefix by which they are represented in the DOM document.
source code
 
declareNamespace(self, namespace, prefix=None, add_to_map=False)
Add the given namespace as one to be used in this document.
source code
 
namespacePrefix(self, namespace)
Return the prefix to be used for the given namespace.
source code
 
namespaces(self)
Return the set of Namespace instances known to this instance.
source code
 
__resetNamespacePrefixMap(self) source code
 
reset(self, prefix_map=False)
Reset this instance to the state it was when created.
source code
 
__init__(self, default_namespace=None, namespace_prefix_map=None, inherit_from=None)
Create a new namespace declaration configuration.
source code
 
_BDSNamespaceSupport__resetNamespacePrefixMap(self) source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  __namespaces = None
hash(x)
  __namespacePrefixCounter = None
hash(x)
  __defaultNamespace = None
hash(x)
  __namespacePrefixMap = None
hash(x)
  _BDSNamespaceSupport__defaultNamespace = None
hash(x)
  _BDSNamespaceSupport__namespacePrefixCounter = None
hash(x)
  _BDSNamespaceSupport__namespacePrefixMap = None
hash(x)
  _BDSNamespaceSupport__namespaces = None
hash(x)
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

setDefaultNamespace(self, default_namespace)

source code 

Set the default namespace for the generated document.

Even if invoked post construction, the default namespace will affect the entire document, as all namespace declarations are placed in the document root.

Parameters:
  • default_namespace (pyxb.namespace.Namespace or str or unicode.) - The namespace to be defined as the default namespace in the top-level element of the document. May be provided as a real namespace, or just its URI.

declareNamespace(self, namespace, prefix=None, add_to_map=False)

source code 

Add the given namespace as one to be used in this document.

Parameters:
  • namespace (pyxb.namespace.Namespace) - The namespace to be associated with the document.
  • prefix - Optional prefix to be used with this namespace. If not provided, a unique prefix is generated or a standard prefix is used, depending on the namespace.
  • add_to_map - If False (default), the prefix is not added to the namespace prefix map. If True it is added. (Often, things added to the prefix map are preserved across resets, which is often not desired for specific prefix/namespace pairs).
To Do:
  • ensure multiple namespaces do not share the same prefix
  • provide default prefix in pyxb.namespace.Namespace
  • support multiple prefixes for each namespace

namespacePrefix(self, namespace)

source code 

Return the prefix to be used for the given namespace.

This will declare the namespace if it has not yet been observed.

Parameters:
  • namespace - The namespace for which a prefix is needed. If the provided namespace is None or an absent namespace, the None value will be returned as the corresponding prefix.

reset(self, prefix_map=False)

source code 

Reset this instance to the state it was when created.

This flushes the list of namespaces for the document. The defaultNamespace is not modified.

__init__(self, default_namespace=None, namespace_prefix_map=None, inherit_from=None)
(Constructor)

source code 

Create a new namespace declaration configuration.

Parameters:
  • default_namespace - Optional pyxb.namespace.Namespace instance that serves as the default namespace (applies to unqualified names).
  • namespace_prefix_map - Optional map from pyxb.namespace.Namespace instances to str values that are to be used as the corresponding namespace prefix when constructing qualified names.
  • inherit_from - Optional instance of this class from which defaults are inherited. Inheritance is overridden by values of other keywords in the initializer.
Overrides: object.__init__