NAME

XML::Pastor::Builtin::Union - Ancestor of all classes that correspond to whitespace separated union W3C simple types.

WARNING

This module is used internally by XML::Pastor. You do not normally know much about this module to actually use XML::Pastor. It is documented here for completeness and for XML::Pastor developers. Do not count on the interface of this module. It may change in any of the subsequent releases. You have been warned.

ISA

This class descends from XML::Pastor::Builtin::SimpleType.

DESCRIPTION

This class is used for grouping the builtin classes that have whitespace separated union content.

In W3C schemas it is possible to define a simple type to be a union of other simple types.

METHODS

INHERITED METHODS

This class inherits many methods from its ancestors. Please see XML::Pastor::Builtin::SimpleType for more methods.

OTHER METHODS

xml_validate()

$object->xml_validate();

OBJECT METHOD overriden from XML::Pastor::SimpleType.

Normaly the xml_validate method checks an atomic value. However, union types are aggregate types whose values may correspond to a value from any of the member types. The member types are known via the memberTypes and memberClasses properties (see XML::Pastor::Schema::SimpleType).

For each memberClass, this method will instatiate an object and run xml_validate on it. If any of these invocations return TRUE, this method will also return TRUE. If all die, this method will then die with an error message.

BUGS & CAVEATS

There no known bugs at this time, but this doesn't mean there are aren't any. Note that, although some testing was done prior to releasing the module, this should still be considered alpha code. So use it at your own risk.

Note that there may be other bugs or limitations that the author is not aware of.

AUTHOR

Ayhan Ulusoy <dev(at)ulusoy(dot)name>

COPYRIGHT

Copyright (C) 2006-2007 Ayhan Ulusoy. All Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

See also XML::Pastor, XML::Pastor::ComplexType, XML::Pastor::SimpleType, XML::Pastor::Builtin

If you are curious about the implementation, see XML::Pastor::Schema::Parser, XML::Pastor::Schema::Model, XML::Pastor::Generator.