- Added XMLSchemaNamespaceError for namespace related errors
- version_check moved to schema class
- resolve_qname() now raises KeyError if namespace prefix is not found
- resolve_qname() now raises XMLSchemaNamespaceError if a namespace
is mapped with a prefix but is not loaded by an import
- XMLSchema class: changed get_converter() and iter_decode() to accept
keyword arguments containing options for converters and decoding
- Added a test for this issue into test_decoding.py
- Renamed namespaces contants in namespaces.py
- Fixed issues #28 and #29
- Code cleaning
- Created a "validators" subpackage that includes schemas, xsd global
maps and all the XSD components
- Added "prefixed_name" property to XsdComponent class
* new file: xmlschema/components/constraints.py
* parsed xs:unique, xs:key and xs:keyref and subcomponents
* added '|' as reference delimiter in xpath.py tokenizer
* improved XPathParser to check operator: the base class
admits all operators, subclasses can restricts overriding
NOT_ALLOWED_OPERATORS class attribute.
* Created a XsdBaseComponent, used both for schemas and
for XSD components
* ValidatorMixin replaces XMLSchemaValidator
* XsdComponent is now the base class of all XSD components
* new class XsdAnnotated
* Token based checks removed (the 'built' property is pretty
fast and safe)
* Added ElementData namedtuple to represent Element
decoded or encoded data.
* Fixed a bug in qname.reference_to_qname() that mapped
every local name to target namespace.
* Default converter (the format used by the package before)
* Converters for JsonML, Parker, Badgerfish and Abdera conventions
* Update of the documentation
* Fixed qname.qname_to_prefixed() that maps only the first value
* Fixed element iter_decode() for False values
* Fixed decoding/validating tests imports
* Added new test file examples/decoder/data2.xml
* Refactoring of modules for grouping QName functions and
declarations (module xmlschema/qnames.py)
* Created a module for namespaces declarations
(xmlschema/namespaces.py)
* Added a directory for model declaration tests
(xmlschema/tests/examples/model/)
* Added XsdAnnotation class as subclass of XsdBase
* XsdBase class splitted and create XsdComponent class
as the new parent class of XSD components
* XSD Facets are now in a dedicated file (facets.py)
* renamed: xmlschema/validators.py -> xmlschema/structures.py
* renamed: xmlschema/parse.py -> xmlschema/xsdbase.py
* XsdBase class -> xmlschema/xsdbase.py
* refactoring builtins and XsdAtomicType in order to
distinguish between primitive and derived types
+ XsdFacet: Base class for facets
+ XsdUniqueFacet: Class for unique instance facets
+ XsdEnumerationFacet: Class for enumerations
+ XsdPatternsFacet: Class for pattern lexical constraints
Changes to be committed:
new file: .gitignore
new file: LICENSE
new file: README.rst
new file: setup.py
new file: tests/__init__.py
new file: tests/_test_common.py
new file: tests/examples/bikes.xsd
new file: tests/examples/cars.xsd
new file: tests/examples/recursive-groups.xsd
new file: tests/examples/testfiles
new file: tests/examples/types.xsd
new file: tests/examples/vehicles-1_error.xml
new file: tests/examples/vehicles-2_errors.xml
new file: tests/examples/vehicles-3_errors.xml
new file: tests/examples/vehicles-max.xsd
new file: tests/examples/vehicles.xml
new file: tests/examples/vehicles.xsd
new file: tests/test_decoding.py
new file: tests/test_schemas.py
new file: tests/test_validation.py
new file: xmlschema/__init__.py
new file: xmlschema/builtins.py
new file: xmlschema/core.py
new file: xmlschema/etree.py
new file: xmlschema/factories.py
new file: xmlschema/parse.py
new file: xmlschema/qnames.py
new file: xmlschema/resources.py
new file: xmlschema/schema.py
new file: xmlschema/schemas/HFP/XMLSchema-hasFacetAndProperty.xsd
new file: xmlschema/schemas/XML/xml.xsd
new file: xmlschema/schemas/XSD_1.0/XMLSchema.xsd
new file: xmlschema/schemas/XSD_1.0/datatypes.xsd
new file: xmlschema/schemas/XSD_1.1/XMLSchema.xsd
new file: xmlschema/schemas/XSD_1.1/datatypes.xsd
new file: xmlschema/schemas/XSI/XMLSchema-instance.xsd
new file: xmlschema/schemas/XSLT/schema-for-xslt20.xsd
new file: xmlschema/utils.py
new file: xmlschema/validators.py