NAME
XML::Pastor::Schema::Group - Class that represents the META information about a W3C schema group.
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::Schema::Object.
SYNOPSIS
my $g = XML::Pastor::Schema::Group->new();
$g->setFields(name => 'personal', scope=> 'global', nameIsAutoGenerated=>0);
$g->elements(['lastName', 'firstName', 'title', 'dateOfBirth']);
print $g->name(); # prints 'personal'.
print $g->scope();# prints 'global'.
DESCRIPTION
XML::Pastor::Schema::Group is a data-oriented object class that reprsents a W3C group. It is parsed from the W3C schema and is used a building block for the produced schema model. Objects of this class contain META information about the W3C schema group that they represent.
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.
METHODS
CONSTRUCTORS
new()
$class->new(%fields)
CONSTRUCTOR, overriden.
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.
In its overriden form, what this method does is as follows:
sets the contentType field to 'group';
creates the elements array-ref field if not passed already as a parameter;
creates the elementInfo hash-ref field if not passed already as a parameter;
.
ACCESSORS
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
baseClasses()
my $bases = $object->baseClasses(); # GET
$object->baseClasses($bases); # SET
The base classes of this element class, when it is generated by XML::Pastor. This value is computed at schema model resolution time by "resolve()" in XML::Pastor::Schema::Model.
maxOccurs()
my $maxo = $object->maxOccurs(); # GET
$object->maxOccurs($maxo); # SET
This is a W3C property.
The maximum allowed occurences of this child element. This can be any non-negative integer or the string 'unbounded'.
minOccurs()
my $mino = $object->minOccurs(); # GET
$object->minOccurs($mino); # SET
This is a W3C property.
The minimum allowed occurences of this child element. This can be any non-negative integer. When it is zero (0), this means the occurence of this child element is optional.
.
OTHER METHODS
isSingleton()
This returns a boolean value. When TRUE(1), this means that the child element is a singleton, meaning the maxOccurs property is either undefined or it is exactly 1.
.
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@ulusoy.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
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