XML-Compile-1.42/0000755000175000001440000000000012262370253014206 5ustar00markovusers00000000000000XML-Compile-1.42/META.yml0000644000175000001440000000125612262370253015463 0ustar00markovusers00000000000000--- abstract: 'Compilation based XML processing' author: - 'Mark Overmeer' build_requires: ExtUtils::MakeMaker: 0 configure_requires: ExtUtils::MakeMaker: 0 dynamic_config: 1 generated_by: 'ExtUtils::MakeMaker version 6.64, CPAN::Meta::Converter version 2.120630' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 name: XML-Compile no_index: directory: - t - inc requires: Digest::MD5: 2.36 IO: 1.22 List::Util: 0 Log::Report: 0.994 MIME::Base64: 3.1 Math::BigInt: 1.77 Math::BigRat: 0.1 Test::Deep: 0.095 Test::More: 0.54 XML::Compile::Tester: 0.9 XML::LibXML: 1.94 bignum: 0.1 version: 1.42 XML-Compile-1.42/html/0000755000175000001440000000000012262370253015152 5ustar00markovusers00000000000000XML-Compile-1.42/html/other/0000755000175000001440000000000012262370253016273 5ustar00markovusers00000000000000XML-Compile-1.42/html/other/methods/0000755000175000001440000000000012262370253017736 5ustar00markovusers00000000000000XML-Compile-1.42/html/other/methods/index.html0000644000175000001440000000144012261657007021736 0ustar00markovusers00000000000000 <!--{project}-->; All Methods
XML::Compile
Documentation
version ,


Methods and Functions

all manuals
all methods and functions
all  diagnostics
all details

Methods and functions, merged and alphabetically ordered.

XML-Compile-1.42/html/other/index.html0000644000175000001440000000277612261657007020310 0ustar00markovusers00000000000000 <!--{project}--> <!--{version}-->

XML::Compile can be used to translate a Perl data-structure into XML or XML into a Perl data-structure, both directions under rigid control by a schema

A good starting-point is method compile(), called on a XML::Compile::Schema object.

all manuals
A list of all manuals included in XML::Compile.
all methods
An overview of all methods, arranged alphabetically
all diagnostics
A list of all diagnostics which can be produced by this module. Often useful to determine which method is complaining about a mistake.
all details
Many manual pages contain a DETAILS chapter which explains all kinds of facts about the general background, implementation specifics, and examples of complex use of the items. Looking through the full list of details may help to find a solution.

Mark Overmeer. Documentation of XML::Compile version , produced with XML::Compile on .
XML-Compile-1.42/html/other/xml.css0000644000175000001440000000040312261657007017606 0ustar00markovusers00000000000000 BODY { font-family: Arial, Herlvetica, sans-serif } H2 { font-variant: small-caps; } A:link { color: green; text-decoration: none; } A:visited { color: blue; text-decoration: none; } UL { margin-top: 0; } DL { margin-top: 1ex; } XML-Compile-1.42/html/other/manuals/0000755000175000001440000000000012262370253017733 5ustar00markovusers00000000000000XML-Compile-1.42/html/other/manuals/index.html0000644000175000001440000000050112261657007021730 0ustar00markovusers00000000000000 <!--{project}-->; All Methods <body> Sorry, you need frames for this documentation. </body> XML-Compile-1.42/html/other/manuals/head.html0000644000175000001440000000121212261657007021522 0ustar00markovusers00000000000000 <!--{project}-->; All Manuals
XML::Compile
Documentation
version ,


All Manuals

all manuals
all methods and functions
all diagnostics
all details
XML-Compile-1.42/html/other/manuals/list.html0000644000175000001440000000056012261657007021601 0ustar00markovusers00000000000000 <!--{project}--> Manuals

Mark Overmeer. Documentation of XML::Compile version , produced . XML-Compile-1.42/html/other/diagnostics/0000755000175000001440000000000012262370253020602 5ustar00markovusers00000000000000XML-Compile-1.42/html/other/diagnostics/index.html0000644000175000001440000000145012261657007022603 0ustar00markovusers00000000000000 <!--{project}-->; All Diagnostics
XML::Compile
Documentation
version ,


All Diagnostics

all manuals
all methods and functions
all diagnostics
all details

errors

warnings

XML-Compile-1.42/html/other/jump.cgi0000644000175000001440000000267012261657007017743 0ustar00markovusers00000000000000#!/usr/bin/perl -T use strict; use warnings; print "Content-Type: text/html\r\n\r\n"; # Get the question my $to = $ENV{QUERY_STRING} || ''; my ($manual, $unique) = $to =~ m/([\w:%]+)\&(\d+)/; $manual =~ s/\%[a-fA-F0-9]{2}/chr hex $1/ge; # Contact the database my $DB = $0; $DB =~ s/[\w\.]+$/markers/; open DB, '<', $DB or die "Cannot read markers from $DB: $!\n"; my $root = ; chomp $root; # Lookup location of item in the manual page my ($nr, $in, $page); while( ) { ($nr, $in, $page) = split " ", $_, 3; last if $nr eq $unique && $in eq $manual; } die "Cannot find id $to for $manual in $DB.\n" unless $nr eq $unique; chomp $page; # Keep same index on the right, if possible my $show = "relations.html"; if(my $refer = $ENV{HTTP_REFERER}) { $show = "$1.html" if $refer =~ m/(doclist|sorted|grouped|relations)\.html/; } # Produce page, which is compible to the normal html/manual/index.html # This cgi script is processed by the template system too. print < $manual <body> Sorry, you need frames for this documentation. </body> PAGE XML-Compile-1.42/html/other/details/0000755000175000001440000000000012262370253017720 5ustar00markovusers00000000000000XML-Compile-1.42/html/other/details/index.html0000644000175000001440000000136012261657007021721 0ustar00markovusers00000000000000 <!--{project}-->; All Details
XML::Compile
Documentation
version ,


All details

all manuals
all methods and functions
all diagnostics
all details

All detailed documentation sections:

XML-Compile-1.42/html/manual/0000755000175000001440000000000012262370253016427 5ustar00markovusers00000000000000XML-Compile-1.42/html/manual/index.html0000644000175000001440000000064512261657007020435 0ustar00markovusers00000000000000 <!--{title}--> <body> Sorry, you need frames for this documentation. </body> XML-Compile-1.42/html/manual/head.html0000644000175000001440000000121212261657007020216 0ustar00markovusers00000000000000 <!--{title}-->
XML::Compile
Documentation
version ,


all manuals
all methods and functions
all diagnostics
all details
XML-Compile-1.42/html/manual/methods.html0000644000175000001440000000105112261657007020761 0ustar00markovusers00000000000000 <!--{title}--> XML-Compile-1.42/html/manual/relations.html0000644000175000001440000000056112261657007021323 0ustar00markovusers00000000000000 <!--{title}--> Show XML-Compile-1.42/html/manual/grouped.html0000644000175000001440000000075212261657007020772 0ustar00markovusers00000000000000 <!--{title}--> Show XML-Compile-1.42/html/manual/sorted.html0000644000175000001440000000113212261657007020616 0ustar00markovusers00000000000000 <!--{title}--> Show Overloaded:
Methods and functions:
XML-Compile-1.42/html/manual/main.html0000644000175000001440000000041612261657007020246 0ustar00markovusers00000000000000 <!--{title}--> XML-Compile-1.42/html/manual/doclist.html0000644000175000001440000000110612261657007020760 0ustar00markovusers00000000000000 <!--{title}--> Show XML-Compile-1.42/README.todo0000644000175000001440000000275512261657007016047 0ustar00markovusers00000000000000 ==== XML::Compile README.todo = initial prefix problem: An implementational problem: when a prefix is chosen, it is not decided by the XML::LibXML library, but by XML::Compile. An xyz:tag is chosen, and xmlns:xyz is added later. The causes the problem that the node's localname will be "xyz:tag" until the node is stringified... which is incorrect. = tests - Missing: test and in various combinations with blocks, and substitutionGroups. Many examples in practice seem to show that it works as it should. - the implementation of most basic types should have regression tests, = known limitations - nillable support for mixed elements - typemaps on basic types - errors on types should show dynamic nested location in structure, not path in schema. - the "assertions" facet = wishlist - handle XML::LibXML::Error objects - useSchema() relation to ::Cache::declare()? - proposed new schema features: . alternative http://www.ibm.com/developerworks/library/x-xml11pt2/#N103D7 . ::Instance cannot handle element and attribute declaration attribute "targetNamespace" (proposed schema feature) - namespace blocking option for templates; exclude deprecated elements - when you use appendChild i.s.o. addChild, the namespace declarators are managed automatically correct, saving a wrapper in the writer and avoiding the prefix trick. [Roman Daniel]. Nicer, but would affect the whole code and most tests. - reader replace hook "XML_SIMPLE" XML-Compile-1.42/xt/0000755000175000001440000000000012262370253014641 5ustar00markovusers00000000000000XML-Compile-1.42/xt/99pod.t0000644000175000001440000000041212261657007015773 0ustar00markovusers00000000000000#!/usr/bin/perl use warnings; use strict; use Test::More; BEGIN { eval "use Test::Pod 1.00"; plan skip_all => "Test::Pod 1.00 required for testing POD" if $@; plan skip_all => "devel home uses OODoc" if $ENV{MARKOV_DEVEL}; } all_pod_files_ok(); XML-Compile-1.42/Makefile.PL0000644000175000001440000000301212262370075016156 0ustar00markovusers00000000000000use ExtUtils::MakeMaker; use 5.008; WriteMakefile ( NAME => 'XML::Compile' , VERSION => '1.42' , PREREQ_PM => { XML::LibXML => 1.94 , XML::Compile::Tester => 0.90 , IO => 1.22 , Log::Report => 0.994 , Math::BigInt => 1.77 , Math::BigRat => 0.10 , bignum => 0.10 , Digest::MD5 => 2.36 , List::Util => 0 , MIME::Base64 => 3.10 , Test::More => 0.54 , Test::Deep => 0.095 } , EXE_FILES => [ 'bin/xml2yaml' , 'bin/schema2example' ] , AUTHOR => 'Mark Overmeer' , ABSTRACT => 'Compilation based XML processing' , LICENSE => 'perl' ); ### used by oodist during production of distribution sub MY::postamble { <<'__POSTAMBLE' } # for DIST RAWDIR = ../public_html/xml-compile/raw DISTDIR = ../public_html/xml-compile/source LICENSE = artistic SKIP_LINKS = XML::LibXML # for POD EXTENDS = ../XMLSOAP:../XMLSOAP12:../XMLDaemon:../XMLDumper:../XMLCache:../XMLSimple:../XMLTester:../XMLRewrite:../XMLRPC:../SOAPAnyEvent:../XMLC14N:../XMLWSS:../WSSSIG:../XMLWSDL FIRST_YEAR = 2006 EMAIL = perl@overmeer.net WEBSITE = http://perl.overmeer.net/xml-compile/ PODTAIL = ../XML-shared-podtail # for HTML HTML_OUTPUT = ../public_html/xml-compile/html HTML_DOCROOT = /xml-compile/html HTML_PACKAGE = ../public_html/xml-compile/htmlpkg __POSTAMBLE XML-Compile-1.42/README0000644000175000001440000000143212261657013015067 0ustar00markovusers00000000000000=== README for XML-Compile version 1.41 = Generated on Sat Jan 4 02:04:11 2014 by OODoc 2.01 There are various ways to install this module: (1) if you have a command-line, you can do: perl -MCPAN -e 'install ' (2) if you use Windows, have a look at http://ppm.activestate.com/ (3) if you have downloaded this module manually (as root/administrator) gzip -d XML-Compile-1.41.tar.gz tar -xf XML-Compile-1.41.tar cd XML-Compile-1.41 perl Makefile.PL make # optional make test # optional make install For usage, see the included manual-pages or http://search.cpan.org/dist/XML-Compile-1.41/ Please report problems to http://rt.cpan.org/Dist/Display.html?Queue=XML-Compile XML-Compile-1.42/ChangeLog0000644000175000001440000015654712262370240015776 0ustar00markovusers00000000000000 === version history of XML::Compile Unless noted otherwise, these changes where initiated and applied by Mark Overmeer. Plans and unwanted limitations? see README.todo version 1.42: Mon Jan 6 00:53:54 CET 2014 Fixes: - another attempt on namespaces with ref attributes version 1.41: Sun Jan 5 17:44:35 CET 2014 Fixes: - schema's without elements did not get registered. They may contain , for instance. - namespace, qualified and attributes to attributes via ref Improvements: - small trick to around namespace problems with namespace-less schema's in SOAP [Patrick Powell] - add ::Namespaces::importIndex() version 1.40: Tue Nov 26 09:57:33 CET 2013 Fixes: - whiteSpace facet on dateTime [magallanes] - support for explicitTimeZone facet on dates Improvements: - error on build-in type now shows location [Radek Šťastný] version 1.39: Fri Oct 11 15:55:05 CEST 2013 Fixes: - all: add enumeration and pattern facets on dates. rt.cpan.org#89259 [Rumen Palov] - base64binary encoded fields without newlines version 1.38: Tue Sep 10 14:56:24 CEST 2013 Fixes: - reader: simple-type nillable with default value [Ciaran Deignan] - templates: show array when "shown above" is quoted as array. - writer: nested particle blocks produced "undef" error when used incorrectly. Reported by [Alex Bernier] - all: namespace qualification where ref with attribute not the tns. [Alex Bernier] Improvements: - test for nested choice blocks version 1.37: Thu Aug 22 16:11:24 CEST 2013 Changes: - reader: mixed_element own handler now also gets the $path Improvements: - template: display '' around default and fixed values - typemap hooks now also use new 'action' parameter version 1.36: Sat Aug 10 00:09:44 CEST 2013 Fixes: - example of base64Binary should show that Perl's version is automatically encoded and decoded. - ::Instance::element typo in hash field name rt.cpan.org#87682 [Jason Prondak] Improvements: - ::Schema::addHook() now permits to specify a processing direction - also for ::Schema::hooks() version 1.35: Fri Jun 28 16:15:48 CEST 2013 Fixes: - use of element explicit 'form' qualifier. Test in t/77form.t rt.cpan.org#86079 [Manfred Stock] - type of element in substitutionGroup defaults to type of base, not anyType. [Mark Hofstetter] version 1.34: Mon May 13 16:16:30 CEST 2013 Fixes: - writer: fix as only component of particle block. version 1.33: Fri May 3 10:02:27 CEST 2013 Fixes: - schema's used elementFormDefault=TOP when there was a targetNamespace. That's too much. - some schemas have not named types, to recursion is not detected: detection based on label is also required. - reader: replace hook should not get extra '_' level. - detection whether Big::Float is needed was incorrect rt.cpan.org#85000 [James Davis] - reader hook: added INCLUDE_PATH Improvements: - improvement in OODoc generated pods - reader: introduction of nodePath in some error messages. - moved some TODO from ChangeLog into README.todo version 1.32: Thu Mar 28 11:13:33 CET 2013 Fixes: - templates must detect recursion and reuse based on type, not label. [Max Maischein] Improvements: - support facets on dateTime types, needed by [Andrew Campbell] - add xml2yaml option --mixed rt.cpan.org#83274 [Slaven Rezic] version 1.31: Thu Jan 24 15:33:04 CET 2013 Fixes: - reader: elements after xsi:type elements. reported by [Lars Thegler] - typos: rt.cpan.org#82919 [Joenio Marques da Costa] Improvements: - writer: support prefix notation with XSI_TYPE version 1.30: Mon Nov 26 09:28:10 CET 2012 Fixes: - produce predictable results for writer order of choice, when there are specials to fix tests in 5.17.5, where the HASH algorithm changed. [cpantesters] version 1.29: Tue Oct 16 16:27:13 CEST 2012 Fixes: - template: fix understanding of predefined hook names. - writer: sort any and anyAttribute elements before processing them, so the elements are in predictable order (required for regression tests) Improvements: - new function ::BuiltInTypes::builtin_type_info() version 1.28: Sat Oct 6 13:38:15 CEST 2012 Changes: - template: the type of the element is listed before other info. Fixes: - major rewrite on handling of nillable. rt.cpan.org #79986 [Karen Etheridge] Improvements: - writer: support for any blocks where the type keys is not specified as '{$ns}local', but as '$prefix:local'. version 1.27: Fri Aug 31 00:26:13 CEST 2012 Fixes: - Nillable in combination with empty complexTypes. Reported by [Graeme Stewart] Improvements: - use [0-9], not \d in regexes for types. - writer: added explanation and example for complexType/singleContent use with single value, not HASH. Suggested by rt.cpan.org#79270 [Karen Etheridge] - changed implementation of XML::Compile::Schema::Namespaces autoexpand_xsi_type() version 1.26: Thu Aug 16 00:07:44 CEST 2012 Changes: - there was no way to encode or decode attributes to NILled elements. The fix implies that the reader will not return a simple "NIL" anymore for tagged and complex elements, but { _ => 'NIL' } Reported by [Ivan Šimoník] Fixes: - fix use of default in "tagged" simple. Reported by [Philip Garrett] - documentation mistake in Translate::Reader, declare typemaps with addTypemaps(), not typemap(). Reported by [Ivan Šimoník] Improvements: - template: nillable much clearer presented - added some test for use of CDATA as node text. - add $schema->template(TREE => ...) version 1.25: Fri Mar 9 21:34:36 CET 2012 Fixes: - fix compiling of simpleContent with facets. rt.cpan.org#75235 [Piers Cawley] Improvements: - better check for NCName. - warn for automatic (base64) formatting in ::BuildInTypes [Michael Ludwig] - permit base-type in list of xsi_type alternatives (although still not required in that list) - xsi_type table now can have 'AUTO' to replace the explicit alternatives list. May be slow, but it DWIMs. - when "integer" type values stay small, we do not use Math::BigInt anymore. Less need for sloppy_integer. version 1.24: Wed Dec 28 12:23:13 CET 2011 Fixes: - hexBinary should use capitals. rt.cpan.org #73130 [Piotr Roszatycki] Improvements: - doc-fix use of addHook [Michael Ludwig] - fixes to the documentation system. version 1.23: Wed Nov 23 09:44:07 CET 2011 Improvements: - writer: show more of the string in failed union match. - added 'no warnings recursion' to the translators. [Brian Phillips] - added extra tests for union of date and dateTime - template: change display of facet whitespace. - template: do not use comments in XML which contain '--' rt.cpan.org#72616 [Piotr Roszatycki] - template: add xs and xsi declarations to XML example when show_type is in effect. rt.cpan.org#72616 [Piotr Roszatycki] version 1.22: Mon Jun 20 14:25:14 CEST 2011 Fixes: - man-page of bin/schema2example told that the name of the program still was xml2example. - template: show occurance of ANY elements. - initialize XML::LibXML::Parser into safe mode. rt.cpan.org#68803 [Yann Kerherve] Improvements: - template: with restrictions on any and anyAttribute namespaces, show prefixes not full names except for the default namespace. - template: correct example of simpleType list. - template: remove superfluous element name from default/fixed/nil version 1.21: Fri Dec 24 10:20:15 CET 2010 Fixes: - some tests fail with new versions of Test::More version 1.20: Wed Dec 22 16:34:24 CET 2010 Changes: - ::Schema::compile(include_namespaces) with a personal filter will now be called for all known namespaces, not only the used namespaces. (Needed to reseolve qname problems) Fixes: - added missing formatter when both totalDigits and fractionDigits are restricted. rt.cpan.org#63464 [mimoň-cz] Improvements: - base64Binary length facet implemented with new MIME::Base64::decoded_base64_length() - disable t/55facet_list.t tests for old libxml2 versions, because the used regexp is broken in those releases, causing daily mails from cpantesters. version 1.19: Mon Oct 25 00:06:25 CEST 2010 Fixes: - template: missing '{' in some cases [Patrick Powell] - unsignedInt max value has 10 digits, not 9. Repair validation limit. rt.cpan.org#62281 [Aleksey Mashanov] - fix pod problem in ::FAQ, spotted by [Patrick Powell] - added missing built-in type dateTimeStamp. - writer: implemented/fixed length validation of base64Binary and hexBinary. - implemented/fixed enumeration validation of a QName type rt.cpan.org#62237 [Aleksey Mashanov] Improvements: - ::Instance does not look for 'ref' attributes, because that cannot be used on top-level elements and types. - ::Instance only collects info about type lazily, which speeds-up applications with huge schemas which are only partially used. In general it uses less memory. - rewrote administration of substitutionGroups to access it faster. This may change the examples produced in template. - new ::Namespaces::doesExtend() to walk inheritance, tested in t/02ext.t version 1.18: Thu Sep 30 17:00:29 CEST 2010 Fixes: - hexBinary processing was simply wrong. - template: call parameters of replace hook. - writer: substitutionGroup of simpleType value 0 got ignored. - template: recursive substitutionGroups with abstracts will not crash. - template: apply key rewrite also on unqualified names. - preferred prefix for SCHEMA2001i is xsi, not xs Improvements: - added explanation how to use hexBinary and base64Binary. - reorganized the ::Schema manpage a little. - template: show types in prefixed form, not qname. - template: show enums which contain blanks within quotes. - template: if a simpletype has facet enumeration, one of those values will be used as example. - template: always lead a block display by a blank line, not only when there is comment. - template: do also show types of complex elements. - template: show types of alternatives to substitutionGroups - template: show when an substitutionGroups is abstract (not instantiatable) - template: pick an non-abstract alternative as example for a substitionGroup. Let it point to a correct example value if available. version 1.17: Thu Sep 23 09:31:40 CEST 2010 Changes: - removed 'IGNORE' choice for abstract_types options. Either they produce and ERROR or you ACCEPT them in your message, ignoring them to be abstract. - move t/99pod.t to xt/ which removes dependency from Test::Pod Fixes: - writer: do not complain about mal-formatted integers when validation is off [Titi Ala'ilima] - reader: do not complain about mal-formed integers when validation is off. - template: do not show "TEMPLATE_ERROR" when the defaults of fields are '0'. - template: did not show extensions of abstract types. - template: fix line folding with long words. - template: remove double blanks before '[' Improvements: - template: report wrong value of action parameter before anything else. - template: show reason for empty sequences - template: do not show abstract types in substitutionGroups version 1.16: Tue Jun 15 15:16:29 CEST 2010 Fixes: - template: processing of nillable objects. rt.cpan.org#58321 [Max Cohan] - the chaching needed for recursive schemas, did not contain xsi:type logic. [Knut Arne Bjørndal] version 1.15: Mon May 10 15:20:17 CEST 2010 Fixes: - reader: namespace qualified attributes. Discovered by [Heiko Jansen] - reader: namespace of attributeGroups. - writer: namespace qualified fixed value attribute. Improvements: - remove out-dated constants from the ::BuildInTypes manual-page - ::Translate::keyRewrite accepts split ns/local as well. This avoids clumpsy pack/unpack. version 1.14: Mon Apr 26 09:39:28 CEST 2010 Fixes: - ::Template(PERL) improve key_rewrite use. - xsi:type when schema-namespace has the default prefix and the user defined elements/types are namespace-less. [Brendan Knox] - ::Writer report misfit failed due to reuse of $@ - correct validation of type "duration" by [Titi Ala'ilima] Improvements: - with xsi_type switches of simple types, the value is translated into a HASH containing that value, so the XSI_TYPE can be added. - add check for dateTime and duration validation. - ::Template(PERL) add start line '# Describing ....' - ::Template(PERL) explicit list blocked default prefix. version 1.13: Sun Feb 21 00:09:24 CET 2010 Fixes: - xsi:type switch between elements based on the same abstract type. Reported by [Roman Daniel] - template: display of fixed and default elements. [Anton Berezin] - writer: add attributes to display of available tags in case of problems. Improvements: - template: show more details about applicable facets. version 1.12: Mon Jan 11 11:46:43 CET 2010 Fixes: - writer: optional block was not optional [Roman Daniel] - accept xsi:type with alternative in namespace which is not used by the schema itself [Roman Daniel] version 1.11: Fri Jan 8 12:37:23 CET 2010 Fixes: - forgot to document the new xsi_type option to ::Schema::compile() - implement facets on lists correctly. Tests in new t/55facet_list.t Pushed by rt.cpan.org #53392 [Николай Шуляковский] version 1.10: Thu Dec 24 16:56:13 CET 2009 Changes: - keyRewrite now also applies to attributes. Fixes: - writer sometimes destroyed the data-structure which was passed in. Now automatically tested for each test_rw. - support sub-seconds in time format. - writer: do not produce an empty element when minOccurs is combined with nillable in a complexType. rt.cpan.org#51264 [Roman Daniel] - ::Iterator::currentType() could crash. Improvements: - writer: major readibility changes. - all: implemented xsi:type - template: do not produce superfluous quotes in Perl template examples when anonymous HASH of ARRAY is included. version 1.09: Fri Nov 13 10:56:45 CET 2009 Fixes: - writer: do not produce an empty element when minOccurs is combined with nillable in a simpleType rt.cpan.org#51264 [Roman Daniel] Improvements: - template: use prefixes to avoid namespaces in types. version 1.08: Sat Oct 24 20:11:10 CEST 2009 Fixes: - reader: fix last parameter of replacement hook Improvements: - template: support for key_rewrite - use the new XML::LibXML::RegExp, to replace tricky XML::RegExp. version 1.07: Mon Jun 22 11:35:22 CEST 2009 Fixes: - mixed attribute on complexContent not detected. - anyType elements which have sub-elements will not stringify, but only simple strings will get simplified. Otherwise, an XML::LibXML::Node is kept. Improvements: - reader: anyType element processing can be hooked via a new compile(any_type) option. - partial support for attribute targetNamespace on element and attribute declarations. Currently produces a warning. version 1.06: Thu May 28 10:28:45 CEST 2009 Fixes: - prefer simpleType child over base type attribute in simpleContent/restriction. rt.cpan.org#46212 [Erich Weigand] Improvements: - ignore all references to an (unloaded) schema, for instance with deprecated structures via ::compile(block_namespace) with tests in t/76blocked.t - fixed tests in t/91noqual.t - include t/75type.t in the distribution. - added test for base64Binary to t/21types.t - reader and writer: replace hook also gets code-ref able to process what is being replaced, implementing a wrapper. version 1.05: di apr 28 13:04:42 CEST 2009 Improvements: - writer: accept single element for tagged and mixed. - writer: accept scalar for mixed, upgraded to text node. version 1.04: Fri Apr 24 16:08:43 CEST 2009 Fixes: - the use of cached schema elements must be limited to single ::Schema objects (for instance per WSDL object). rt.cpan.org#44959 [Jozef Kutej] - complex extension of anyType types. Improvements: - document that key_rewrite only applies to elements, not attributes. - add 'target_namespace' overrule option to importDefinitions() and ::Schema::addSchemas() - have ::Schema::new() pass options to importDefinitions() - added various entries about fixing-up schema's to the FAQ. version 1.03: Wed Mar 25 15:41:43 CET 2009 Fixes: - template: protect output against combinatorial explosion, which did hurt [Anton Berezin] Improvements: - new option ::Schema::compile(abstract_types) - template: compact the output of substitutionGroups, leaving the abstract types out and use columns in the display. - template: add namespace details to XML and PERL output - template: add header to XML and PERL output. New option ::Schema::template(skip_header) version 1.02: Thu Feb 12 11:37:49 CET 2009 Fixes: - fix useSchema() deep recursion - writer: repair ARRAY complaint when scalar given on place where an array of values is acceptable. [Allan Wind] version 1.01: Thu Feb 12 09:39:50 CET 2009 Fixes: - do not use /bin/pwd in t/pod.t - writer: report warnings when accepting a difficult construction. - key_rewrite(PREFIXED) options now do stack, without the possibility to get it rewritten twice. - reader: complain if no data was recognized. [Jozef Kutej] - handle schema's with targetNamespace but not qualified elements. http://www.w3.org/TR/xmlschema-0/#UnqualLocals [Jozef Kutej] Improvements: - ::Schema::useSchema() let you share definitions between various ::Schema extensions. - document that XML::Compile::dataToXML() can be used as instance method as well. version 1.00: Wed Jan 21 10:51:23 CET 2009 Changes: - oops, rename elementFormDefault parameters into element_form_default. Breaks only XML::Compile::SOAP 2.00_01 - substitutionGroup keys did not get prefixed, when key_rewrite was enabled. Fixes: - writer: name-space qualified for NIL [Mark Blackman] - template: be more careful not to put trailing '}' on a line with comment. - writer: contents of tagged elements were not processed, so not checked or whitespace corrected. - report rewritten key when required value is missing, not the full key. - compile(mixed_elements=STRUCTURAL) was ignored when the mixed option was found with the complexContent. Improvements: - template: hook "COLLAPSE" to reduce output size for well-known types. - writer: accept {_ => $value} as alternative for $value. - writer: optimize seq block with one block element. - added XML::Compile::Util::even_elements() - writer: show available tags in complex block with unused tags when in debug mode. - show substitutionGroup members in debug mode. Requires Log::Report v0.21 - make addHooks() use addHook(), easier to override. - reader: elements with mixed="true" by default only unpacks the ATTRIBUTES. It is hard to figure-out why the node is not translated into Perl. Therefore, the resulting HASH now contains a _MIXED_ELEMENT_MODE key as explanation. - with "Log::Report mode => 'DEBUG'", you may get extra help on some errors. version 0.99: Mon Dec 29 10:16:28 CET 2008 Changes: - reset "used count" when include_namespaces - Qname will not complain about "unused namespace", because that is often not true. If true, than you have to provide a the compile(prefixes) as HASH with used flag set. Fixes: - elements and attributes with non-default "form" attribute were not recognized. - type-based replace hook selected too often. Improvements: - compile(include_namespaces) can have a code reference to filter included namespace declarations to be included. - addSchemas/importDefinitions now have options {element,attribute}FormDefault to overrule the (missing) info in many (old) schemas (even those of soap and wsdl). - dataToXML() also finds filenames in the SCHEMADIR, not only known namespaces. That was always intended to happen. - optimize reading of complex with zero or one component. - new reader hook after => 'NODE_TYPE' - error when schema definition contains components of other namespaces. - you now can compile types only, where the schema does not contain the definition of the element which will be produced. But I will not tell you how until the interface has settled ;-) version 0.98: Tue Dec 16 08:32:04 CET 2008 Fixes: - writer failed for choice with an element containing a false value, like "0" or ''. Reported by [Sander Hulst] - do not attempt to add namespace declarations to produced attributes in the writer. - elements with minOccurs=0/maxOccurs=unbounded and optional content failed. rt.cpan.org#41725 [Osfameron] Improvements: - easier to understand error messages in block writer. - started XML::Compile::FAQ version 0.97: Mon Nov 24 15:51:54 CET 2008 Fixes: - dataToXML() with document node will return document element. - dateTime reversed minutes/seconds. Fixed by [Allan Wind] - dateTime timezone part is optional. Fixed in docs by [Allan Wind] - count error with array of elements writer, when maxOccurs is an integer value larger than 1. An error will be produced when too many elements are provided. Improvements: - bigfloat support for xml2yaml [Slaven Rezic] version 0.96: Fri Oct 10 16:02:09 CEST 2008 Fixes: - warning condition on old libxml2 version was broken: warned too often. rt.cpan.org#39807 [Joerg Plate] - overruling "qualified" on top-level elements did not work anymore. - writer hook "replace" crashed on missing (optional) data. version 0.95: Wed Oct 1 17:38:07 CEST 2008 Fixes: - top-level elements could not be have as nillable, default, and fixed. rt.cpan.org#39215 [Tom Hukins] - do pattern match on unmodified float values. rt.cpan.org#39224 [MIROD] - automatically defined xsi when any element is nillable. You will still need to specify "include_namespaces => 1" to have the compiler add the name-space definition to the root namespace. For the moment only supports SCHEMA2001 - the applications of facets is explicitly ordered, to avoid colissions between checks in lexical space and conversions made in value-space. - accept but ignore minScale and maxScale facets (cannot be represented in Perl objects yet) - removed facet totalFracDigits, which does not exist. How did it get in? - precissionDecimal was handled as int, should be float. - positiveInteger value check broken. [Sander Hulst] - accept the 'error' base-type. Improvements: - small (<1e9) float/decimal values will not become Math::Big* - facet lists and non-lists various optimizations in reader. - pre-lexical facet whiteSpace on list does not need to be checked in writer. - handling of (+|-|)INF and NaN for precissionDecimals, floats and doubles. - adapt names of test helpers to new X::C::Tester standard. v0.03 of that module is now required. version 0.94: Tue Aug 26 10:09:05 CEST 2008 Fixes: - repair whitespace facets collapse and replace. [Allan Wind] - NMTOKEN has no blanks, but token may have them. rt.cpan.org#38675 [Allan Wind] Improvements: - show more useful features of Log::Report in ::Schema SYNOPSIS version 0.93: Mon Aug 11 21:13:22 CEST 2008 Changes: - changed order of attributes back to situation of 0.90: the base-class attributes are probably more important than the attributes of the extension. - groups with maxOccurs > 1 renamed from gr_