- Added XMLResource.iterfind() for XPath iteration of a resource;
- Validator API refactored: remove path argument from iter_errors()
of components, add validate, is_valid, iter_errors to XMLSchema
class with additional arguments path and schema_path.
- Fix test case patterns.xml (now find also duplicated IDs)
- Set default timeout=30 to fetch_* functions
- Use keyword arguments (**resource_options) for providing options
for XML resource related helper functions
- Add base_url to module level API
- Now a warning message is sent to the logger for include or
for namespace import errors
- Add XMLSchemaImportWarning and XMLSchemaIncludeWarning
- Add warning attribute to schemas for collecting the message
strings about include and import warnings
- URIDict class removed (faulty with empty fragment #)
- Added --warning and --timeout to test factory arguments
- Removed --network from test factory arguments
- Fix XsdUnion iter_decode(): consider a list of values as
last tentative.
- Update etree_get_namespace(): now collects all the namespaces
of the XML data, adding new prefixes for duplicates.
- 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
- now parses also WSDL-SOAP original schema
xmlschema/schema.py module:
- more XSD compiliant imports and includes
- added 'locations' argument to schema class init
- improved schema location hints
- revised documentation with more autodoc
- schema class code cleaning
- schema class creation is now based on a metaclass
xmlschema/resources.py module:
- added iter_schema_location_hints
- fetch_schema code cleaned
- removed old functions for retrieving XSI attributes
xmlschema/exceptions.py module:
- added index and expected attributes to XMLSchemaChildrenValidationError
Updated docs using more autodocs
Added requirements-dev.txt
- 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.
* fixed a bug in simpleContent restriction parsing for attributes
* code cleaning for schemas and resources
* XMLSchema's 'uri' attribute changed to 'url'
* created fetch_resource(), normalize_url() and get_xml_root() in
resources.py, in order to start an improvement of XML parsing
* 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)
* Removed XsdGlobals.get_globals(), replaced by NamespaceView,
a Mapping subclass that emulate a dictionary;
* Implemented a check_status for fully checking of schema
components, avoiding circularity;
* Building of XSD components improved, avoiding circularity with
the lazy building of XsdElement instances in the groups.
* Default converter (the format used by the package before)
* Converters for JsonML, Parker, Badgerfish and Abdera conventions
* Update of the documentation
* 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