comicbox.validate.xml_validator

[docs] module comicbox.validate.xml_validator

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"""Xml Validator."""

from pathlib import Path
from typing import Any

from typing_extensions import override
from xmlschema import XMLSchema11

from comicbox.validate.base import BaseValidator


class XmlValidator(BaseValidator):
    """Use is_valid on XMLSchema validator."""

    def __init__(self, *args: str, **kwargs: Any) -> None:
        """Set the validator."""
        super().__init__(*args, **kwargs)
        self._validator = XMLSchema11(self.schema_path)

    @override
    def validate(self, data: str | bytes | Path) -> None:
        """Use is_valid on XMLSchema validator."""
        self._validator.validate(data)