Clarification on XML parsing & namespaces (xml.dom.minidom)

Uche Ogbuji uche at ogbuji.net
Fri Jan 28 04:19:25 CET 2005


Greg Wogan-Browne wrote:
> I am having some trouble figuring out what is going on here - is this
a
> bug, or correct behaviour? Basically, when I create an XML document
with
> a namespace using xml.dom.minidom.parse() or parseString(), the
> namespace exists as an xmlns attribute in the DOM (fair enough, as
it's
> in the original source document). However, if I use the DOM
> implementation to create an identical document with a namespace, the
> xmlns attribute is not present.
>
> This mainly affects me when I go to print out the document again
using
> Document.toxml(), as the xmlns attribute is not printed for documents
I
> create dynamically, and therefore XSLT does not kick in (I'm using an

> external processor).
>
> Any thoughts on this would be appreciated. Should I file a bug on
pyxml?

It's odd behavior, but I think it's a stretch to call it a bug.  You
problem is that you're mixing namespaced documents with the
non-namespace DOM API.  That means trouble and such odd quirks every
time.

Use getAttributeNS, createElementNS, setAttributeNS, etc. rather than
getAttribute, createElement, setAttribute, etc.

--
Uche Ogbuji                                    Fourthought, Inc.
http://uche.ogbuji.net    http://4Suite.org    http://fourthought.com
Use CSS to display XML -
http://www.ibm.com/developerworks/edu/x-dw-x-xmlcss-i.html
Introducing the Amara XML Toolkit -
http://www.xml.com/pub/a/2005/01/19/amara.html
Be humble, not imperial (in design) -
http://www.adtmag.com/article.asp?id=10286UBL 1.0 -
http://www-106.ibm.com/developerworks/xml/library/x-think28.html
Manage XML collections with XAPI -
http://www-106.ibm.com/developerworks/xml/library/x-xapi.html
Default and error handling in XSLT lookup tables -
http://www.ibm.com/developerworks/xml/library/x-tiplook.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