++ed by:

2 PAUSE users
1 non-PAUSE user.

Ayhan Ulusoy


XML::Pastor::Schema::Union - Class that represents the META information about a W3C schema union.


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.


This class descends from XML::Pastor::Schema::Object.


XML::Pastor::Schema::Union is a data-oriented object class that reprsents a W3C union. It is parsed from the W3C schema. Objects of this class contain META information about the W3C schema union that they represent. It is not used a building block for the produced schema model however. Objects of this class have an existence only in the node stack of schema parser. They are used to build the simple types that they are defined under. They are then destroyed.

Like other schema object classes, this is a data-oriented object class, meaning it doesn't have many methods other than a constructor and various accessors.





CONSTRUCTOR, inherited.

The new() constructor method instantiates a new object. It is inheritable.

Any -named- fields that are passed as parameters are initialized to those values within the newly created object.



Inherited accessors

Several accessors are inherited by this class from its ancestor XML::Pastor::Schema::Object. Please see XML::Pastor::Schema::Object for a documentation of those.

Accessors defined here


  my $mt = $object->memberTypes();      # GET
  $object->memberTypes($mt);        # SET

This is a W3C facet. For more information please refer to W3C XML schema documentation.

This is a whitespace separated list of member type names in the context of a W3C union. The value is retrieved from the W3C schema and further enriched by the implicit (local) type names by the schema parser. It is later used for validation.

This accessor is created by a call to mk_accessors from Class::Accessor.


  my $mc = $object->memberClasses();  # GET
  $object->memberClasses($mc);        # SET

This is NOT a W3C facet. It is computed.

This is a reference to an array of Perl classes each of which represent a type mentioned in "memberTypes()". So it makes sense only in a W3C union context. The value is computed at schema model resolution time. It is later used for validation.

This accessor is created by a call to mk_accessors from Class::Accessor. .


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.


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


  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 XML::Pastor, XML::Pastor::ComplexType, XML::Pastor::SimpleType

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

If you really want to dig in, see XML::Pastor::Schema::Attribute, XML::Pastor::Schema::AttributeGroup, XML::Pastor::Schema::ComplexType, XML::Pastor::Schema::Element, XML::Pastor::Schema::Group, XML::Pastor::Schema::List, XML::Pastor::Schema::SimpleType, XML::Pastor::Schema::Type, XML::Pastor::Schema::Object