[Python-de] lxml und Namespaces

Andreas Pakulat apaku at gmx.de
Sam Jan 7 02:00:49 CET 2006


Hi,

hab jetzt meine ersten Erfahrungen mit lxml gesammelt - so weit so gut.
Aber das Namespace-Handling wirft doch noch eine Frage auf:

Wie kriege ich einen QName erzeugt? Um bestimmte Elemente oder
aehnliches zu finden brauche ich ja einen QName, den koennte man
natuerlich mit 

"{"+ns+"}element1"

an die Funktionen wie findall uebergeben, aber das find ich dann doch
reichlich "haesslich". Aber bei mir funktioniert

from lxml import etree

root.findall(etree.QName(ns,"element1"))

nicht. etree hat offensichtlich keine QName Klasse. Also wie schaut die
elegante Methode aus um einen qualifizierten Elementnamen zu erzeugen?

Auch wenn das nichts mit lxml zu tun hat: Wie setze ich eine Variable
fuer ein Modul? Ich habs momentan in der __init__.py was aber bedeutet
ich muss das Modul auch in allen Python-Dateien im Modul importieren.
Nicht so schoen, ich haette gerne das die Variable "automatisch" in
allen Pythondateien im Modul bekannt ist, geht das?

Ich wuerde nur sehr ungern meine Klassen alle in ein einzelnes File
packen, da geht die Uebersicht ein wenig verloren.

Andreas

-- 
Today is National Existential Ennui Awareness Day.