Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XML::Pastor::Schema::CUsereContributed PerlXML::Pastor::Schema::ComplexType(3)

NAME
       XML::Pastor::Schema::ComplexType	- Class	that represents	the META
       information about a W3C schema complex type.

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::Type and hence from
       <XML::Pastor::Schema::Object>.

SYNOPSIS
	 my $type = XML::Pastor::Schema::ComplexType->new();

	 $type->setFields(name => 'Country', scope=> 'global', nameIsAutoGenerated=>0);
	 $type->base('Location');
	 $type->derivedBy('extension');

	 print $type->name();  # prints	'Country'.
	 print $type->scope(); # prints	'global'.
	 print $type->base();  # prints	'Location'.
	 print $type->derivedBy();     # prints	'extension'.

DESCRIPTION
       XML::Pastor::Schema::ComplexType	is a data-oriented object class	that
       reprsents a W3C Complex Type. It	is parsed from the W3C schema and is
       used a building block for the produced schema model. It is also used
       embedded	as class data within the complex classes generated by
       XML::Pastor. This way, objects of this class contain META information
       about the W3C schema simple type	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, overridden.

       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:

       o   sets	the contentType	field to 'complex';

       o   creates the attributes and elements array-ref fields	if not passed
	   already as parameters;

       o   creates the attributeInfo and elementInfo hash-ref fields if	not
	   passed already as parameters;

       .

   ACCESSORS
       Inherited accessors

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

       Accessors defined here

       attributes()

	 my $attribs = $object->attributes();  # GET
	 $object->attributes($attribs);	       # SET

       A reference to an array containing the names of the attributes that
       this complex type has.

       Notice that this	field refers to	only attributes	that are declared at
       this level. Any attributes that are inherited via derivation by
       extension are not considered here.

       attributeInfo()

	 my $ai	= $object->attributeInfo();  # GET
	 $object->attributeInfo($ai);	     # SET

       A reference to a	hash whose keys	are the	names of the attributes, and
       whose values are	objects	of type	XML::Pastor::Schema::Attribute,	that
       give meta information about those attributes.

       Notice that this	field refers to	only attributes	that are declared at
       this level. Any attributes that are inherited via derivation by
       extension are not considered here.

       elements()

	 my $elems = $object->elements();  # GET
	 $object->elements($elems);	   # SET

       A reference to an array containing the names of the child elements that
       this complex type has.  The array does not take into consideration any
       differnce between sequence, choice, or all groupings.

       Notice that this	field refers to	only child elements that are declared
       at this level. Any child	elements that are inherited via	derivation by
       extension are not considered here.

       elementInfo()

	 my $ei	= $object->elementInfo();  # GET
	 $object->elementInfo($ei);	   # SET

       A reference to a	hash whose keys	are the	names of the child elements,
       and whose values	are objects of type XML::Pastor::Schema::Element, that
       give meta information about those child elements.

       Notice that this	field refers to	only child elements that are declared
       at this level. Any child	elements that are inherited via	derivation by
       extension are not considered here.

       targetNamespace()

	 my $tns = $object->targetNamespace();	# GET
	 $object->targetNamespace($tns);	# SET

       The target name space of	the complex type (typically a URI).

       xAttributes()

	 my $attribs = $object->xAttributes();	# GET
	 $object->xAttributes($attribs);	# SET

       A reference to an array containing the names of the attributes that
       this complex type has.

       The value of this field is undefined when this complex type is not
       derived from any	other.	When defined, this includes all	the attributes
       including even those inherited via derivation by	extension.

       xAttributeInfo()

	 my $ai	= $object->xAttributeInfo();  #	GET
	 $object->xAttributeInfo($ai);	      #	SET

       A reference to a	hash whose keys	are the	names of the attributes, and
       whose values are	objects	of type	XML::Pastor::Schema::Attribute,	that
       give meta information about those attributes.

       The value of this field is undefined when this complex type is not
       derived from any	other.	When defined, this includes all	the attributes
       including even those inherited via derivation by	extension.

       xElements()

	 my $elems = $object->xElements();  # GET
	 $object->xElements($elems);	    # SET

       A reference to an array containing the names of the child elements that
       this complex type has.  The array does not take into consideration any
       differnce between sequence, choice, or all groupings.

       The value of this field is undefined when this complex type is not
       derived from any	other.	When defined, this includes all	the child
       elements	including even those inherited via derivation by extension.

       xElementInfo()

	 my $ei	= $object->xElementInfo();  # GET
	 $object->xElementInfo($ei);	    # SET

       A reference to a	hash whose keys	are the	names of the child elements,
       and whose values	are objects of type XML::Pastor::Schema::Element, that
       give meta information about those attributes.

       The value of this field is undefined when this complex type is not
       derived from any	other.	When defined, this includes all	the child
       elements	including even those inherited via derivation by extension.

   OTHER METHODS
       effectiveAttributes()

       When this complex type has been derived from another, "xAttributes()"
       will be defined.	In this	case this method returns the same as
       "xAttributes()".	Otherwise, it returns the same as "attributes()".

       effectiveAttributeInfo()

       When this complex type has been derived from another,
       "xAttributeInfo()" will be defined. In this case	this method returns
       the same	as "xAttributeInfo()". Otherwise, it returns the same as
       "attributeInfo()".

       effectiveElements()

       When this complex type has been derived from another, "xElements()"
       will be defined.	In this	case this method returns the same as
       "xElements()". Otherwise, it returns the	same as	"elements()".

       effectiveElementInfo()

       When this complex type has been derived from another, "xElementInfo()"
       will be defined.	In this	case this method returns the same as
       "xElementInfo()". Otherwise, it returns the same	as "elementInfo()".

       .

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

       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

perl v5.32.0			  2008-08-0XML::Pastor::Schema::ComplexType(3)

NAME | WARNING | ISA | SYNOPSIS | DESCRIPTION | METHODS | BUGS & CAVEATS | AUTHOR | COPYRIGHT | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=XML::Pastor::Schema::ComplexType&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help