def xml_tree_handler(self, node=None): log.debug(">> MXMLBuffer.xml_tree_handler") default = self._mxml_default_dataset_info(node) if default: # force HTML based completion return koXMLDatasetInfo.getService().getDocumentHandler(default[0], default[1], default[2]) return XMLParsingBufferMixin.xml_tree_handler(self, node)
def xml_default_dataset_info(self, node): # print "%s node %r" % (self.lang, node) log.debug("%s node %r", self.lang, node) tree = self.xml_tree if node is not None and not tree.namespace(node): # Do we have an output element, if so, figure out if we're html. # Cheap way to get the output element. output = tree.tags.get(tree.namespace( tree.root), {}).get('output', None) if output is not None: lang = output.attrib.get('method').upper() publicId = output.attrib.get('doctype-public') systemId = output.attrib.get('doctype-system') if publicId or systemId: default_dataset_info = (publicId, systemId, None) else: datasetSvc = getService() default_dataset_info = ( datasetSvc.getDefaultPublicId(lang, self.env), None, datasetSvc.getDefaultNamespace(lang, self.env) ) # print "get output type %r" % (default_dataset_info,) return default_dataset_info return XMLParsingBufferMixin.xml_default_dataset_info(self, node)
def xml_tree_handler(self, node=None): log.debug(">> MXMLBuffer.xml_tree_handler") default = self._mxml_default_dataset_info(node) if default: # force HTML based completion return koXMLDatasetInfo.getService().getDocumentHandler( default[0], default[1], default[2]) return XMLParsingBufferMixin.xml_tree_handler(self, node)
def xml_default_dataset_info(self, node): #print "%s:%s node %r" % (self.lang, trg.lang, node) tree = self.xml_tree if node is not None and not tree.namespace(node): # Do we have an output element, if so, figure out if we're html. # Cheap way to get the output element. output = tree.tags.get(tree.namespace(tree.root), {}).get('output', None) if output is not None: lang = output.attrib.get('method').upper() publicId = output.attrib.get('doctype-public') systemId = output.attrib.get('doctype-system') if publicId or systemId: default_dataset_info = (publicId, systemId, None) else: datasetSvc = getService() default_dataset_info = (datasetSvc.getDefaultPublicId( lang, self.env), None, datasetSvc.getDefaultNamespace( lang, self.env)) #print "get output type %r" % (default_dataset_info,) return default_dataset_info return XMLParsingBufferMixin.xml_default_dataset_info(self, node)