Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 1f34149679700274d273f929cf13b29a > files > 688

PyXB-1.1.2-1.fc15.noarch.rpm

.. PyXB documentation master file

.. Sphinx standard indentations
   # with overline, for parts
   * with overline, for chapters
   =, for sections
   -, for subsections
   ^, for subsubsections
   ", for paragraphs

.. role:: namespace(literal)

################################
PyXB: Python XML Schema Bindings
################################

PyXB ("pixbee") is a pure `Python <http://www.python.org>`_ package that
generates Python source code for classes that correspond to data structures
defined by `XMLSchema <http://www.w3.org/XML/Schema>`_.  The generated classes
support bi-directional conversion between `XML <http://www.w3.org/XML/>`_
documents and Python objects.  In concept it is similar to `JAXB
<http://en.wikipedia.org/wiki/JAXB>`_ for Java and `CodeSynthesis XSD
<http://www.codesynthesis.com/products/xsd/>`_ for C++.  A
:ref:`thirty_sec_example` is at the bottom of this page.  Step-by-step
examples are in :ref:`userReference`.

************
Getting Help
************

PyXB is distributed on `SourceForge <http://sourceforge.net/projects/pyxb>`_.

For support, consult the `Help Forum
<https://sourceforge.net/projects/pyxb/forums/forum/956708>`_, or subscribe to
and email the `mailing list
<https://sourceforge.net/mailarchive/forum.php?forum_name=pyxb-users>`_.

To file a bug report or see the status of defects reported against the current
release, visit the `Trac database <http://sourceforge.net/apps/trac/pyxb/>`_.

For a history of releases, see :ref:`releases`.

********
Contents
********
.. toctree::
   :maxdepth: 2

   overview
   examples
   releases
   architecture
   userref_index
   maintref

.. _thirty_sec_example:

*********************
Thirty Second Example
*********************

An example of a program using PyXB to interact with a `web service
<http://wiki.cdyne.com/wiki/index.php?title=CDYNE_Weather>`_ using an
automatically-generated module.  First, retrieve the WSDL and generate the
bindings::

 mnservices[4]$ pyxbgen \
   --wsdl-location="http://ws.cdyne.com/WeatherWS/Weather.asmx?wsdl" --module=weather \
   --write-for-customization
 urn:uuid:57d386ce-bb48-11de-a28f-001cc05930fc
 Retrieving WSDL from http://ws.cdyne.com/WeatherWS/Weather.asmx?wsdl
 Importing pyxb.binding.datatypes to get binding for wildcard {http://www.w3.org/2001/XMLSchema}schema
 NOTE: Created unbound wildcard element from DOM node {http://www.w3.org/2001/XMLSchema}schema
 PS urn:uuid:57d386ce-bb48-11de-a28f-001cc05930fc
 Python for http://ws.cdyne.com/WeatherWS/ requires 1 modules
 Saved binding source to ./raw/weather.py
 mnservices[5]$ 

Then write a program that uses them:

.. literalinclude:: ../examples/weather/client_get.py

And run it::

 mnservices[5]$ python client_get.py 
 Weather forecast for Tucson, AZ:
   Saturday, October 17 2009: Sunny, from  to 98
   Sunday, October 18 2009: Partly Cloudy, from 68 to 96
   Monday, October 19 2009: Partly Cloudy, from 67 to 91
   Tuesday, October 20 2009: Sunny, from 65 to 88
   Wednesday, October 21 2009: Sunny, from 59 to 86
   Thursday, October 22 2009: Sunny, from 58 to 87
   Friday, October 23 2009: Sunny, from 60 to 8
 mnservices[6]$ 

That's it.

******************
Indices and tables
******************

* :ref:`genindex`
* :ref:`search`

.. ignored
   ## Local Variables:
   ## fill-column:78
   ## indent-tabs-mode:nil
   ## End: