SOAP::WSDL::XSD::Typelib::Element - element base clase
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::Storable; 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::Storable; use base ( 'SOAP::WSDL::XSD::Typelib::Element', 'MyElement' ); __PACKAGE__->__set_name('MyElementName'); __PACKAGE__->__set_nillable(0); __PACKAGE__->__set_ref(1);
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.
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 definitly provide your XML envelope generator with the same prefix namespace combination (Default for SOAP::WSDL::Envelope).
To install SOAP::WSDL, copy and paste the appropriate command in to your terminal.
cpanm
cpanm SOAP::WSDL
CPAN shell
perl -MCPAN -e shell install SOAP::WSDL
For more information on module installation, please visit the detailed CPAN module installation guide.