1SOAP::WSDL::XSD::TypeliUbs:e:rSiCmopnlterTiybpuet(e3d)PSeOrAlP:D:oWcSuDmLe:n:tXaStDi:o:nTypelib::SimpleType(3)
2
3
4

NAME

6       SOAP::WSDL::XSD::Typelib::SimpleType - simpleType base class
7

DESCRIPTION

9       This module implements a base class for designing simple type classes
10       modelling XML Schema simpleType definitions.
11

SYNOPSIS

13           # example simpleType derived by restriction
14           # XSD would be:
15           # <simpleType name="MySimpleType">
16           #    <restriction base="xsd:string" />
17           # </simpleType>
18           package MySimpleType;
19           use Class::Std::Fast::Storable constructor => 'none';
20           # restriction base implemented via inheritance
21           use SOAP::WSDL::XSD::Typelib::Builtin;
22           use SOAP::WSDL::XSD::Typelib::SimpleType;
23           use base qw(
24               # derive by restriction
25               'SOAP::WSDL::XSD::Typelib::SimpleType::restriction',
26               # restriction base
27               'SOAP::WSDL::XSD::Typelib::Builtin::string'
28           );
29
30           # example simpleType derived by list.
31           # XSD would be:
32           # <simpleType name="MySimpleListType">
33           #    <list itemTipe="xsd:string" />
34           # </simpleType>
35           package MySimpleListType;
36           use Class::Std::Fast::Storable constructor => 'none';
37           # restriction base implemented via inheritance
38           use SOAP::WSDL::XSD::Typelib::Builtin;
39           use base ('SOAP::WSDL::XSD::Typelib::SimpleType',
40               'SOAP::WSDL::XSD::Typelib::Builtin::list',        # derive by list
41               'SOAP::WSDL::XSD::Typelib::Builtin::string'       # list itemType
42           );
43

How to write your own simple type

45       Writing a simple type class is easy - all you have to do is setting up
46       the base classes correctly.
47
48       The following rules apply:
49
50       •   simpleType derived via list
51
52           simpleType classes derived via list must inherit from these classes
53           in exactly this order:
54
55            SOAP::WSDL::XSD::Typelib::SimpleType
56            SOAP::WSDL::XSD::Typelib::Builtin::list         # derive by list
57            The::List::ItemType::Class                      # list itemType
58
59           The::List::ItemType::Class can either be a builtin class (see
60           SOAP::WSDL::XSD::Builtin) or another simpleType class (any other
61           class implementing the right methods is supported too, but not for
62           the faint of heart).
63
64       •   simpleType derived via restriction
65
66           simpleType classes derived via restriction must inherit from these
67           classes in exactly this order:
68
69            SOAP::WSDL::XSD::Typelib::SimpleType               # you may leave this out
70            SOAP::WSDL::XSD::Typelib::SimpleType::restriction  # derive by restriction
71            The::Restriction::Base::Class                      # restriction base
72
73           The::Restriction::Base::Class can either be a builtin class (see
74           SOAP::WSDL::XSD::Builtin) or another simpleType class.
75
76           The slight inconsistency between the these variants is caused by
77           the restriction element, which has different meanings for
78           simpleType and complexType definitions.
79

BUGS AND LIMITATIONS

81       •   Thread safety
82
83           SOAP::WSDL::XSD::Typelib::SimpleType uses
84           Class::Std::Fast::Storable which uses Class::Std. Class::Std is not
85           thread safe, so SOAP::WSDL::XSD::Typelib::SimpleType is neither.
86
87       •   union
88
89           union simple types are not supported yet.
90
91       •   XML Schema facets
92
93           No facets are implemented yet.
94
96       Copyright 2004-2007 Martin Kutter.
97
98       This file is part of SOAP-WSDL. You may distribute/modify it under the
99       same terms as perl itself
100

AUTHOR

102       Martin Kutter <martin.kutter fen-net.de>
103

REPOSITORY INFORMATION

105        $Rev: 851 $
106        $LastChangedBy: kutterma $
107        $Id: SimpleType.pm 851 2009-05-15 22:45:18Z kutterma $
108        $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm $
109
110
111
112perl v5.34.0                      2021-0S7O-A2P2::WSDL::XSD::Typelib::SimpleType(3)
Impressum