"It does not support mixed attribute SubstitutionGruop etc .." could you give me a example ? thinks.
---Xuepeng 2010/4/25 Amila Suriarachchi <[email protected]> > > > On Wed, Apr 21, 2010 at 9:22 PM, Xuepeng Li <[email protected]> wrote: > >> en....... >> I write a simpleType called "intRange" >> >> <xsd:simpleType name="intRange"> >> <xsd:restriction base="xsd:integer"> >> <xsd:minInclusive value="0"/> >> <xsd:maxInclusive value="120"/> >> </xsd:restriction> >> </xsd:simpleType> >> >> wsdl2java will produce a java class called IntRange.java skeleton (for >> server, not for client) , which has a method setIntRange(), >> >> public void setIntRange(java.math.BigInteger param) { >> >> if >> (org.apache.axis2.databinding.utils.ConverterUtil.compare(param, >> "120") <= 0) { >> this.localIntRange = param; >> } else { >> throw new java.lang.RuntimeException(); >> } >> >> if (org.apache.axis2.databinding.utils.ConverterUtil >> .compare(param, "0") >= 0) { >> this.localIntRange = param; >> } else { >> throw new java.lang.RuntimeException(); >> } >> >> } >> >> then I send a soap request with <intRange>1400</intRange>, the axis >> server will throw an exception. >> >> So, I think axis2 adb enforces the restrictions. >> >> Is there something wrong about what I think ? >> > > The document you refer should be bit obsolete. Currently ADB supports > those. > > It does not support mixed attribute SubstitutionGruop etc .. > > thanks, > Amila. > >> >> ---Xuepeng >> >> 2010/4/21 Doughty, Michael <[email protected]> >> >> As I understand it, some examples of this would be the following: >>> >>> (1) Length restrictions on Strings: >>> >>> <xs:element name="password"> >>> <xs:simpleType> >>> <xs:restriction base="xs:string"> >>> <xs:length value="8"/> >>> </xs:restriction> >>> </xs:simpleType> >>> </xs:element> >>> >>> (2) Minimum and maximum length on Strings: >>> >>> <xs:element name="password"> >>> <xs:simpleType> >>> <xs:restriction base="xs:string"> >>> <xs:minLength value="5"/> >>> <xs:maxLength value="8"/> >>> </xs:restriction> >>> </xs:simpleType> >>> </xs:element> >>> >>> (3) Pattern restrictions on Strings: >>> >>> <xs:element name="letter"> >>> <xs:simpleType> >>> <xs:restriction base="xs:string"> >>> <xs:pattern value="[a-z]"/> >>> </xs:restriction> >>> </xs:simpleType> >>> </xs:element> >>> >>> (4) Minimum and maximum value restraints on Integers: >>> >>> <xs:element name="age"> >>> <xs:simpleType> >>> <xs:restriction base="xs:integer"> >>> <xs:minInclusive value="0"/> >>> <xs:maxInclusive value="120"/> >>> </xs:restriction> >>> </xs:simpleType> >>> </xs:element> >>> >>> I don't believe Axis2 will fail to process at wsdl2java time. It will >>> still build stubs from these. What it won't do is actually encapsulate the >>> restrictions into the data types, so none of the restrictions will actually >>> be enforced at runtime. >>> >>> There is one case though that I believe ADB bindings will allow for, and >>> that is the specified value restrictions: >>> >>> <xs:element name="car"> >>> <xs:simpleType> >>> <xs:restriction base="xs:string"> >>> <xs:enumeration value="Audi"/> >>> <xs:enumeration value="Golf"/> >>> <xs:enumeration value="BMW"/> >>> </xs:restriction> >>> </xs:simpleType> >>> </xs:element> >>> >>> I believe these will be properly encapsulated into an enumeration type. >>> >>> Keep in mind that the restrictions are for ADB bindings. If you want to >>> use and enforce any of those restrictions that ADB bindings won't handle, >>> Axis2 does support XML Bean bindings, which I believe will enforce those >>> restrictions. >>> >>> (Note: these examples were all taken from >>> http://www.w3schools.com/schema/schema_facets.asp ) >>> >>> ---------------------------------------- >>> >>> From: Xuepeng Li [mailto:[email protected]] >>> Sent: Wednesday, April 21, 2010 5:20 AM >>> To: [email protected] >>> Subject: could some one give me a xml schema example that axis2 can't >>> process ? >>> >>> hi all >>> In Axis2 document , i find adb binding "It is not meant to be a full >>> schema binding application, and has difficulty with structures such as XML >>> Schema element extensions and restrictions." but i don't know what the >>> limition is. >>> could some one give me a xml schema example that axis2 can't process >>> ? >>> >>> thanks very much~ >>> >> >> > > > -- > Amila Suriarachchi > WSO2 Inc. > blog: http://amilachinthaka.blogspot.com/ >
