def get_parser(view, **kwargs): if vu.is_xml(view): return etree.XMLParser(**kwargs) elif vu.is_html(view): return etree.HTMLParser(**kwargs) else: raise Exception(messages.NO_PARSER_FOR_SYNTAX % exalt.get_syntax(view))
def run(self, edit): view = self.view if not vu.is_xml(view) or len(vu.get_content(view).strip()) == 0: return try: parser = parsetools.get_parser(view, encoding=encodings.UTF8) doc = parsetools.parse_string(view, parser, vu.get_content(view)) if vu.is_xslt(view): version = doc.getroot().get(constants.VERSION) relax_ng = validator.get_xslt_relaxng_path(version) v = validator.get_validator_for_namespace( isoschematron.RELAXNG_NS)(view, doc, relax_ng) invoke_async(lambda: v, 0) else: invoke_async(lambda: validator.try_validate(view, doc), 0) except etree.XMLSyntaxError as e: message = str(e) if constants.LXML_NO_DTD_FOUND not in message: error = parser.error_log.filter_from_errors()[0] return vu.show_error(view, message, error)
def run(self, edit): view = self.view region = sublime.Region(0, view.size()) formatted = formatter.format_region(view, region, xml_declaration=vu.is_xml(view)) view.replace(edit, region, formatted)
def run(self, edit): view = self.view region = sublime.Region(0, view.size()) formatted = formatter.format_region( view, region, xml_declaration=vu.is_xml(view) ) view.replace(edit, region, formatted)