biosimulators_utils.xml package#

Submodules#

biosimulators_utils.xml.utils module#

Utilities for working with XML documents

Author:

Jonathan Karr <karr@mssm.edu>

Date:

2020-12-13

Copyright:

2020, Center for Reproducible Biomedical Modeling

License:

MIT

biosimulators_utils.xml.utils.eval_xpath(element, xpath, namespaces)[source]#

Get the object(s) at an XPath

Parameters:
  • element (etree._ElementTree) – element tree

  • xpath (str) – XPath

  • namespaces (dict) – dictionary that maps the prefixes of namespaces to their URIs

Returns:

object(s) at the XPath

Return type:

list of etree._ElementTree

biosimulators_utils.xml.utils.get_attributes_of_xpaths(etree, x_paths, namespaces, attr='id')[source]#

Determine the values of the attributes of the objects that match each XPath

Parameters:
  • etree (lxml.etree._ElementTree) – element tree for XML document

  • x_paths (list of str) – XPaths

  • namespaces (dict) – dictionary that maps the prefixes of namespaces to their URIs

  • attr (str or dict, optional) – attribute to get values of

Returns:

dictionary that maps each XPath to the

values of the attribute of the objects in the XML file that match the XPath

Return type:

dict of str to list of str

biosimulators_utils.xml.utils.get_namespaces_for_xml_doc(element_tree)[source]#

Get the namespaces used by an XML document

Parameters:

et (etree._ElementTree)

Returns:

dictionary that maps the id of each namespace to its URI

Return type:

dict

biosimulators_utils.xml.utils.get_namespaces_for_xml_element(element_tree)[source]#

Get the namespaces used by an XML document

Parameters:

et (etree._ElementTree)

Returns:

dictionary that maps the id of each namespace to its URI

Return type:

dict

biosimulators_utils.xml.utils.get_namespaces_with_prefixes(namespaces)[source]#

Get a dictionary of namespaces less namespaces that have no prefix

Parameters:

namespaces (dict) – dictionary that maps prefixes of namespaces their URIs

Returns:

dictionary that maps prefixes of namespaces their URIs

Return type:

dict

biosimulators_utils.xml.utils.validate_xpaths_ref_to_unique_objects(etree, x_paths, namespaces, attr='id')[source]#

Validate that each of a list of XPaths matches a single object in an XML file.

Parameters:
  • etree (lxml.etree._ElementTree) – element tree for XML document

  • x_paths (list of str) – XPaths

  • namespaces (dict) – dictionary that maps the prefixes of namespaces to their URIs

  • attr (str or dict, optional) – attribute to get values of

Returns:

dictionary that maps each XPath to the

value of the attribute of the object in the XML file that matches the XPath

Return type:

dict of str to str

Raises:

ValueError – if one or more XPaths matches 0 or multiple objects