Source code for yankee.xml.schema.schema

import lxml.etree as ET
from yankee.base import schema
from yankee.base.deserializer import Deserializer

from .mixin import XmlMixin

[docs]class Deserializer(XmlMixin, Deserializer): pass
[docs]class Schema(XmlMixin, schema.Schema):
[docs] def load(self, obj): if isinstance(obj, (ET._Element, ET._ElementTree)): return super().load(obj) elif isinstance(obj, str): return super().load(ET.fromstring(obj.encode())) elif isinstance(obj, bytes): return super().load(ET.fromstring(obj))
[docs]class PolymorphicSchema(XmlMixin, schema.PolymorphicSchema): pass
[docs]class RegexSchema(XmlMixin, schema.RegexSchema): pass
[docs]class ZipSchema(XmlMixin, schema.ZipSchema): pass