# cyclonedx.validation

## Submodules

- cyclonedx.validation.json
- cyclonedx.validation.model
- cyclonedx.validation.xml

## Classes

`ValidationError` | Validation failed with this specific error.
`SchemabasedValidator` | Schema-based Validator protocol
`BaseSchemabasedValidator` | Base Schema-based Validator

## Functions

`make_schemabased_validator`(…) | Get the default Schema-based Validator for a certain `OutputFormat`.

## Package Contents

class cyclonedx.validation.ValidationError(data: Any)

  Validation failed with this specific error.

  Use `data` to access the content.

  data: Any

    Raw error data from one of the underlying validation methods.

class cyclonedx.validation.SchemabasedValidator

  Bases: `Protocol`

  Schema-based Validator protocol

  validate_str(data: str, *, all_errors: Literal[False] = ...) → ValidationError | None
  validate_str(data: str, *, all_errors: Literal[True]) → collections.abc.Iterable[ValidationError] | None

    Validate a string

    Parameters:

      - data – the data string to validate

      - all_errors – whether to return all errors or only (any)one - if any

    Returns:

      validation error

    Retval None:

      if `data` is valid

    Retval ValidationError:

      if `data` is invalid and `all_errors` is `False`

    Retval Iterable[ValidationError]:

      if `data` is invalid and `all_errors` is `True`

class cyclonedx.validation.BaseSchemabasedValidator(schema_version: cyclonedx.schema.SchemaVersion)

  Bases: `abc.ABC`, `SchemabasedValidator`

  Base Schema-based Validator

  property schema_version: cyclonedx.schema.SchemaVersion

    Get the schema version.

  property output_format: cyclonedx.schema.OutputFormat
    Abstractmethod:

    Get the format.

  validate_str(data: str, *, all_errors: Literal[False] = ...) → ValidationError | None
  validate_str(data: str, *, all_errors: Literal[True]) → collections.abc.Iterable[ValidationError] | None

    Validate a string

    Parameters:

      - data – the data string to validate

      - all_errors – whether to return all errors or only (any)one - if any

    Returns:

      validation error

    Retval None:

      if `data` is valid

    Retval ValidationError:

      if `data` is invalid and `all_errors` is `False`

    Retval Iterable[ValidationError]:

      if `data` is invalid and `all_errors` is `True`

cyclonedx.validation.make_schemabased_validator(output_format: Literal[cyclonedx.schema.OutputFormat.JSON], schema_version: cyclonedx.schema.SchemaVersion) → json.JsonValidator
cyclonedx.validation.make_schemabased_validator(output_format: Literal[cyclonedx.schema.OutputFormat.XML], schema_version: cyclonedx.schema.SchemaVersion) → xml.XmlValidator
cyclonedx.validation.make_schemabased_validator(output_format: cyclonedx.schema.OutputFormat, schema_version: cyclonedx.schema.SchemaVersion) → json.JsonValidator | xml.XmlValidator

  Get the default Schema-based Validator for a certain `OutputFormat`.

  Raises error when no instance could be made.