XML::Pastor::Builtin::List - Ancestor of all classes that correspond to whitespace separated list W3C simple types.
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::Builtin::SimpleType.
This class is used for grouping the builtin classes that have whitespace separated list content. Some utility methods are defined for easing the use of such content.
Some builtin W3C types have a list nature on their own, such as NMTOKENS (whitespace seperated NMTOKEN values) or IDREFS.
In W3C schemas it is also possible to define a simple type to be a list of another atomic simple type.
This class inherits many methods from its ancestors. Please see XML::Pastor::Builtin::SimpleType for more methods.
my $object = XML::Pastor::Builtin::List->fromList('hello', 'world');
Creates a new object and sets its value by joining the values passed as the parameter list with a space seperator.
Sets the object's value by joining the values passed as the parameter list with a space seperator.
@list = $object->toList();
Splits the object's value on whitespace and returns the resulting list.
OBJECT METHOD overriden from XML::Pastor::SimpleType.
Normaly the xml_validate method checks an atomic value. However, list types are aggregate values made up of items whose type is known via itemType and itemClass properties (see XML::Pastor::Schema::SimpleType).
This method will first split the object's value into a list and then run xml_validate on each item by instantiating an simple type object on their own and invoking the xml_validate method on each of them. If all those invocations return TRUE, this method will return TRUE. Otherwise, it would have died along the way before even returning FALSE.
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.