def test_xmlreader_file(tester): tester.startTest("file-like object") parser = CreateParser() builder = DomBuilder() parser.setContentHandler(builder) parser.parse(open(CONTENT_PATH)) tester.compare(XMLREADER_CONTENT, builder, func=compare_builder) tester.testDone() return
def test_xmlreader_ft(tester): tester.startTest("4Suite InputSource") parser = CreateParser() builder = DomBuilder() parser.setContentHandler(builder) parser.parse(DefaultFactory.fromUri(CONTENT_URI)) tester.compare(XMLREADER_CONTENT, builder, func=compare_builder) tester.testDone() return
def test_xmlreader_sysid(tester): tester.startTest("System ID") parser = CreateParser() builder = DomBuilder() parser.setContentHandler(builder) parser.parse(CONTENT_URI) tester.compare(XMLREADER_CONTENT, builder, func=compare_builder) tester.testDone() return
def test_xmlreader_sax(tester): tester.startTest("SAX InputSource") parser = CreateParser() builder = DomBuilder() parser.setContentHandler(builder) parser.parse(prepare_input_source(CONTENT_PATH)) tester.compare(XMLREADER_CONTENT, builder, func=compare_builder) tester.testDone() return
def test_builder_basic(tester): tester.startTest("Element") builder = DomBuilder() builder.startDocument() builder.startElementNS((None, u'doc'), u'doc', {}) builder.endElementNS((None, u'doc'), u'doc') builder.endDocument() tester.compare("<doc/>", builder, func=compare_builder) tester.testDone() return
def test_builder_content(tester): tester.startTest("Element with content") builder = DomBuilder() builder.startDocument() builder.startElementNS((None, u'doc'), u'doc', {}) builder.characters(u'huhei') builder.endElementNS((None, u'doc'), u'doc') builder.endDocument() tester.compare("<doc>huhei</doc>", builder, func=compare_builder) tester.testDone() return
def test_builder_ns(tester): tester.startTest("Namespaces") builder = DomBuilder() builder.startDocument() builder.startPrefixMapping(u'ns1', TEST_NAMESPACE) builder.startElementNS((TEST_NAMESPACE, u'doc'), u'ns1:doc', {}) builder.startElementNS((None, u'udoc'), u'udoc', {}) builder.endElementNS((None, u'udoc'), u'udoc') builder.endElementNS((TEST_NAMESPACE, u'doc'), u'ns1:doc') builder.endPrefixMapping(u'ns1') builder.endDocument() source = "<ns1:doc xmlns:ns1='%s'><udoc/></ns1:doc>" % str(TEST_NAMESPACE) tester.compare(source, builder, func=compare_builder) tester.testDone() return
def transform(self, node): import FragmentFilter from Ft.Xml.Sax import CreateParser, DomBuilder rules = FragmentFilter.RulesLoader() parser = CreateParser() parser.setContentHandler(rules) parser.setFeature(xml.sax.handler.property_dom_node, self.applyElt.dom) parser.parse(None) fragFilter = FragmentFilter.FragmentFilter(rules) parser.setContentHandler(fragFilter) parser.setFeature(xml.sax.handler.property_dom_node, node) parser.setContentHandler(fragFilter) builder = DomBuilder() fragFilter.setContentHandler(builder) try: parser.parse(None) except: return None #print "reg frag result: %s" % domg.getRootNode().childNodes[1] return builder.getDocument().documentElement