+# transparently for you, returning a buffer you can give in. (In theory,
+# one could avoid the buffering and just defer the parsing/filtering until
+# it's needed, but Expat seems non-reentrant, which means starting a parser
+# from within a begin_element callback blows up.)