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.


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.


  • 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


  • 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.


  • 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


Open Source (OSI) Logo Python Logo

Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: