NAME
SOAP::WSDL::XSD::Typelib::Element - element base clase
SYNOPSIS
This example creates a class for this XML schema definition:
<element name="MyElement" type="xsd:string" nillable="1"minOccurs="1" maxOccurs="1"/>package MyElement;use strict;use Class::Std::Fast::Storable constructor => 'none';use base ('SOAP::WSDL::XSD::Typelib::Element','SOAP::WSDL::XSD::Typelib::Builtin::string',);__PACKAGE__->__set_name('MyElementName');__PACKAGE__->__set_nillable(1);__PACKAGE__->__set_minOccurs(1);__PACKAGE__->__set_maxOccurs(1);__PACKAGE__->__set_ref(0);
Now we create this XML schema definition type class:
<element name="MyElement2" ref="tns:MyElement"/>package MyElement2;use strict;use Class::Std::Fast::Storable constructor => 'none';use base ('SOAP::WSDL::XSD::Typelib::Element','MyElement');__PACKAGE__->__set_name('MyElementName');__PACKAGE__->__set_nillable(0);__PACKAGE__->__set_ref(1);
NOTES
- •
-
type="Foo"
Implemented via inheritance.
- •
-
ref="Foo"
Implemented via inheritance, too. Calling
__PACKAGE__->__set_ref(1) is highly encouraged, though it has no effect yet - it will probably be needed for serialization to XML Schema definitions some day.
BUGS AND LIMITATIONS
- •
-
minOccurs maxOccurs not implemented
These attributes are not yet supported, though they may be set as class properties via __PACKAGE__->__set_FOO methods.
- •
-
'http://www.w3.org/2001/XMLSchema-instance prefix is hardcoded
The prefix for 'http://www.w3.org/2001/XMLSchema-instance (used as namespace for the {http://www.w3.org/2001/XMLSchema-instance}nil="true" attribute is hardcoded as 'xsi'.
You should definitely provide your XML envelope generator with the same prefix namespace combination (Default for SOAP::WSDL::Envelope).
LICENSE AND COPYRIGHT
Copyright 2004-2007 Martin Kutter.
This file is part of SOAP-WSDL. You may distribute/modify it under the same terms as perl itself
AUTHOR
Martin Kutter <martin.kutter fen-net.de>
REPOSITORY INFORMATION
$Rev: 851 $$LastChangedBy: kutterma $$Id: Element.pm 851 2009-05-15 22:45:18Z kutterma $$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/Element.pm $