Personal tools
You are here: Home
Document Actions

Welcome to pyXSD

by Karl Norby last modified 2007-02-19 11:49 BSD copyright

Schema-validating parsing of xml into python objects with transformations and xml regeneration.

Abstract:

pyXSD is a free, open source python program that maps xml and xsd(XML Schema) files into python, allowing for easy schema-based validation and transformation of xml files.

Benefits:

  • Allows for easy access to XML and XML Schema from Python
  • Minimizes time to make small programs associated with data in an xml file using "transforms"
  • Highly adaptable to particular needs and to specific programs
  • It's free!
  • Platform independent
 pyXSD Tool Architecture


Overview:

  • Generates python classes for all of the types defined in the XSD schema file. The generated classes may be written to file.
  • Parses the xml file and builds a pythonic object tree according to the generated classes. This tree of maintains the same overall structure of the original xml document.
  • Validates the xml file against the schema producing non-fatal errors.  Helps the user write a valid xml document, without requiring complete validity.
  • Transforms the pythonic objects according to built-in "transform" classes and add-on classes that the user writes in python.
  • Sends pythonic object tree to a writer which produces a transformed xml file.

Features:

  • Transforms allow users to easily adapt pyXSD to vast number of applications
    • Provides a framework and libraries to write transform so the user can more easily write these transform functions
    • Allows the user to specify the desired transform classes with arguments and the order in a file so the user can create a sort of custom tool
    • Allows for transforms that can export to other formats, giving pyXSD powerful flexibility
  • The pythonic data tree format uses a very simple structure that allows for an easily understood API, so that users can easily manipulate this tree in transforms and use the writer in other programs
  • Can be used as a standalone program at the command line or as a library in other programs
  • Uses the cElementTree library for fast reading of the xml and xsd files

Requirements:




Open Source (OSI) Logo Python Logo


Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: