Commit Graph

34 Commits

Author SHA1 Message Date
Davide Brunato 1556b76238 Close release v1.3.0 2019-10-11 11:19:35 +02:00
Davide Brunato d11524f50b Add __getstate__() for XPath2Parser pickling
- An XPath2Parser drops schema bind on pickling, the bind has to
    be restored by the schema objects. This is necessary because
    when a schema is bound to a parser token classes are created
    for XSD atomic types constructors.
  - Add bind_parser() to AbstractSchemaProxy
  - Add is_schema_bound() to XPath2Parser
  - Add statimethod create_tokenizer to TDOP Parser
  - Rename Parser.build_tokenizer() to build()
2019-10-09 14:00:07 +02:00
Davide Brunato 72a99dc39f Adapt XPathContext to typed iterations
renamed:    tests/test_context.py -> tests/test_xpath_context.py
2019-09-30 11:17:04 +02:00
Davide Brunato 020fb9f071 Update XPathToken API docs 2019-09-27 18:12:57 +02:00
Davide Brunato 04258f5c43 Fix '//' operator and text() function
- '//' without a left token has to start from the document root,
    like an absolute path.
2019-09-09 07:16:00 +02:00
Davide Brunato 0e4f050abb Add hashing methods to XSD datatypes classes 2019-08-28 07:07:30 +02:00
Davide Brunato aeba3aab05 Split xpath_helpers module in two parts
- Datatype conversion helpers moved fo token class
  - Node helpers moved to a new module
  - Kept boolean_value() for backward compatibility
2019-08-03 22:53:37 +02:00
Davide Brunato c97acb9eb8 Added a script for testing XPathContext class 2019-05-21 07:17:58 +02:00
Davide Brunato 1d23f5b13f Update to release v1.1.8
- Added coverage and flake8 to testing
  - Removed py34 from tox.ini
  - Added py38 with a limited testing
  - ElementPathMissingContextError renamed to MissingContextError
  - Added exceptions to API docs
2019-05-20 23:22:14 +02:00
Davide Brunato 12b71ba5ee Fix spacing errors
- Added is_spaced() to TODP Parser base class
  - Remove '/' from next_is_path_step_token() methods
  - Increase release and update API documentation
2019-03-30 10:59:23 +01:00
Davide Brunato 75101d530a Change default year from 1900 to 2000
- 2000 is a leap year, that is needed by gMonthDay value '--02-29'
  - Start new release v1.1.6
2019-03-05 18:19:42 +01:00
Davide Brunato 36fcdba9e6 Update release and add get_primitive_type() to docs 2019-02-22 09:35:59 +01:00
Davide Brunato 7d19a84c7f Fix XSD type matching
- XPathToken.match_xsd_type() now returns only the type or None
  - '(name)' token behaves like as a dynamic context case, returning
    values only if the context item is an XSD attribute
  - Code cleaning of datatypes and schema_proxy modules
2019-02-21 09:44:42 +01:00
Davide Brunato 5947ab6181 Rewrite schema interfaces
- Removed AbstractSchemaContext and XMLSchemaContext classes
  - Added helper method match_xsd_type() to XPathToken
  - Added abstract interfaces for XSD elements, attributes and types,
    for supporting alternative schema proxy implementations
2019-02-20 15:32:13 +01:00
Davide Brunato b4ad5c6e5f Update documentation and changelog 2019-02-20 15:29:19 +01:00
Davide Brunato b392d7534e Realize a full static analysis 2019-02-15 14:00:49 +01:00
Davide Brunato 3df7a9712f New release v1.1.3 2019-02-03 20:45:46 +01:00
Davide Brunato bb8ebe2cb7 Bugfix release v1.1.2
- Fix equality operators for AbstractDateTime
2019-01-21 08:31:42 +01:00
Davide Brunato c03e88906f Update tests and docs
- Add 2019 to copyright information
  - Update Shphinx docs about XPath 2 status
  - Tests splitted into several modules (all tests are runned as before
    by the script test_elementpath.py or by "python -m unitest")
2019-01-12 10:28:44 +01:00
Davide Brunato d94824167f Rewrite AbstractDateTime for supporting years > 9999 2019-01-04 19:08:55 +01:00
Davide Brunato c1478df580 Code cleaning on error management and constructors 2018-12-23 02:06:29 +01:00
Davide Brunato 94c991cc02 Code cleaning and documentation updated
- xpath2_parser splitted into three modules
  - Update documentation APIs
2018-12-21 22:58:31 +01:00
Davide Brunato 6286b948f0 Add resolve-QName function to XPath2Parser 2018-11-15 15:45:22 +01:00
Davide Brunato 9ceec72a77 Refactor tokenizer builder and XSD constructor functions
- Now the XPath2Parser can will be progressively extended with XSD builtin
    constructors without importing dependant package xmlschema.
2018-11-12 22:04:04 +01:00
Davide Brunato db02daed61 Add get_tokenizer static method to Parser class
- Split class tokenizer from an eventual instance tokenizer
2018-11-12 14:57:47 +01:00
Davide Brunato 31408ba696 Start next release development
- Update docstrings for test helper methods
  - Increase release version
2018-10-10 19:34:56 +02:00
Davide Brunato 8c094eb348 Update to new release 1.0.12
- Added default_namespace property to XPath parser classes
  - XPath1Parser ignores the default namespace setting
  - Fixed the '(name)' token methods to use the default namespace
2018-09-01 18:04:13 +02:00
Davide Brunato 99cca5928e Update tox.ini and setup.py
- Remove Python 3.3 support
  - Move tox workdir to ~/.tox/elementpath
2018-07-23 15:42:48 +02:00
Davide Brunato bab5040927 Fix README and update to release 1.0.10 2018-06-15 18:21:17 +02:00
Davide Brunato f4c4894278 Update to version 1.0.9 2018-06-15 18:14:43 +02:00
Davide Brunato 5d10df1129 Fix pickling for Parser classes
- Token classes names now have the form _<symbol>_<label>_token
  - Modified the Token __repr__ method
  - Adapted check_token tests
2018-06-13 10:58:20 +02:00
Davide Brunato f4ddf8111f Complete the manual and clean the code for v.1.0.7
- A first version of RtD manual done
  - Improved comments for create almost all the manual with autodoc
  - Remove abandoned internal helper functions
2018-05-07 10:35:11 +02:00
Davide Brunato 406ec2ce3a Update README.rst 2018-05-07 08:55:19 +02:00
Davide Brunato f2cbd6e401 Create Sphinx-based documentation 2018-05-07 08:35:28 +02:00