axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maryam Moazeni" <mmoaz...@gmail.com>
Subject Re: [axis2] Google SoC: ADB Project
Date Wed, 05 Jul 2006 06:16:07 GMT
Hi Dennis,

That's what I wanted to make sure !!! Thanks.

Maryam


On 7/4/06, Dennis Sosnoski <dms@sosnoski.com> wrote:
>
> Hi Maryam,
>
> This isn't a valid case. The only way to get complexContent from a
> simpleType is by using extension (since restriction says that you're
> only going to allow a subset of what the base type allows - which means
> that the restriction of a simpleType is always going to be
> simpleContent). Just to be sure, I tried this in Oxygen:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:a"
> xmlns:tns="urn:a">
> <simpleType name="x">
>    <restriction base="decimal">
>      <minExclusive value="0.0"/>
>      <maxExclusive value ="100.0"/>
>    </restriction>
> </simpleType>
>
> <complexType name="y">
>    <complexContent>
>      <restriction base="tns:x">
>        <minExclusive value="1.0"/>
>      </restriction>
>    </complexContent>
> </complexType>
> </schema>
>
> It gave the expected error:
>
> SystemID: /usr/local/tools/oxygen6.2/Untitled1.xsd
> Location: 12:33
> Description: E src-ct.1: Complex Type Definition Representation Error
> for type 'y'.  When <complexContent> is used, the base type must be a
> complexType. 'x' is a simpleType.
> URL: http://www.w3.org/TR/xmlschema-1/#src-ct
>
> - Dennis
>
> Dennis M. Sosnoski
> SOA, Web Services, and XML
> Training and Consulting
> http://www.sosnoski.com - http://www.sosnoski.co.nz
> Seattle, WA +1-425-296-6194 - Wellington, NZ +64-4-298-6117
>
>
>
> Maryam Moazeni wrote:
> > Hi Ajith,
> >
> > actually I meant something else, I think what u mentioned here is a
> > SimpleTypeRestriction which I think is handeled in
> > processSimpleSchemaType(...), I'm not sure though. Please correct me
> > if I'm wrong.
> >
> > But what I asked is the case of Complex Content when:
> >
> > *restriction.getBaseTypeName() instanceof XmlSchemaSimpleType*
> >
> > For example:
> >
> > <simpleType name="x">
> >       <restriction base="number">
> >            <minExlusive value="0.0"/>
> >            <maxExlusive value ="100.0"/>
> >       </restriction>
> > </simpleType>
> >
> > <complexType name="y">
> >     <complexContent>
> >        *<restriction base="tns:x">*
> > *          ....*
> > *       *</restriction>
> >      </complexContent>
> > </complexType>
> >
> > I'd like to know what will happen in this case.
> >
> > Thanks,
> > Maryam
> >
> >
> > On 7/4/06, *Ajith Ranabahu* <ajith.ranabahu@gmail.com
> > <mailto:ajith.ranabahu@gmail.com>> wrote:
> >
> >     Hi Maryam,
> >     What I thought as appropriate for the simple type is to wrap the
> >     necessary type in class and build the restriction logic into that
> >     class.
> >     For example think of a restriction based on xs:string with a pattern
> >     like the following
> >
> >     <xs:simpleType name="myType">
> >            <xs:restriction base="xs:string">
> >                     <xs:pattern value="\d"/>
> >            </xs:restriction>
> >     </xs:simpleType>
> >
> >     for this I suggest we generate a class MyType that wraps a
> >     java.lang.string. For the setter we can inserts a reg exp based
> >     checker that throws an exception (??) for a wrong value . How does
> >     that sound :)
> >
> >
> >     Ajith
> >
> >     On 7/4/06, Maryam Moazeni <mmoazeni@gmail.com
> >     <mailto:mmoazeni@gmail.com>> wrote:
> >     >
> >     > Hi all,
> >     >
> >     > Regarding the complex content restriction:
> >     >
> >     > In the case that the restriction base type is a complex type,
> >     the derived
> >     > class overrides the getter and setter corresponding to
> >     restricted elements,
> >     > but how about when the restriction base type is a simple type?
> >     simple types
> >     > doesn't have elements !!
> >     >
> >     > in the current implementation for the extension of a simple
> >     type, the
> >     > derived class extends " org.apache.axiom.om.OMElement" and its
> >     elements are
> >     > added to the class.
> >     > but seems there's a different story for restriction.
> >     >
> >     > Any Thoughts?
> >     >
> >     > Thanks,
> >     >
> >     > Maryam
> >     >
> >     >
> >     >
> >     > >
> >     > >
> >     > >
> >     > >
> >     > >
> >     > > Hi Ajith,
> >     > >
> >     > >
> >     > > Thanks for sharing your thoughts,
> >     > >
> >     > > For (1), (2) I was thinking of what you mentioned. So, you say
> we
> >     > shouldn't have the
> >     > > real Java inheritance here because of the existence of
> >     primitive types,
> >     > right?
> >     > >
> >     > >
> >     > > Well, I have already started testing some simple schemas with
> the
> >     > XMLBeans. That seems to be the only source for me :)
> >     > >
> >     > > Thanks,
> >     > >
> >     > >
> >     > > Maryam
> >     > >
> >     > >
> >     > >
> >     > >
> >     > > On 6/22/06, Ajith Ranabahu < ajith.ranabahu@gmail.com
> >     <mailto:ajith.ranabahu@gmail.com> > wrote:
> >     > >
> >     > > > Hi Maryam,
> >     > > > I've had the thoughts for the supporting of simple content
> >     extension
> >     > > > and restriction and complex content restriction (We already
> >     support
> >     > > > complex content extension partially)
> >     > > >
> >     > > > 1. simple content extension
> >     > > > This should generate a seperate class that contains the base
> >     type as
> >     > > > a field. for the variations, there would be  other fields
> >     generated
> >     > > > into the class (say in the case of attributes). Note that
> >     extending
> >     > > > the classes would not work since there can be java
> >     primitives (like
> >     > > > int and boolean) and even if mapped to a class the class may
> >     not be
> >     > > > extensible (like the java.lang.String which is final)
> >     > > >
> >     > > > 2.  simple content restriction
> >     > > > This should be the same as the extension case but now it
> >     would have
> >     > > > conditions generated into the the setter method of the base
> >     field. Say
> >     > > > in the case of enums there should be a list of constants and
> the
> >     > > > constants should be checked against the input value when
> >     setting the
> >     > > > value. Similar check can be done for the regular expressions.
> >     > > >
> >     > > > 3. Complex content restriction
> >     > > >   Hmm... this is somewhat tricky. What I see is that we can
> >     extend
> >     > > > the generated class just like for extension but overrride
> >     the setters
> >     > > > depending on the restriction.
> >     > > >
> >     > > > One thing you can do is to see what XMLbeans does for this.
> >     Only thing
> >     > > > is they generate classes all over the place (:)) and it
> >     might be a bit
> >     > > > hard to figure out what is what :)
> >     > > >
> >     > > > Others please add your thoughts into this.
> >     > > >
> >     > > > Ajith
> >     > > >
> >     > > > On 6/21/06, Maryam Moazeni < mmoazeni@gmail.com
> >     <mailto:mmoazeni@gmail.com>> wrote:
> >     > > > >
> >     > > > >
> >     > > > > Hi All,
> >     > > > >
> >     > > > > I'm doing a project for improving ADB for Google Summer
of
> >     Code,
> >     > > > > At this point, I'm trying to implement the
> >     > > > >
> >     > > > > Simple Content Restriction and Extension
> >     > > > > Complex Content Restriction and Extension
> >     > > > > I'd like to receive sugestions from Axis2 Developers for
> >     implementing
> >     > these
> >     > > > > features.
> >     > > > > Any suggestions?
> >     > > > >
> >     > > > > Thanks,
> >     > > > >
> >     > > > >
> >     > > > > Maryam Moazeni
> >     > > >
> >     > > >
> >     > > > --
> >     > > > Ajith Ranabahu
> >     > > >
> >     > > >
> >     >
> >
> ---------------------------------------------------------------------
> >     > > > To unsubscribe, e-mail:
> >     > axis-dev-unsubscribe@ws.apache.org
> >     <mailto:axis-dev-unsubscribe@ws.apache.org>
> >     > > > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >     <mailto:axis-dev-help@ws.apache.org>
> >     > > >
> >     > > >
> >     > >
> >     > >
> >     > >
> >     >
> >     >
> >
> >
> >     --
> >     Ajith Ranabahu
> >
> >
> ---------------------------------------------------------------------
> >     To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> >     <mailto:axis-dev-unsubscribe@ws.apache.org>
> >     For additional commands, e-mail: axis-dev-help@ws.apache.org
> >     <mailto:axis-dev-help@ws.apache.org>
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>

Mime
View raw message