1SOAP::WSDL::XSD::TypeliUbs:e:rSiCmopnlterTiybpuet(e3d)PSeOrAlP:D:oWcSuDmLe:n:tXaStDi:o:nTypelib::SimpleType(3)
2
3
4
6 SOAP::WSDL::XSD::Typelib::SimpleType - simpleType base class
7
9 This module implements a base class for designing simple type classes
10 modelling XML Schema simpleType definitions.
11
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
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
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
102 Martin Kutter <martin.kutter fen-net.de>
103
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.32.0 2020-0S7O-A2P8::WSDL::XSD::Typelib::SimpleType(3)