[XML-SIG] PY_SAX2_PARSER environment variable

Juergen Hermann Juergen Hermann" <jh@web.de
Sun, 02 Sep 2001 18:59:35 +0200


Hi!

So far, you cannot extend/replace the SAX2 parser list, like you can for SAX 
parsers. I propose the following change that goes along with what saxexts.py does.

RCS file: /cvsroot/pyxml/xml/xml/sax/sax2exts.py,v
retrieving revision 1.4
diff -u -r1.4 sax2exts.py
--- sax2exts.py 2001/03/03 07:30:06     1.4
+++ sax2exts.py 2001/09/02 16:55:02
@@ -4,7 +4,7 @@
 $Id: sax2exts.py,v 1.4 2001/03/03 07:30:06 loewis Exp $
 """

-import saxexts,saxlib
+import os,saxexts,saxlib

 # In SAX2, validation is turned-on through a property. Make sure
 # that all parsers returned from this factory are validating
@@ -21,10 +21,14 @@

 # --- Creating parser factories

-XMLParserFactory = XMLReaderFactory(["xml.sax.drivers2.drv_pyexpat",
-                                     "xml.sax.drivers2.drv_xmlproc"])
-
-XMLValParserFactory = ValidatingReaderFactory(["xml.sax.drivers2.drv_xmlproc"])

+XMLParserFactory = XMLReaderFactory(
+    os.environ.get("PY_SAX2_PARSER", "").split(",") or
+    ["xml.sax.drivers2.drv_pyexpat",
+     "xml.sax.drivers2.drv_xmlproc"])
+
+XMLValParserFactory = ValidatingReaderFactory(
+    os.environ.get("PY_SAX2_PARSER", "").split(",") or
+    ["xml.sax.drivers2.drv_xmlproc"])

 HTMLParserFactory = XMLReaderFactory([])