module protocol.schema

FIX Schema validation module.


class SchemaField

FIX Field schema.

method __init__

__init__(
    tag: 'str',
    name: 'str',
    ftype: 'str',
    values: 'dict[str, str]' = <factory>
) → None

method validate_value

validate_value(value: 'str') → bool

Validate tag value based on schema settings.

Args:

  • value: tag value

Returns: True - if passed

Raises:

  • FIXMessageError: raised if validation failed

class SchemaSet

Generic schema set (base for component/group).

Attributes:

  • name: schema name
  • field: schema field
  • members: members
  • required: required flag

method __init__

__init__(name: 'str', field: 'SchemaField | None' = None)

Initialize.

Args:

  • name: name of abstract set
  • field: field of abstract set

Raises:

  • ValueError: if not NUMINGROUP type or similar tag name

property tag

Tag number of SchemaField.

Returns: tag

Raises:

  • ValueError: raised then tag is not single field

method add

add(field_or_set: 'SchemaField | SchemaSet', required: 'bool')

Add SchemaSet member.

Args:

  • field_or_set: field or SchemaSet
  • required: required tag flag

Raises:

  • ValueError: unsupported field_or_set value

method keys

keys() → list[str]

List of field names.


method merge

merge(comp: 'SchemaSet')

Merge SchemaSet with another.

Args:

  • comp: SchemaSet

class SchemaGroup

SchemaGroup container.

Attributes: field_required:

method __init__

__init__(field: 'SchemaField', required: 'bool')

Initialize.

Args:

  • field: SchemaField of group
  • required: required flag

property tag

Tag number of SchemaField.

Returns: tag

Raises:

  • ValueError: raised then tag is not single field

method add

add(field_or_set: 'SchemaField | SchemaSet', required: 'bool')

Add SchemaSet member.

Args:

  • field_or_set: field or SchemaSet
  • required: required tag flag

Raises:

  • ValueError: unsupported field_or_set value

method keys

keys() → list[str]

List of field names.


method merge

merge(comp: 'SchemaSet')

Merge SchemaSet with another.

Args:

  • comp: SchemaSet

method validate_group

validate_group(groups: 'list[FIXContainer]')

Validate values of all tags in group.

Args:

  • groups: list of repeating group items

Raises:

  • FIXMessageError: validation failed

class SchemaComponent

SchemaComponent container.

method __init__

__init__(name: 'str')

Initialize.

Args:

  • name: component name

property tag

Tag number of SchemaField.

Returns: tag

Raises:

  • ValueError: raised then tag is not single field

method add

add(field_or_set: 'SchemaField | SchemaSet', required: 'bool')

Add SchemaSet member.

Args:

  • field_or_set: field or SchemaSet
  • required: required tag flag

Raises:

  • ValueError: unsupported field_or_set value

method keys

keys() → list[str]

List of field names.


method merge

merge(comp: 'SchemaSet')

Merge SchemaSet with another.

Args:

  • comp: SchemaSet

class SchemaHeader

SchemaHeader container.

method __init__

__init__()

Initialize header.


property tag

Tag number of SchemaField.

Returns: tag

Raises:

  • ValueError: raised then tag is not single field

method add

add(field_or_set: 'SchemaField | SchemaSet', required: 'bool')

Add SchemaSet member.

Args:

  • field_or_set: field or SchemaSet
  • required: required tag flag

Raises:

  • ValueError: unsupported field_or_set value

method keys

keys() → list[str]

List of field names.


method merge

merge(comp: 'SchemaSet')

Merge SchemaSet with another.

Args:

  • comp: SchemaSet

class SchemaMessage

SchemaMessage container.

Attributes:

  • msg_type: msg_type value
  • msg_cat: message category

method __init__

__init__(name: 'str', msg_type: 'str', msg_cat: 'str')

Initialize.

Args:

  • name: message name
  • msg_type: message type
  • msg_cat: message category

property tag

Tag number of SchemaField.

Returns: tag

Raises:

  • ValueError: raised then tag is not single field

method add

add(field_or_set: 'SchemaField | SchemaSet', required: 'bool')

Add SchemaSet member.

Args:

  • field_or_set: field or SchemaSet
  • required: required tag flag

Raises:

  • ValueError: unsupported field_or_set value

method keys

keys() → list[str]

List of field names.


method merge

merge(comp: 'SchemaSet')

Merge SchemaSet with another.

Args:

  • comp: SchemaSet

class FIXSchema

FIX schema validator.

method __init__

__init__(xml_or_path: 'ElementTree | str')

Initialize.

Args:

  • xml_or_path: path to xml or xml.etree.ElementTree

Raises: ValueError:


method validate

validate(msg: 'FIXMessage') → bool

Validates generic FIXMessage based on schema.

Args:

  • msg: generic FIXMessage

Returns: True - if ok

Raises:

  • FIXMessageError: raises on invalid message

This file was automatically generated via lazydocs.