The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

The structure below looks rather weird, but is optimized for performance.

We could use sub calls for sure, but these are much slower. And the logic is not that easy:

 we accept:
 a) objects
 b) scalars            
 c) list refs
 d) hash refs
 e) mixed stuff of all of the above, so we have to set our element to 
 a) value if it's an object
 b) New object of expected class with value for simple values
 c 1) New object with value for list values and list type
 c 2) List ref of new objects with value for list values and non-list type
 c + e 1) List ref of objects for list values (list of objects) and non-list type
 c + e 2) List ref of new objects for list values (list of hashes) and non-list type
 where the hash ref is passed to new as argument        
 d) New object with values passed to new for HASH references

 We throw an error on
 a) list refs of list refs - don't know what to do with this (maybe use for lists of list types ?)
 b) wrong object types
 c) non-blessed non-ARRAY/HASH references - if you can define semantics 
 for GLOB references, feel free to add them.
 d) we should also die for non-blessed non-ARRAY/HASH references in lists but don't do yet - oh my ! 

NAME

SOAP::WSDL::XSD::Typelib::ComplexType - complexType base class

Bugs and limitations

  • Incomplete API

    Not all variants of XML Schema ComplexType definitions are supported yet.

    Variants known to work are:

     sequence
     all
     complexContent containing sequence/all definitions
     
  • Thread safety

    SOAP::WSDL::XSD::Typelib::Builtin uses Class::Std::Storable which uses Class::Std. Class::Std is not thread safe, so SOAP::WSDL::XSD::Typelib::Builtin is neither.

  • XML Schema facets

    No facets are implemented yet.

AUTHOR

Replace whitespace by @ in e-mail address.

 Martin Kutter E<gt>martin.kutter fen-net.deE<lt>

COPYING

This library is free software, you may distribute/modify it under the same terms as perl itself