Ah, well so much for that idea then.  :)

> -----Original Message-----
> From: Melissa Turner [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, February 21, 2002 5:22 PM
> To: [EMAIL PROTECTED]
> Subject: Re: complexType extending a simpleType
> 
> 
> On Thursday, February 21, 2002, at 01:43 , R J Scheuerle Jr wrote:
> 
> > Talked to Glen and Tom on the chat, and they think that 
> > InternationalPrice
> > should extend String.
> > <snip>
> > Comments ?
> >
> 
> String is final, as are the primitive type wrapper classes.
> 
> +Melissa
> 
> > Rich Scheuerle
> > XML & Web Services Development
> > 512-838-5115  (IBM TL 678-5115)
> >
> >
> >
> >                       Simon Fell
> >                       <[EMAIL PROTECTED]        To:       axis-
> > [EMAIL PROTECTED]
> >                       co.uk>                   cc:
> >                                                Subject:  Re: 
> > complexType extending a simpleType
> >                       02/21/2002 03:25
> >                       PM
> >                       Please respond to
> >                       axis-dev
> >
> >
> >
> >
> >
> > FWIW, I ran into this doing the Group D doc/literal interop 
> tests for
> > pocketSOAP, and took exactly the same approach.
> >
> > Cheers
> > Simon
> >
> > On Thu, 21 Feb 2002 15:12:03 -0600, in soap you wrote:
> >
> >> According to XML Schema Primer 0 Chapter 2.5.1, a 
> complexType can be
> >> derived from a simple type to add attribute information.
> >>
> >>
> >> Lets say you had the following schema:
> >>
> >> <complexType name="purchaseItem">
> >>     <complexContent>
> >>          <sequence>
> >>              <element name="itemName" type="xsd:string" />
> >>              <element name="price" type="xsd:string" />
> >>          </sequence>
> >>     </complexContent>
> >> </complexType>
> >>
> >> The above could be sent over the wire as:
> >>
> >> <purchaseItem>
> >>  <itemName>
> >>    Widget
> >>  </item>
> >>  <price>
> >>   1.00
> >>  </price>
> >> <purchaseItem>
> >>
> >> And the above would be modeled as a java bean named 
> PurchaseItem with 
> >> two
> >> String properties.
> >>
> >>
> >> Now let's say you extend this for an international market, 
> thus the 
> >> price
> >> needs to know the
> >> currency.  Since it is closely tied to the price, you want 
> to represent
> >> currency as an
> >> attribute on price.   Here's how to represent this in xml schema.
> >>
> >> <complexType name="internationalPrice">
> >>    <complexContent>
> >>        <simpleContent>
> >>            <extension base="xsd:string"/>
> >>                <attribute name="currency" type="xsd:string">
> >>            </extension>
> >>        </simpleContent>
> >>    <complexContent>
> >> </complexType>
> >>
> >> <complexType name="purchaseItem">
> >>     <complexContent>
> >>          <sequence>
> >>              <element name="itemName" type="xsd:string" />
> >>              <element name="price" type="tns:internationalPrice" />
> >>          </sequence>
> >>     </complexContent>
> >> </complexType>
> >>
> >> So this means that price is an element whose value is a string and 
> >> has a
> >> currency attribute.
> >>
> >> Here is an example over the wire:
> >>
> >> <purchaseItem>
> >>  <itemName>
> >>    Widget
> >>  </item>
> >>  <price currency="USDollars">
> >>   1.00
> >>  </price>
> >> <purchaseItem>
> >>
> >>
> >> We don't support extension of simpleTypes yet.  When we do, we need
> >> to generate a PurchaseItem bean (as before) and a 
> InternationalPrice 
> >> bean.
> >>
> >> However, note that the InternationalPrice has a "raw" value that is
> >> serialized
> >> directly...not within an element and not as an attribute 
> value.  The
> >> serializer and deserializer need to know about this raw 
> value, and the
> > bean
> >> requires
> >> a special property name to get to the raw value.  (I 
> propose getValue 
> >> and
> >> setValue
> >> accessors, which match what we do with enumeration 
> classes...our other
> > kind
> >> of simpleType).
> >>
> >> So both emitters, bean serializer, and bean deserializer 
> will need to 
> >> have
> >> extra code to support this feature.  (Note that this is an optional
> > JAX-RPC
> >> feature).
> >>
> >>
> >> Comments?
> >>
> >>
> >>
> >>
> >>
> >>
> >> Rich Scheuerle
> >> XML & Web Services Development
> >> 512-838-5115  (IBM TL 678-5115)
> >
> >
> >
> >
> 

Reply via email to