[Python-de] XML_Objects V1.06b

Fritz Cizmarov fritz at sol.at
Mon Jul 26 01:38:25 CEST 2004


Hallo Walter,

Am Sun, 25 Jul 2004 19:51:37 +0200
Schrieb Walter Dörwald <walter at livinglogic.de>:

> Fritz Cizmarov wrote:
> 
> > Hallo,
> > 
> > ich möchte euch mein Modul XML_Objects vorstellen.
> > 
> > http://www.boa3d.de/python/modules/XML_Objects.php
> > 
> > Es dient dazu, Dateien einer Applikation als Objekte in XML-Dateien
> > zu speichern und wieder aus den Daten Objekte zu generieren. Eine
> > Beschreibung des Moduls findet ihr auf der Seite.
> >  
> > Ich würde mich über Anregungen und Kritik freuen. Betatester werden
> > auch noch gesucht.
> 
> Einiges von dem erinnert mich an mein eigenes XIST
> (http://www.livinglogic.de/Python/xist/), insbesondere die
> Konstruktor-Argumente (*args ist der Element-Content und
> **kw sind die Attribute), daß der Elementtyp gleich dem
> Klassennamen ist, aber überschrieben werden kann, daß die
> Attribute auf Klassenebene als Dictionary definiert werden
> (das war vor XIST 2.0 so) und daß man eine eigene
> XML-Konversionsmethode angeben kann.
> 

Sowas wird bei einer ähnlichen Zielsetzung auch nicht ausbleiben.

Ich hab mir inzwischen die Seite zu Deinem XIST angeschaut. Echt nicht
schlecht, allerdings zielt Dein Modul ja eher auf Webprojekte während
meines eher Anwendungsorientiert ist. Hintergrund bei meinem Modul ist
die Verwendung in einer 3D-Applikation um 3D-Szenen zu speichern und
wieder zu laden. Praktisch soll die Applikation, wenn's mal soweit ist
total modular aufgebaut sein. Also die Objekte die damit bearbeitet
werden, sollen aus Modulen kommen und der Anwender soll diese Module
auch während der Laufzeit installieren können. Außerdem soll das
Erstellen dieser Module auch so einfach wie möglich sein. Um dann die
Objekte in einer Szene zu speichern genügt es, in 90% der Fälle, die
Klassen welche die Objekte beschreiben von XMLObject abzuleiten, ohne
weitere Registrierungsgeschichten oder sonst was. 

> Fragen, die mir dazu kommen:
> Kann man ein anderes Encoding als UTF-8 zur Ausgabe verwenden?
> 

Gute Frage, da bin ich noch am testen. Vorgesehen ist es, dazu hab ich
die globale Variable "encoding" definiert.

> xml_char_data() kommt mir etwas seltsam vor: Da wird *zuerst*
> der Unicode-String encoded (in's Filesystem-Encoding), und
> *dann* wird da drin ein replace gemacht. Warum läßt Du das ganze
> nicht als Unicode?
> 

Auch eine gute Frage, das schau ich mir noch genauer an. Ist eben noch
Beta das Ganze.

> Daß from_xml() versucht herauszufinden, ob das Argument ein
> XML-String oder ein Dateiname ist, finde ich etwas unglücklich.
> einen UTF-16 encodeten XML-String kannst Du damit z.B. nicht
> parsen, obwohl's der Expat AFAICR eigentlich kann.
> 

Stimmt, wird überarbeitet.

> Bis demnächst,
>     Walter Dörwald
> 

Danke für Dein Feedback.


Gruß

Fritz Cizmarov