XmlFormatter¶
- class dictIO.formatter.XmlFormatter(*, omit_prefix: bool = True, integrate_attributes: bool = True, remove_node_numbering: bool = True)¶
Bases:
FormatterFormatter to serialize a dict into a string in xml format.
- Defaults:
namespaces: ‘https://www.w3.org/2009/XMLSchema/XMLSchema.xsd’ n root tag: ‘NOTSPECIFIED’ n root attributes: None n indent: 4
Defaults can be overwritten by adding a subdict ‘_xmlOpts’ to dict, containing ‘_nameSpaces’, ‘_rootTag’, ‘_rootAttributes’.
Adding a subdict ‘_attributes’ to a subdict inside dict causes the XmlFormatter to write xml attributes. In contrast to xml, there are some specialties in dict format what need to be customized:
property | in xml | sibling in dict |:———– | :—————– | :————– |general name | root tag | the file name is the ‘root tag’ and hence the name of the dict |name | element name (tag) | sub-dict name (has to be unique) || (multiple occurrences allowed due to attributes) | |attributes | as required | attributes need to be provided in a separate subdict “_attributes” to take action |style | namespace(s) | style guide, no namespaces (ns can be provided in a subdict “_xmlOpts”) |- __init__(*, omit_prefix: bool = True, integrate_attributes: bool = True, remove_node_numbering: bool = True) None¶
Define default configuration for XmlFormatter.
Methods
__init__(*[, omit_prefix, ...])Define default configuration for XmlFormatter.
add_double_quotes(arg)Add double quotes to a string.
add_single_quotes(arg)Add single quotes to a string.
format_bool(arg)Format a boolean.
format_empty_string(arg)Format an empty string.
format_expression_string(arg)Format an expression.
format_float(arg)Format a floating point number.
format_int(arg)Format an integer.
format_key(arg)Format a key.
format_multi_word_string(arg)Format a multi word string.
format_none()Format None value.
format_reference_string(arg)Format a reference.
format_single_word_string(arg)Format a single word string.
format_string(arg)Format a string.
format_string_with_nested_string(arg)Format a string that contains a nested string.
format_value(arg)Format a single value.
format_values(arg)Format multiple values.
get_formatter([target_file])Return a Formatter instance matching the type of the target file to be formatted (factory method).
populate_into_element(element, arg[, xsd_uri])Populate arg into the XML element node.
to_string(arg)Create a string representation of the passed in dict in XML format.
- populate_into_element(element: Element, arg: MutableMapping[Any, Any] | MutableSequence[Any] | Any, xsd_uri: str | None = None) None¶
Populate arg into the XML element node.
If arg is a dict or list, method will call itself recursively until all nested content within the dict or list is populated into nested elements, eventually creating an XML dom.
- Parameters:
element (Element) – element which will be populated
arg (MutableMapping[Any, Any] | MutableSequence[Any] | Any) – value to be populated into the element
xsd_uri (str, optional) – xsd uri, by default None
- to_string(arg: MutableMapping[K, V]) str¶
Create a string representation of the passed in dict in XML format.
- Parameters:
arg (MutableMapping[K, V]) – dict to be formatted
- Returns:
string representation of the dict in XML format
- Return type:
str