The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

=== version history of XML::Compile

Unless noted otherwise, these changes where initiated and applied by
Mark Overmeer.

TODO:
  - improve template output, f.i. anyAttribute
  - the min/max calculation on nested choice/sequences can be done better

version 0.14: Tue Jan 30 12:30:34 CET 2007

	Fixes:

	- Sequence of choices will multiply min/max.  Required to
	  understand WSDL.

	- Give error on unknown particles.

	Improvements:

	- Implemented 'any' element

	- fields of type QName are translated from "prefix:type"
	  into "{namespace}type".

	- Makefile.PL requires 5.8.0, which is probably still a mild
	  setting.  XML::LibXML is probably more demanding.

version 0.13: Mon Jan 29 00:11:12 CET 2007

	Fixes:

	- One place with nested Complex extensions, but more may need
	  fixing.

	Improvements:

	- Added WSDL and SOAP schema's

	- fixed importSchema() where addSchema() missed an 's'
	  -> addSchemas().

	- XML::Compile::new() now also accepts a filename, a ref
	  Scalar, and pre-defined name-spaces.

	- skip key, keyref, unique, selector, fields elements; just
	  like notation and annotation are lost.

	- defined top-level element "attribute", but not yet used.
	  Only useful in anyAttribute, which is not checked.

	- check all top-level elements for their name, to find typo's.

	- implemented anyAttribute

	- XML::Compile::dataToXML is used to accept user spec of XML
	  on many places.

version 0.12: Tue Dec 19 15:22:59 CET 2006

	Fixes:

	- fixed attributes can be optional. [Igor Shynkarev]

	- correct dateTime values were disapproved. [John R.]

	- converted to use oodist script (new feature of OODoc)

version 0.11: Wed Oct 25 08:08:20 CEST 2006

	Fixes:

	- Need to use "getChildrenBy..." in stead of "getElementsBy" in
	  XmlReader, because otherwise we search the whole tree.
	  Problem reported by [Igor Shynkarev]

	Improvements:

	- When the reader is called with a document, its document-element
	  is taken automatically.  In response to [Igor Shynkarev]

	- First attempt for XML template output.

version 0.10: Tue Oct 24 11:40:09 CEST 2006

	Fixes:

	- Some minor cleanups in XmlWriter

	- Now depends on XML::LibXML 1.61, which has a lot of improvements
	  and fixes.  As disadvantage does it require a recent libxml2,
	  which is only included with very recent Linux distributions.

	- t/49big.t test failed when installed on 64bit Perl, because
	  one of the test-values was smaller then MAX_INT in that case.

	- Default attribute type anyType.

	- anyType is correct namespace.

	- Type resolving when schemaNamespace is not the default was
	  broken.

	- Complex body permitted to be empty.

	- Default for "check_occurs" set to `true', because default should
	  give best results.

	- Missing element with default gave error when check_occurs.

	Improvements:

	- Added Template.pm to produce a Perl template example of a certain
	  type.  See XML::Compile::Schema::template()

	- Implemented type definitions contain an example which is used
	  for the templates.

version 0.09: Mon Sep 25 08:40:24 CEST 2006

	Fixes:  [thanks to cpan-testers work by Slavan Rezic]

	- MANIFEST not correct: contained old files

	- Removed dependency for Regex::Common, added Math::BigInt

	- Upgraded to XML::LibXML 1.60, which changed from Attribute
	  handling.

	Improvements:

	- Reorganized order in some man-pages.

version 0.08: Fri Sep 22 15:52:49 CEST 2006

	Improvements:

	- Turned XML::Compile::Schema::Translate into a singleton object,
	  and reshaped functions into methods.  The arguments hash intern
	  in object.  Together much cleaner.

	- Replaced use of "croak" for errors during translation into a
	  call to the error() method, with nicer and more consequent
	  error text layout.

	- Split XML::Compile::Schema::BuiltinStructs into lazy loading
	  XML::Compile::Schema::XmlReader and ::XmlWriter.

version 0.07: Thu Sep 21 15:06:05 CEST 2006

	- implemented substitution-groups

	- implementation of ref-element was bogus.

	- improved documentation (more about Schemas)

	- $schema->addSchemas from text

	- $schema->importSchema() with support of search-path.  Schema's not
	  automatically installed (yet)

	- added other schema's to the distribution.

version 0.06: Thu Sep 14 10:10:31 CEST 2006

	- The internals of the translator (and the produced code) are
	  fully rewritted to support complexType/simpleContent in a
	  clean way.

	- better support for list.

	- major improvements in the documentation.

version 0.05: Sun Aug 27 12:00:00 CEST 2006

	- Release as OODoc processed package :(

version 0.04: Sun Aug 27 11:49:54 CEST 2006

	- Rewrote the particle handling to better process nesting and
	  min/maxOccurs.

	- Many rewrites to implement complexType/simpleType processing.

	- Extended list describing missing features (and resolved quite
	  a few of them).  Parser is much stricter now, closer to the
	  specs.

version 0.03: Tue Aug 15 09:13:06 CEST 2006

	- Doc about what to pass as type to compile() was not updated.

	- Added attribute default, fixed and use=forbidden.

	- Added simpleType within list.

	- Added memberTypes with union.

version 0.02: Mon Aug 14 13:42:02 CEST 2006

	- Perl internal integer dependent size of INT_MIN and INT_MAX
	  to avoid use of BigInt.  Idea by [Merijn H Brand]

	- Added type assertions to translator, to check known attributes
	  to follow the spec.

	- All constructing routines are called with ($path, $args, ...)
	  where before, the $args option had different locations in the
	  parameter lists.

	- Moved element fixed tests to t/47fixed.t, reimplemented it to
	  make it work with BigInt.

	- Implemented element default and t/48default.t

	- Non-sloppy integers implemented in BigInts, tests t/49big.t

	- Element ref() should not specify own name.

	- XML::Compile::Schema::Instance collects info about one single
	  schema.

	- XML::Compile::Schema::Namespaces collects schema instances.

	- Under fly adding of schemas with ::Schema::addSchema

	- understands qualified and unqualified processing

	- and many more...

version 0.01: Wed Jul 26 12:19:10 CEST 2006

	- initial version