---
name: "SOAP::WSDL::XSD::Typelib::Element"
section: "3pm"
platform: "linux"
package: "libsoap-wsdl-perl"
version: "3.004-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SOAP::WSDL::XSD::Typelib::Element"
---

# SOAP::WSDL::XSD::Typelib::Element(3pm)

element base clase

## 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 $
```
