soapbox Package

soapbox Package

iso8601 Module

ISO 8601 date time string parsing

Basic usage:

>>> import iso8601
>>> iso8601.parse_date('2007-01-25T12:00:00Z')
datetime.datetime(2007, 1, 25, 12, 0, tzinfo=<iso8601.iso8601.Utc ...>)
>>>

Regular expressions adapted from http://delete.me.uk/2005/03/iso8601.html

soapbox.iso8601.parse_date(datestring, default_timezone=<soapbox.iso8601.Utc object at 0xa0743cc>)[source]

Parses ISO 8601 dates into datetime objects

The timezone is parsed from the date string. However it is quite common to have dates without a timezone (not strictly correct). In this case the default timezone specified in default_timezone is used. This is UTC by default.

exception soapbox.iso8601.ParseError[source]

Bases: exceptions.Exception

Raised when there is a problem parsing a date string.

py2wsdl Module

soapbox.py2wsdl.build_bindings(wsdl, definitions, service)[source]
soapbox.py2wsdl.build_messages(wsdl, definitions, service)[source]
soapbox.py2wsdl.build_portTypes(wsdl, definitions, service)[source]
soapbox.py2wsdl.build_service(wsdl, definitions, service)[source]
soapbox.py2wsdl.build_types(wsdl, definitions, schema)[source]
soapbox.py2wsdl.generate_wsdl(service)[source]
soapbox.py2wsdl.main()[source]
soapbox.py2wsdl.parse_arguments()[source]

py2xsd Module

soapbox.py2xsd.build_imports(xsd_schema, imports)[source]
soapbox.py2xsd.create_xsd_element(element)[source]
soapbox.py2xsd.generate_elements(xsd_schema, schema)[source]
soapbox.py2xsd.generate_xsd(schema)[source]
soapbox.py2xsd.generate_xsdspec(schema)[source]
soapbox.py2xsd.get_xsd_type(_type)[source]

Check is basic type from XSD scope, else it must be user defined type.

soapbox.py2xsd.main()[source]
soapbox.py2xsd.parse_arguments()[source]
soapbox.py2xsd.xsd_attribute(attribute)[source]
soapbox.py2xsd.xsd_complexType(complexType, named=True)[source]
soapbox.py2xsd.xsd_simpleType(st)[source]

settings Module

Soapbox Configuration

soap Module

SOAP protocol implementation, dispatchers and client stub.

exception soapbox.soap.SOAPError[source]

Bases: exceptions.Exception

class soapbox.soap.SOAPVersion[source]
SOAP11 = <module 'soapbox.soap11' from '/var/lib/jenkins/jobs/Soapbox/workspace/soapbox/soap11.pyc'>
SOAP12 = <module 'soapbox.soap12' from '/var/lib/jenkins/jobs/Soapbox/workspace/soapbox/soap12.pyc'>
classmethod get_version(namespace)[source]
classmethod get_version_name(namespace)[source]
class soapbox.soap.Service(targetNamespace, location, schema, methods, version=<module 'soapbox.soap11' from '/var/lib/jenkins/jobs/Soapbox/workspace/soapbox/soap11.pyc'>, name='Service')[source]

Bases: object

Describes service aggregating informations required for dispatching and WSDL generation.

get_method(operationName)[source]
class soapbox.soap.Stub(username=None, password=None, service=None, location=None, base_url=None)[source]

Bases: object

Client stub. Handles only document style calls.

HOST = 'www.example.net'
SCHEME = 'http'
SERVICE = None
call(operationName, parameter)[source]
Raises :lxml.etree.XMLSyntaxError – validation problems.
soapbox.soap.get_django_dispatch(service)[source]

soap11 Module

class soapbox.soap11.Body(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

SOAP Envelope Body.

Fault = Element<Fault>
SCHEMA = <soapbox.xsd.Schema object at 0xa1ae1cc>
content()[source]
message = ClassNamedElement<NamedType>
class soapbox.soap11.Code[source]
CLIENT = 'Client'
SERVER = 'Server'
class soapbox.soap11.Envelope(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

SOAP Envelope.

Body = Element<Body>
Header = Element<Header>
SCHEMA = <soapbox.xsd.Schema object at 0xa1ae1cc>
classmethod response(tagname, return_object)[source]
class soapbox.soap11.Fault(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

SOAP Envelope Fault.

SCHEMA = <soapbox.xsd.Schema object at 0xa1ae1cc>
faultcode = Element<String>
faultstring = Element<String>
class soapbox.soap11.Header(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

SOAP Envelope Header.

SCHEMA = <soapbox.xsd.Schema object at 0xa1ae1cc>
soapbox.soap11.build_header(soapAction)[source]
soapbox.soap11.determin_soap_action(request)[source]
soapbox.soap11.get_error_response(code, message)[source]
soapbox.soap11.parse_fault_message(fault)[source]

soap12 Module

class soapbox.soap12.Body(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

SOAP Envelope Body.

Fault = Element<Fault>
SCHEMA = <soapbox.xsd.Schema object at 0xa1aeacc>
content()[source]
message = ClassNamedElement<ComplexType>
class soapbox.soap12.Code(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

CLIENT = 'ns0:Sender'
SCHEMA = <soapbox.xsd.Schema object at 0xa1aeacc>
SERVER = 'ns0:Receiver'
Value = Element<String>
class soapbox.soap12.Envelope(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

SOAP Envelope.

Body = Element<Body>
Header = Element<Header>
SCHEMA = <soapbox.xsd.Schema object at 0xa1aeacc>
classmethod response(tagname, return_object)[source]
class soapbox.soap12.Fault(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

SOAP Envelope Fault.

Code = Element<Code>
Reason = Element<Reason>
SCHEMA = <soapbox.xsd.Schema object at 0xa1aeacc>
class soapbox.soap12.Header(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

SOAP Envelope Header.

SCHEMA = <soapbox.xsd.Schema object at 0xa1aeacc>
class soapbox.soap12.LanguageString(enumeration=None, pattern=None)[source]

Bases: soapbox.xsd.String

render(parent, value, namespace, elementFormDefault)[source]
class soapbox.soap12.Reason(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

SCHEMA = <soapbox.xsd.Schema object at 0xa1aeacc>
Text = Element<LanguageString>
soapbox.soap12.build_header(soapAction)[source]
soapbox.soap12.determin_soap_action(request)[source]
soapbox.soap12.get_error_response(code, message)[source]
soapbox.soap12.parse_fault_message(fault)[source]

utils Module

soapbox.utils.capitalize(value)[source]
soapbox.utils.find_xsd_namespaces(nsmap)[source]
soapbox.utils.get_get_type(xsd_namespaces)[source]
soapbox.utils.open_document(path)[source]
soapbox.utils.remove_namespace(full_typename)[source]
soapbox.utils.uncapitalize(value)[source]
soapbox.utils.url_component(url, item)[source]
soapbox.utils.url_regex(url)[source]

http://example.net/ws/endpoint –> ^ws/endpoint$

soapbox.utils.url_template(url)[source]

http://example.net/ws/endpoint –> %s/ws/endpoint

soapbox.utils.use(usevalue)[source]

wsdl Module

soapbox.wsdl.get_by_name(_list, fullname)[source]
soapbox.wsdl.get_wsdl_classes(soap_namespace)[source]

wsdl2py Module

soapbox.wsdl2py.generate_code_from_wsdl(xml, target)[source]
soapbox.wsdl2py.get_rendering_environment()[source]
soapbox.wsdl2py.main()[source]
soapbox.wsdl2py.parse_arguments()[source]

xsd Module

Design Decision Log

  1. I have decided to not use dews/dexml approach to field description as it doesn’t give good distinction between element and attribute. It is not a problem when parsing a XML, but it is quite important for rendering and XSD generation. The new syntax will look like:

    tail_number = xsd.Attribute(xsd.String) flight_number = xsd.Element(xsd.Integer)

    which makes this distinction clear.

  2. Render will take value/instance as parameter. More obvious would be if render just rendered current object, but this approach doesn’t work with Python simple types like string. Where you can not call ‘x’.render() so type method render must take a value as a parameter, which may same odd for complex types.

  3. Due to render taking a value as parameter it could be implemented as a static/class method, but it is not. xsd.Element takes a class or an instance, but if class was passed it will create an instance - so a parameter-less constructor is required Reason for that is to keep API consistent. There are two syntaxes:

    1. xsd.Element(xsd.String)
    2. xsd.Element(xsd.String(enumeration=[‘A’, ‘B’]))

    because instance if required in case (b) creating it from class in case (a) makes other methods independent from this two syntaxes.

Notes

For information on XML schema validation:

class soapbox.xsd.All(fields)[source]

Bases: soapbox.xsd.Indicator

class soapbox.xsd.AnyType[source]

Bases: soapbox.xsd.Type

class soapbox.xsd.AnyURI(enumeration=None, pattern=None)[source]

Bases: soapbox.xsd.String

class soapbox.xsd.Attribute(type_clazz, use='required', tagname=None, nillable=False, default=None)[source]

Bases: soapbox.xsd.Element

Represents a field that is a XML attribute. e.g. <person name=”Jhon” surname=”Dough”>

<job>Programmer<job>

</person> name and surname are attributes. Attribute type can be only simple types.

parse(instance, field_name, xmlelement)[source]
render(parent, field_name, value, namespace=None, elementFormDefault=None)[source]
class soapbox.xsd.AttributeGroup(**kwargs)[source]

Bases: soapbox.xsd.Group

Parent object for XSD Attribute Groups. Marker. Must be use with Ref.

class soapbox.xsd.Base64Binary(enumeration=None, pattern=None)[source]

Bases: soapbox.xsd.String

class soapbox.xsd.Boolean[source]

Bases: soapbox.xsd.SimpleType

accept(value)[source]
pythonvalue(value)[source]
xmlvalue(value)[source]
class soapbox.xsd.Byte(enumeration=None, maxExclusive=None, maxInclusive=2147483647, minExclusive=None, minInclusive=-2147483648, pattern=None, totalDigits=None)[source]

Bases: soapbox.xsd.Short

class soapbox.xsd.CallStyle[source]

Bases: object

DOCUMENT = 'document'
RPC = 'RPC'
class soapbox.xsd.Choice(fields)[source]

Bases: soapbox.xsd.Indicator

class soapbox.xsd.ClassNamedElement(_type, minOccurs=1, nilable=False)[source]

Bases: soapbox.xsd.Element

Use this element when tagname should be based on class name in rendering time.

render(parent, field_name, value, namespace=None, elementFormDefault=None)[source]
class soapbox.xsd.ComplexType(**kwargs)[source]

Bases: soapbox.xsd.Type

Parent for XML elements that have sub-elements.

INDICATOR

alias of Sequence

INHERITANCE = None
SCHEMA = None
accept(value)[source]

Instance methods that validate other instance.

classmethod parse_xmlelement(xmlelement)[source]
classmethod parsexml(xml, schema=None)[source]
render(parent, instance, namespace=None, elementFormDefault=None)[source]
xml(tagname, namespace=None, elementFormDefault=None, schema=None)[source]
class soapbox.xsd.ComplexTypeMetaInfo(cls)[source]

Bases: object

class soapbox.xsd.Complex_PythonType[source]

Bases: soapbox.xsd.Type_PythonType

Python type for ComplexType, builds _meta object for every class that inherit from ComplexType.

class soapbox.xsd.Content(_type, minOccurs=1, tagname=None, nillable=False, default=None, namespace=None)[source]

Bases: soapbox.xsd.Ref

Direct access to element.text. Note that <> will be escaped.

empty_value()[source]
class soapbox.xsd.DateTime[source]

Bases: soapbox.xsd.SimpleType

Example text value: 2001-10-26T21:32:52

FORMAT = '%Y-%m-%dT%H:%M:%S%z'
accept(value)[source]
pythonvalue(value)[source]
xmlvalue(value)[source]
class soapbox.xsd.Decimal(enumeration=None, fractionDigits=None, maxExclusive=None, maxInclusive=None, minExclusive=None, minInclusive=None, pattern=None, totalDigits=None)[source]

Bases: soapbox.xsd.SimpleType

accept(value)[source]
pythonvalue(xmlvalue)[source]
xmlvalue(value)[source]
class soapbox.xsd.Document(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

Represents whole xml, is expected to have only one field the root.

class MockElement[source]

Bases: object

append(element)[source]
Document.NAMESPACE = None
classmethod Document.parsexml(xml)[source]
Document.render()[source]
class soapbox.xsd.Double(enumeration=None, maxExclusive=None, maxInclusive=None, minExclusive=None, minInclusive=None, pattern=None)[source]

Bases: soapbox.xsd.Decimal

class soapbox.xsd.Duration(enumeration=None, pattern=None)[source]

Bases: soapbox.xsd.String

class soapbox.xsd.Element(_type, minOccurs=1, tagname=None, nillable=False, default=None, namespace=None)[source]

Bases: object

Basic building block, represents a XML element that can appear one or zero times in XML that should be rendered as subelement e.g. <aircraft><tail_number>LN-KKY</tail_number></aircraft> Tail number is element. For elements that can appear multiple times use ListElement.

accept(value)[source]

Checks is the value correct from type defined in constructions.

empty_value()[source]

Empty value methods is used when new object is constructed for field initialization in most cases this should be None, but for lists and other types of aggregates this should by an empty aggregate.

parse(instance, field_name, xmlelement)[source]
render(parent, field_name, value, namespace=None, elementFormDefault=None)[source]
class soapbox.xsd.ElementFormDefault[source]

Bases: object

QUALIFIED = 'qualified'
UNQUALIFIED = 'unqualified'
class soapbox.xsd.Float(enumeration=None, maxExclusive=None, maxInclusive=None, minExclusive=None, minInclusive=None, pattern=None)[source]

Bases: soapbox.xsd.Decimal

class soapbox.xsd.Group(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

Parent object for XSD Groups. Marker. Must be use with Ref.

class soapbox.xsd.Indicator(fields)[source]

Bases: object

class soapbox.xsd.Inheritance[source]

Bases: object

EXTENSION = 'EXTENSION'
RESTRICTION = 'RESTRICTION'
class soapbox.xsd.Int(enumeration=None, maxExclusive=None, maxInclusive=2147483647, minExclusive=None, minInclusive=-2147483648, pattern=None, totalDigits=None)[source]

Bases: soapbox.xsd.Long

class soapbox.xsd.Integer(enumeration=None, maxExclusive=None, maxInclusive=None, minExclusive=None, minInclusive=None, pattern=None, totalDigits=None)[source]

Bases: soapbox.xsd.Decimal

accept(value)[source]
class soapbox.xsd.List[source]

Bases: soapbox.xsd.SimpleType

class soapbox.xsd.ListElement(clazz, tagname, minOccurs=None, maxOccurs=None, nillable=False)[source]

Bases: soapbox.xsd.Element

Tag element that can appear many times in valid XML. e.g.

<flight>
<aircraft>G-ABCD</aircraft> <passenger>John Backus</passenger> <passenger>Kent Beck</passenger> <passenger>Larry Breed</passenger>

</flight>

passenger is an example of ListElement, the definition would look: passengers = xsd.ListElement(xsd.String, “passenger”) Note that tag name is required for this field, as the field name should be in plural form, and tag usually is not.

accept(value)[source]
empty_value(this)[source]
parse(instance, field_name, xmlelement)[source]
render(parent, field_name, value, namespace=None, elementFormDefault=None)[source]
class soapbox.xsd.Long(enumeration=None, maxExclusive=None, maxInclusive=9223372036854775807L, minExclusive=None, minInclusive=-9223372036854775808L, pattern=None, totalDigits=None)[source]

Bases: soapbox.xsd.Integer

class soapbox.xsd.Method(operationName, soapAction, input, output, function=None, inputPartName='body', outputPartName='body', style='document')[source]

Bases: object

Method description. The main information is mapping soapAction and operationName to function for dispatcher. input and output mapping informs how and which objects should be created on incoming/outgoing messages.

class soapbox.xsd.NMTOKEN(enumeration=None, pattern=None)[source]

Bases: soapbox.xsd.String

class soapbox.xsd.NMTOKENS(enumeration=None, pattern=None)[source]

Bases: soapbox.xsd.String

class soapbox.xsd.NamedType(name=None, value=None)[source]

Bases: soapbox.xsd.ComplexType

name = Element<String>
value = Element<ComplexType>
class soapbox.xsd.QName(enumeration=None, pattern=None)[source]

Bases: soapbox.xsd.String

class soapbox.xsd.Ref(_type, minOccurs=1, tagname=None, nillable=False, default=None, namespace=None)[source]

Bases: soapbox.xsd.Element

References are not fields, they point to type that has them - usually groups. With Ref fields will be rendered directly into parent object. e.g.

class Person(xsd.Group):
name = xsd.Element(xsd.String) surname = xsd.Element(xsd.String)
class Job(xsd.ComplexType):
title = xsd.Element(xsd.String) person = xsd.Ref(Person)

The valid XML will be:

<job>
<title>Programmer</title> <name>An</name> <surname>Brown</surname>

</job>

Note that name and surname are not wrapped with <person> tag.

empty_value()[source]
render(parent, field_name, value, namespace=None, elementFormDefault=None)[source]
class soapbox.xsd.Schema(targetNamespace, elementFormDefault='unqualified', simpleTypes=[], attributeGroups=[], groups=[], complexTypes=[], elements={}, imports=None, location=None)[source]

Bases: object

Main object for XSD schema. This object is required for XSD and WSDLgeneration and correct namespaces as it propagates targetNamespace to all objects. Instance of this is expected to be named Schema.

get_element_by_name(name)[source]
class soapbox.xsd.Sequence(fields)[source]

Bases: soapbox.xsd.Indicator

class soapbox.xsd.Short(enumeration=None, maxExclusive=None, maxInclusive=2147483647, minExclusive=None, minInclusive=-2147483648, pattern=None, totalDigits=None)[source]

Bases: soapbox.xsd.Int

class soapbox.xsd.SimpleType[source]

Bases: soapbox.xsd.Type

Defines an interface for simple types.

parse_xmlelement(xmlelement)[source]
pythonvalue(xmlvalue)[source]
render(parent, value, namespace, elementFormDefault)[source]
xmlvalue(value)[source]
class soapbox.xsd.String(enumeration=None, pattern=None)[source]

Bases: soapbox.xsd.SimpleType

accept(value)[source]
enumeration = None
pattern = None
pythonvalue(xmlvalue)[source]
xmlvalue(value)[source]
class soapbox.xsd.Type[source]

Bases: object

Abstract.

accept(value)[source]
parse_xmlelement(xmlelement)[source]
parsexml(xml)[source]
render(parent, value)[source]
class soapbox.xsd.TypeRegister[source]

Bases: object

Allows tracking user defined class and their names, to be able to resolve string references e.g. a = xsd.Element(‘A’). Note that class names must be unique due to fact that search engine uses just class names.

add_type(clazz)[source]
find_type(typeid)[source]
class soapbox.xsd.Type_PythonType[source]

Bases: type

class soapbox.xsd.UnsignedByte(enumeration=None, maxExclusive=None, maxInclusive=2147483647, minExclusive=None, minInclusive=-2147483648, pattern=None, totalDigits=None)[source]

Bases: soapbox.xsd.UnsignedShort

class soapbox.xsd.UnsignedInt(enumeration=None, maxExclusive=None, maxInclusive=2147483647, minExclusive=None, minInclusive=-2147483648, pattern=None, totalDigits=None)[source]

Bases: soapbox.xsd.Int

class soapbox.xsd.UnsignedLong(enumeration=None, maxExclusive=None, maxInclusive=9223372036854775807L, minExclusive=None, minInclusive=-9223372036854775808L, pattern=None, totalDigits=None)[source]

Bases: soapbox.xsd.Long

class soapbox.xsd.UnsignedShort(enumeration=None, maxExclusive=None, maxInclusive=2147483647, minExclusive=None, minInclusive=-2147483648, pattern=None, totalDigits=None)[source]

Bases: soapbox.xsd.Int

class soapbox.xsd.Use[source]

Bases: object

OPTIONAL = 'optional'
PROHIBITED = 'prohibited'
REQUIRED = 'required'

xsd2py Module

soapbox.xsd2py.generate_code_from_xsd(xmlelement, known_namespaces=None, location=None)[source]
soapbox.xsd2py.get_rendering_environment()[source]
soapbox.xsd2py.main()[source]
soapbox.xsd2py.parse_arguments()[source]
soapbox.xsd2py.resolve_import(xsdimport, known_namespaces)[source]
soapbox.xsd2py.schema_name(namespace)[source]
soapbox.xsd2py.schema_to_py(schema, xsd_namespace, known_namespaces=None, location=None)[source]

xsdspec Module

class soapbox.xsdspec.Attribute(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
name = Attribute<String>
ref = Attribute<String>
type = Attribute<String>
use = Attribute<String>
class soapbox.xsdspec.AttributeGroup(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
attributes = ListElement<Attribute>
name = Attribute<String>
class soapbox.xsdspec.AttributeGroupReference(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
ref = Attribute<String>
to_python()[source]
class soapbox.xsdspec.ComplexContent(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
extension = Element<Extension>
mixed = Attribute<Boolean>
restriction = Element<Extension>
class soapbox.xsdspec.Element(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
complexType = Element<XSDComplexType>
maxOccurs = Attribute<String>
minOccurs = Attribute<Integer>
name = Attribute<String>
nillable = Attribute<Boolean>
ref = Attribute<String>
simpleType = Element<SimpleType>
type = Attribute<String>
class soapbox.xsdspec.Enumeration(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
classmethod create(value)[source]
value = Attribute<String>
class soapbox.xsdspec.Extension(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
attributeGroups = ListElement<AttributeGroupReference>
attributes = ListElement<Attribute>
base = Attribute<String>
sequence = Element<Sequence>
class soapbox.xsdspec.Group(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
name = Attribute<String>
sequence = Element<Sequence>
class soapbox.xsdspec.Import(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

namespace = Attribute<String>
schemaLocation = Attribute<String>
class soapbox.xsdspec.List(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
class soapbox.xsdspec.Pattern(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
value = Attribute<String>
class soapbox.xsdspec.Restriction(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
base = Attribute<String>
enumerations = ListElement<Enumeration>
fractionDigits = Element<RestrictionValue>
maxExclusive = Element<RestrictionValue>
maxInclusive = Element<RestrictionValue>
minExclusive = Element<RestrictionValue>
minInclusive = Element<RestrictionValue>
pattern = Element<Pattern>
to_python()[source]
totalDigits = Element<RestrictionValue>
class soapbox.xsdspec.RestrictionValue(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
value = Attribute<String>
class soapbox.xsdspec.Schema(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
attributeGroups = ListElement<AttributeGroup>
complexTypes = ListElement<XSDComplexType>
elementFormDefault = Attribute<String>
elements = ListElement<Element>
groups = ListElement<Group>
imports = ListElement<Import>
simpleTypes = ListElement<SimpleType>
targetNamespace = Attribute<String>
class soapbox.xsdspec.Sequence(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
elements = ListElement<Element>
class soapbox.xsdspec.SimpleType(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
list = Element<List>
name = Attribute<String>
restriction = Element<Restriction>
class soapbox.xsdspec.XSDComplexType(**kwargs)[source]

Bases: soapbox.xsd.ComplexType

NAMESPACE = 'http://www.w3.org/2001/XMLSchema'
SCHEMA = <soapbox.xsd.Schema object at 0xa088f2c>
all = Element<Sequence>
attributeGroups = ListElement<AttributeGroupReference>
attributes = ListElement<Attribute>
complexContent = Element<ComplexContent>
name = Attribute<String>
sequence = Element<Sequence>