def test_main_document_part_root(self): namespace, tag = xml_tag_split( self.document.main_document_part.root_element.tag, ) # We're currently ignoring namespaces, so this comes back as none self.assertEqual(namespace, None) self.assertEqual(tag, 'document')
def _load_relationships(self): part_container = self.get_part_container() if not part_container.part_exists(self.relationship_uri): return manager = XmlNamespaceManager() manager.add_namespace(PackageRelationship.namespace) stream = part_container.get_part(self.relationship_uri).stream root = cElementTree.fromstring(stream.read()) for node in manager.iterate_children(root): _, tag = xml_tag_split(node.tag) if tag != PackageRelationship.XML_TAG_NAME: continue relationship_id = node.get(PackageRelationship.XML_ATTR_ID) relationship_type = node.get(PackageRelationship.XML_ATTR_TYPE) target_mode = node.get(PackageRelationship.XML_ATTR_TARGETMODE) target_uri = node.get(PackageRelationship.XML_ATTR_TARGET) self.create_relationship( target_uri=target_uri, target_mode=target_mode, relationship_type=relationship_type, relationship_id=relationship_id, )
def _load_relationships(self): part_container = self.get_part_container() if not part_container.part_exists(self.relationship_uri): return manager = XmlNamespaceManager() manager.add_namespace(PackageRelationship.namespace) stream = part_container.get_part(self.relationship_uri).stream root = parse_xml_from_string(stream.read()) for node in manager.iterate_children(root): _, tag = xml_tag_split(node.tag) if tag != PackageRelationship.XML_TAG_NAME: continue relationship_id = node.get(PackageRelationship.XML_ATTR_ID) relationship_type = node.get(PackageRelationship.XML_ATTR_TYPE) target_mode = node.get(PackageRelationship.XML_ATTR_TARGETMODE) target_uri = node.get(PackageRelationship.XML_ATTR_TARGET) self.create_relationship( target_uri=target_uri, target_mode=target_mode, relationship_type=relationship_type, relationship_id=relationship_id, )
def test_xml_tag_split(self): self.assertEqual(xml_tag_split('{foo}bar'), ('foo', 'bar')) self.assertEqual(xml_tag_split('bar'), (None, 'bar'))