[Xml-compile] XML::Compile v0.91

Mark Overmeer mark at overmeer.net
Fri Aug 1 21:36:32 BST 2008


Dear Mongers,

At least two weeks worth of fixes/improvements.  Certainly worth
to upgrade if you start new projects.  Most problems were discovered
when processing schemas with schemas, for XML::Rewrite.

In short:
  - Quite some fixes in READER and WRITER around choice with
    minOccurs=0 
  - The READER and WRITER steal default prefixes from the message
    and the schema.  This is nicer that X0...
  - QNames are nasty, because they need run-time lookups for the
    name-space, where all other uses are compile-time.  Some fixes.

Wow, I save seen some dirty schema's lately!  As always: on the
moment of a release, I am not aware of any bugs.  So: feed me!

MarkOv

=== version history of XML::Compile

version 0.91: Fri Aug  1 13:25:26 CEST 2008

	Changes:

	- removed block_label from ::Util because it does not work with
	  key rewrite.  Probably not used by anyone.

	- "any" without maxOccurs>1 did still return an ARRAY,
	  which is inconsequent.  Needed to be fixed.

	- the output order of attributes has changed: the extended additions
	  before the base class attributes.  This does not change the meaning,
	  but may be painful for your regression tests.

	- writer adds prefixes always in the same order (alphabetic) to
	  ease regression-tests.

	Fixes:

	- Do not confuse un-used keys as 'any' elements in WRITER

	- key rewrite PREFIXED did not work with blocks.

	- QNAME in name-space-less schema's can go without prefix.

	- Fixed QName in list.  Tests in new t/74qname.t

	- undouble attributes when extending types.

	- ::Schema::compile(use_default_prefix) renamed into
	  use_default_namespace, which was already used in the
	  ::Translate docs.  Both names will work.

	- WRITER production errors did not arrive correctly to the
	  application.  Reported by [Gert Doering]

	- particle block handling in the WRITER was not as sophisticated
	  as in the READER, which cause problems reported by [Gert Doering]

	- groups which ref'd to an other name-spaces did not use the new
	  targetNamespace.

	- READER when choice/sequence/all with minOccurs=0 in the middle
	  of a list of elements failed if the data was not present.

	Improvements:

	- List existence of XML::Rewrite.

	- Collect prefix-table when reading.

	- better error when an any_(element|attribute) is not understood.

	- the writer will attempt to use the same prefixes as used in
	  the schema, unless these name-spaces are already pre-defined
	  in the 'prefixes' table.

	- be more careful that empty text fragments do not end-up as
	  text nodes in the WRITER output.

	- some error message did not show the path in the message where
	  the error was produced.
-- 
Regards,

               MarkOv

------------------------------------------------------------------------
       Mark Overmeer MSc                                MARKOV Solutions
       Mark at Overmeer.net                          solutions at overmeer.net
http://Mark.Overmeer.net                   http://solutions.overmeer.net




More information about the Xml-compile mailing list