generateDS.py erzeugt Python-Datenstrukturen (zB Klassendefinitionen) aus einem XML-Schema-Dokument. Diese Datenstrukturen sind die Bestandteile in einem durch die XML-Schema-XML-Dokument beschrieben.
Es erzeugt auch Parser, die ein XML-Dokument in diesen Datenstrukturen zu laden. Zusätzlich ist eine separate Datei mit Unterklassen (stubs) wahl erzeugt. Der Benutzer kann Methoden zu den Unterklassen, um die Inhalte der XML-Dokument zu verarbeiten hinzuzufügen.
Die erzeugte Python-Code enthält:
Ein- Eine Klassendefinition für jeden im XML-Schema-Dokument definiert Element.
Ein- Ein Haupt- und Treiberfunktion, die verwendet werden können, um den generierten Code zu testen.
Ein- Ein Parser, der ein XML-Dokument, das die XML-Schema, aus dem der Parser erzeugt wurde, erfüllt gelesen wird. Der Parser erstellt und füllt eine Baumstruktur von Instanzen der erzeugten Python-Klassen.
Ein- Methoden in jeder Klasse, um die Instanz zurück an XML (Methode Export) zu exportieren und die Instanz auf eine wörtliche exportieren, der die Python-Datenstruktur (Verfahren exportLiteral).
Die generierten Klassen enthalten die folgenden:
Ein- Ein Konstruktor (__init__), mit den Mitglieds Variableninitialisierungen.
Ein- Methoden mit Namen 'getX "und" setX' für jedes Mitglied variable 'X' oder, wenn das Mitglied Variable mit maxOccurs definiert = "unbounded", Methoden mit Namen 'getX', 'setX', 'addx' und 'insertX'.
IN- A "build" Methode, die verwendet werden können, um eine Instanz der Klasse, die von einem Knoten in einem Baum minidom füllen.
Ein- Ein "Export" Methode, die die Instanz (und alle verschachtelten Unterinstanzen) in einer Datei-Objekt als XML-Text zu schreiben wird.
Ein- Ein "exportLiteral" Methode, die die Instanz (und alle verschachtelten Unterinstanzen) in einer Datei-Objekt als Python-Literale (Text) schreiben wird.
Der erzeugte Unterklasse-Datei enthält eine (Teil-) Klassendefinition für jede Datendarstellung Klasse. Wenn die Datei-Unterklasse verwendet wird, dann wird der Parser erzeugt Instanzen der Unterklassen (statt durch Instanzieren der Oberklassen). Dies ermöglicht es dem Benutzer, die Unterklassen mit "Baumgangs" Methoden, beispielsweise, dass der Inhalt des XML-Datei zu verarbeiten erstrecken. Der Benutzer kann auch zu generieren und zu erweitern mehrere Unterklasse-Dateien, die einen einzigen, gemeinsamen Oberklasse-Datei zu verwenden, damit eine Reihe von verschiedenen Prozessen auf demselben XML-Dokumenttyp Umsetzung.
Dieses Dokument erklärt, (1), wie Sie mit generateDS.py; (2), wie die Python-Code und Datenstrukturen, die es generiert verwenden; und (3), wie man den generierten Code für besondere Zwecke zu ändern
Was ist neu in dieser Pressemitteilung:.
- Fix für Generation recusively definiert Simple, zB ein Simple definiert als Einschränkung der anderen Simple. (Siehe fix_simpletype Kommentar in generateDS.py)
- Hinzugefügt Versionsnummer generiert Klassendateien.
- Fixes zur / zum process_includes.py -. DirPath / dirpath jetzt korrekt initialisiert und festen Fehlen einer lokalen Variablen initialisieren
Was ist neu in Version 1.14e:
- Minor Update für Generation Syntaxfehler (fehlender Klammern) .
- Ausgeschieden Generation der Spezifikation der Superklasse (Super =) für nicht definierte Typen.
- Fehler behoben Einstellwert in SimpleElementDict.
- Fehler behoben, wenn immer Typ für den Bau von Attributen.
- Feste und gesetzlich geregelte Exception Reporting beim Bau von Float- und Integerwerte.
- Fehler behoben, die sich auf einfache Art in Build-Funktion.
Anforderungen :
- Python
Kommentare nicht gefunden