Beispiel #1
0
 def __init__(self,
              doctype=None,
              strip_whitespace=True,
              namespace_prefixes=None,
              drop_xml_decl=True,
              cache=True):
     super(XHTMLSerializer, self).__init__(doctype, False)
     self.filters = [EmptyTagFilter()]
     if strip_whitespace:
         self.filters.append(WhitespaceFilter(self._PRESERVE_SPACE))
     namespace_prefixes = namespace_prefixes or {}
     namespace_prefixes['http://www.w3.org/1999/xhtml'] = ''
     self.filters.append(
         NamespaceFlattener(prefixes=namespace_prefixes, cache=cache))
     if doctype:
         self.filters.append(DocTypeInserter(doctype))
     self.drop_xml_decl = drop_xml_decl
     self.cache = cache
Beispiel #2
0
 def test_elem_content(self):
     stream = XML('<elem><sub /><sub /></elem>') | EmptyTagFilter()
     self.assertEqual([
         Stream.START, EmptyTagFilter.EMPTY, EmptyTagFilter.EMPTY,
         Stream.END
     ], [ev[0] for ev in stream])
Beispiel #3
0
 def test_text_content(self):
     stream = XML('<elem>foo</elem>') | EmptyTagFilter()
     self.assertEqual([Stream.START, Stream.TEXT, Stream.END],
                      [ev[0] for ev in stream])
Beispiel #4
0
 def test_empty(self):
     stream = XML('<elem></elem>') | EmptyTagFilter()
     self.assertEqual([EmptyTagFilter.EMPTY], [ev[0] for ev in stream])