generateDS.py

Software Screenshot:
generateDS.py
Software Details:
Version: 2.7b
Upload Date: 15 Apr 15
Developer: Dave Kuhlman
Distribution Type: Freeware
Downloads: 2

Rating: 4.0/5 (Total Votes: 2)

generateDS.py generates Python data structures (for example, class definitions) from an XML Schema document. These data structures represent the elements in an XML document described by the XML Schema.

It also generates parsers that load an XML document into those data structures. In addition, a separate file containing subclasses (stubs) is optionally generated. The user can add methods to the subclasses in order to process the contents of an XML document.

The generated Python code contains:
� A class definition for each element defined in the XML Schema document.
� A main and driver function that can be used to test the generated code.
� A parser that will read an XML document which satisfies the XML Schema from which the parser was generated. The parser creates and populates a tree structure of instances of the generated Python classes.
� Methods in each class to export the instance back out to XML (method export) and to export the instance to a literal representing the Python data structure (method exportLiteral).

The generated classes contain the following:
� A constructor method (__init__), with member variable initializers.
� Methods with names 'getX' and 'setX' for each member variable 'X' or, if the member variable is defined with maxOccurs="unbounded", methods with names 'getX', 'setX', 'addX', and 'insertX'.
� A "build" method that can be used to populate an instance of the class from a node in a minidom tree.
� An "export" method that will write the instance (and any nested sub-instances) to a file object as XML text.
� An "exportLiteral" method that will write the instance (and any nested sub-instances) to a file object as Python literals (text).

The generated subclass file contains one (sub-)class definition for each data representation class. If the subclass file is used, then the parser creates instances of the subclasses (instead of creating instances of the superclasses). This enables the user to extend the subclasses with "tree walk" methods, for example, that process the contents of the XML file. The user can also generate and extend multiple subclass files which use a single, common superclass file, thus implementing a number of different processes on the same XML document type.

This document explains (1) how to use generateDS.py; (2) how to use the Python code and data structures that it generates; and (3) how to modify the generated code for special purposes.

What is new in this release:

  • Fix for generation of recusively defined simpleTypes, e.g. a simpleType defined as a restriction of another simpleType. (see fix_simpletype comment in generateDS.py)
  • Added version number to generated class files.
  • Fixes to/for process_includes.py -- DirPath/DIRPATH now initialized correctly and fixed failure to initialize a local variable.

What is new in version 1.14e:

  • Minor fix for generation of syntax error (missing parenthesis).
  • Eliminated generation of specification of superclass (superclass =) for undefined types.
  • Fixed error setting value in SimpleElementDict.
  • Fixed error when getting type for building attributes.
  • Fixed and regularized exception reporting when building float and integer values.
  • Fixed error referring to simple types in build function.

Requirements:

  • Python

Similar Software

SDOM
SDOM

12 May 15

Zoem
Zoem

11 May 15

oXygen XML Editor
oXygen XML Editor

22 Jun 18

safox
safox

3 Jun 15

Other Software of Developer Dave Kuhlman

generateDS
generateDS

23 Feb 15

Comments to generateDS.py

Comments not found
Add Comment
Turn on images!