minixsv/readme.txt
author etisserant
Wed, 31 Jan 2007 16:31:39 +0100
changeset 0 b622defdfd98
permissions -rw-r--r--
PLCOpenEditor initial commit. 31/01/07.
Release Notes for minixsv, Release 0.3

minixsv is a XML schema validator written in "pure" Python.

Currently only a subset of the XML schema standard is supported
(list of limitations/restrictions see below).

minixsv currently uses minidom or elementtree as XML parser
Other parsers can easily be adapted by implementing an appropriate interface class
Whitespaces inside strings are automatically normalized/collapsed as specified in the XML schema file
Default/Fixed attributes are automatically inserted if not specified in the input file

--------------------------------------------------------------------
 The minixsv XML schema validator is

 Copyright (c) 2004 by Roland Leuthe

 By obtaining, using, and/or copying this software and/or its
 associated documentation, you agree that you have read, understood,
 and will comply with the following terms and conditions:

 Permission to use, copy, modify, and distribute this software and
 its associated documentation for any purpose and without fee is
 hereby granted, provided that the above copyright notice appears in
 all copies, and that both that copyright notice and this permission
 notice appear in supporting documentation, and that the name of
 the author not be used in advertising or publicity
 pertaining to distribution of the software without specific, written
 prior permission.

 THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
 TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT-
 ABILITY AND FITNESS.  IN NO EVENT SHALL THE AUTHOR
 BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
 ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
 OF THIS SOFTWARE.
---------------------------------------------------------------------


Limitations/restrictions of the current release:

- No support of namespaces
- Only first text node is validated/processed as Element content
- No validation of predefined types decimal, float, double, date/time types, DURATION, anyURI, base64Binary
- Only partial validation for language, QName, DTD types
- No validation for facets of not validated predefined types (see above)
- Derivation of complex types from simple types not supported
- Mixed content (child nodes and text nodes) not supported
- No check if no element content exists when xsi:nil = "true" is specified
- No support of attributes "elementFormDefault", "attributeFormDefault", "form"
- "import" element not supported
- no check if derived type and base type match
- no check of attributes "final", "finalDefault"
- "redefine" element not supported
- no support of substitution groups
- no support of abstract elements and types
- uniqueness of identity constraints (unique/key/keyref) is only checked on string base
  (in case of element content only the first text node is evaluated)
- "processContents" attribute not supported

Note: This constraint list may not be complete!!


---------------------------------------------------------------------

Contents
========

readme.txt
__init__.py
pyxsval.py
xsvalSchema.py
xsvalBase.py
xsvalSimpleTypes.py
xsvalErrorHandler.py
xmlifbase.py
minidomif.py
elemtreeif.py
xsStructs.xsd
datatypes.xsd
datatypes2.xsd

---------------------------------------------------------------------

HISTORY:
=======

Changes to Release 0.2
======================

- API re-structured
- XML text processing added
- several bugs fixed
- internal re-structuring
 

Changes to Release 0.1
======================

- Error/warning outputs contain now also filename and linenumber
- Basic URI support for include directive added
- XML interface classes completely re-designed
- several bugs fixed