Package pyxb :: Package binding :: Module datatypes
[hide private]
[frames] | no frames]

Module datatypes

source code

Classes supporting XMLSchema Part 2: Datatypes.

Each simple type definition component instance is paired with at most one basis.simpleTypeDefinition class, which is a subclass of a Python type augmented with facets and other constraining information. This file contains the definitions of these types.

We want the simple datatypes to be efficient Python values, but to also hold specific constraints that don't apply to the Python types. To do this, we subclass each PST. Primitive PSTs inherit from the Python type that represents them, and from a pyxb.binding.basis.simpleTypeDefinition class which adds in the constraint infrastructure. Derived PSTs inherit from the parent PST.

There is an exception to this when the Python type best suited for a derived SimpleTypeDefinition differs from the type associated with its parent STD: for example, xsd:integer has a value range that requires it be represented by a Python long, but xsd:int allows representation by a Python int. In this case, the derived PST class is structured like a primitive type, but the PST associated with the STD superclass is recorded in a class variable _XsdBaseType.

Note the strict terminology: "datatype" refers to a class which is a subclass of a Python type, while "type definition" refers to an instance of either SimpleTypeDefinition or ComplexTypeDefinition.

Classes [hide private]
  anySimpleType
XMLSchema datatype anySimpleType.
  string
XMLSchema datatype string.
  boolean
XMLSchema datatype boolean.
  decimal
XMLSchema datatype decimal.
  float
XMLSchema datatype float.
  double
XMLSchema datatype double.
  duration
XMLSchema datatype duration.
  _PyXBDateTime_base
  dateTime
XMLSchema datatype dateTime.
  time
XMLSchema datatype time.
  _PyXBDateOnly_base
  date
XMLSchema datatype date.
  gYearMonth
XMLSchema datatype gYearMonth.
  gYear
XMLSchema datatype gYear.
  gMonthDay
XMLSchema datatype gMonthDay.
  gDay
XMLSchema datatype gDay.
  gMonth
XMLSchema datatype gMonth.
  hexBinary
XMLSchema datatype hexBinary.
  base64Binary
XMLSchema datatype base64Binary.
  anyURI
XMLSchema datatype anyURI.
  QName
XMLSchema datatype QName.
  NOTATION
XMLSchema datatype NOTATION.
  normalizedString
XMLSchema datatype normalizedString.
  token
XMLSchema datatype token.
  language
XMLSchema datatype language
  NMTOKEN
XMLSchema datatype NMTOKEN.
  NMTOKENS
  Name
XMLSchema datatype Name.
  NCName
XMLSchema datatype NCName.
  ID
XMLSchema datatype ID.
  IDREF
XMLSchema datatype IDREF.
  IDREFS
XMLSchema datatype IDREFS.
  ENTITY
XMLSchema datatype ENTITY.
  ENTITIES
XMLSchema datatype ENTITIES.
  integer
XMLSchema datatype integer.
  nonPositiveInteger
XMLSchema datatype nonPositiveInteger.
  negativeInteger
XMLSchema datatype negativeInteger.
  long
XMLSchema datatype long.
  int
XMLSchema datatype int.
  short
XMLSchema datatype short.
  byte
XMLSchema datatype byte.
  nonNegativeInteger
XMLSchema datatype nonNegativeInteger.
  unsignedLong
XMLSchema datatype unsignedLong.
  unsignedInt
XMLSchema datatype unsignedInt.
  unsignedShort
XMLSchema datatype unsignedShort.
  unsignedByte
XMLSchema datatype unsignedByte.
  positiveInteger
XMLSchema datatype positiveInteger.
  anyType
XMLSchema datatype anyType.
Variables [hide private]
  _log = logging.getLogger(__name__)
  _PrimitiveDatatypes = [<class 'pyxb.binding.datatypes.string'>...
  _DerivedDatatypes = [<class 'pyxb.binding.datatypes.normalized...
  _ListDatatypes = [<class 'pyxb.binding.datatypes.NMTOKENS'>, <...
  __package__ = 'pyxb.binding'
Variables Details [hide private]

_PrimitiveDatatypes

Value:
[<class 'pyxb.binding.datatypes.string'>,
 <class 'pyxb.binding.datatypes.boolean'>,
 <class 'pyxb.binding.datatypes.decimal'>,
 <class 'pyxb.binding.datatypes.float'>,
 <class 'pyxb.binding.datatypes.double'>,
 <class 'pyxb.binding.datatypes.duration'>,
 <class 'pyxb.binding.datatypes.dateTime'>,
 <class 'pyxb.binding.datatypes.time'>,
...

_DerivedDatatypes

Value:
[<class 'pyxb.binding.datatypes.normalizedString'>,
 <class 'pyxb.binding.datatypes.token'>,
 <class 'pyxb.binding.datatypes.language'>,
 <class 'pyxb.binding.datatypes.NMTOKEN'>,
 <class 'pyxb.binding.datatypes.Name'>,
 <class 'pyxb.binding.datatypes.NCName'>,
 <class 'pyxb.binding.datatypes.ID'>,
 <class 'pyxb.binding.datatypes.IDREF'>,
...

_ListDatatypes

Value:
[<class 'pyxb.binding.datatypes.NMTOKENS'>,
 <class 'pyxb.binding.datatypes.IDREFS'>,
 <class 'pyxb.binding.datatypes.ENTITIES'>]