XML::Pastor::Schema::Attribute - Class that represents the META information about a W3C schema attribute.
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.
my $attrib = XML::Pastor::Schema::Attribute->new(); $attrib->setFields(name => 'code', scope=> 'local', nameIsAutoGenerated=>0); print $attrib->name(); # prints 'code'. print $attrib->scope(); # prints 'local'.
XML::Pastor::Schema::Attribute is a data-oriented object class that reprsents a W3C schema attribute. 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 attribute 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.
The new() constructor method instantiates a new object. It is inheritable, and indeed inherited, by the decsendant classes.
Any -named- fields that are passed as parameters are initialized to those values within the newly created object.
my $u = $object->use(); # GET $object->use($u); # SET
This is W3C property.
Indicates if the use of an attribute is either 'optional', 'required', or 'prohibited'. This is filled in by the schema parser and is used at validation time.
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.
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