SAX: Help on processing qualified attribute values

Uche Ogbuji uche.ogbuji at fourthought.com
Tue Mar 22 20:10:29 EST 2005


On Thu, 2005-03-10 at 15:22 +0100, Markus Doering wrote:
> Hey,
> 
> I am trying to process XML schema documents using namespace aware SAX 
> handlers. Currently I am using the default python 2.3 parser:
> 
> parser = xml.sax.make_parser()
> parser.setFeature(xml.sax.handler.feature_namespaces, 1)
> 
> 
> At some point I need to parse xml attributes which contain namespace 
> prefixes as their value. For example:
> 
> <xs:element name="hello" type ="xs:string"/>
> 
> The default SAX parser does a good job on dealing with qualified names 
> as xml tags, but is there a way I can access the internal sax mapping 
> between prefixes and full namespaces to be able to parse "qualified 
> attribute values"? A simple private dictionary prefix2namespace would be 
> sufficient.

Just for others, this was answered here:

http://mail.python.org/pipermail/xml-sig/2005-March/010989.html

I also provide a useful mix-in class for this purpose in Amara's
saxtools:

http://www.xml.com/pub/a/2005/01/19/amara.html
http://cvs.4suite.org/viewcvs/Amara/lib/saxtools.py?rev=1.9&view=markup

In the latter link see class namespace_mixin, which you should be
able to copy to your code if you don't want to install Amara).


-- 
Uche Ogbuji                                    Fourthought, Inc.
http://uche.ogbuji.net    http://4Suite.org    http://fourthought.com
Use CSS to display XML, part 2 - http://www-128.ibm.com/developerworks/edu/x-dw-x-xmlcss2-i.html
Introducing the Amara XML Toolkit - http://www.xml.com/pub/a/2005/01/19/amara.html
Gems from the Mines: 2002 to 2003 - http://www.xml.com/pub/a/2005/03/02/pyxml.html
Be humble, not imperial (in design) - http://www.adtmag.com/article.asp?id=10286
Querying WordNet as XML - http://www.ibm.com/developerworks/xml/library/x-think29.html
Packaging XSLT lookup tables as EXSLT functions - http://www.ibm.com/developerworks/xml/library/x-tiplook2.html




More information about the Python-list mailing list