RE: [SPAM] Issue with IgnoreUncidedEndpoint in LocationTemplate-1G

I'm not sure the minOccurs=0 language doesn't capture the sublety of the
test case giving rise to this issue, where minOccurs=2 and maxOccurs=2 yet
only 1 instance of the token must appearing in the URI.  Here's my attempt
to accommodate that:

  "...any element not cited in the {http location} property MUST
  be defined in the schema as nillable, or as not nillable but
  with a minOccurs value less than or equal to the number of 
  occurrences (possibly zero) of that element name in the template, 
  or not nillable and with minOccurs greater than the number of 
  occurrences of that element in the template but with a default value."

I see that this does preclude the situation where I have to choose between
nillable and a default value, as it simply outlaws schemas of that form.  I
can live with this formulation.

But I still prefer my proposal as amended in the telcon, as I don't think it
matters in practice what the precise shape of the XML looks like, as long as
it's valid (after all, we've instructed the binding to throw away
information that changes the shape pretty dramatically).

  When serializing an HTTP request method that does not allow an HTTP
  message body, and when {http location ignore uncited} is true, any
  element not cited in the {http location} property MUST be defined in
  the schema as nillable [[, or has a default value, or appears no less 
  frequently than specified by the minOccurs value. ]].

Jonathan Marsh - http://www.wso2.com - http://auburnmarshes.spaces.live.com
 

> -----Original Message-----
> From: Jacek Kopecky [mailto:jacek.kopecky@deri.org]
> Sent: Thursday, February 01, 2007 9:40 AM
> To: Jonathan Marsh
> Cc: 'Youenn Fablet'; 'keith chapman'; 'www-ws-desc'
> Subject: RE: [SPAM] Issue with IgnoreUncidedEndpoint in LocationTemplate-
> 1G
> 
> We just talked about adding "nillable or optional or have a default
> value" to the proposal. I would suggest we give an order to this:
> 
>         "...any element not cited in tje {http location} property MUST
>         be defined in the schema as nillable, or as not nillable but
>         with minOccurs=0, or not nillable and with minOccurs>0 but with
>         a default value."
> 
> In this way, the reconstituting side will, depending on the schema,
> stick it in as nil (if it's nillable), or omit it (if it's optional) or
> stick it in as empty, in this order. This assumes the reconstituting
> side knows the schema, but they are expected to know the WSDL so we're
> ok I think.
> 
> Jacek
> 
> On Wed, 2007-01-31 at 11:58 -0800, Jonathan Marsh wrote:
> > I don't think there's much practical difference between optional
> parameters
> > and nillable parameters - though we could debate the difference between
> > empty and null for months.
> >
> > I'll expand my proposal for CR146 to include optional elements and
> > situations like this one:
> >
> >   When serializing an HTTP request method that does not allow an HTTP
> >   message body, and when {http location ignore uncited} is true, any
> >   element not cited in the {http location} property MUST be defined in
> >   the schema as nillable [[ or appear no less frequently than specified
> >   by the minOccurs value. ]].
> >
> > For this test case, I think instead of adding nillable="true" I should
> have
> > set minOccurs="1".  I'll go ahead and make that change.
> >
> > Jonathan Marsh - http://www.wso2.com -
> http://auburnmarshes.spaces.live.com
> >
> >
> > > -----Original Message-----
> > > From: Youenn Fablet [mailto:youenn.fablet@crf.canon.fr]
> > > Sent: Wednesday, January 31, 2007 1:31 AM
> > > To: keith chapman
> > > Cc: www-ws-desc; Jonathan Marsh
> > > Subject: Re: [SPAM] Issue with IgnoreUncidedEndpoint in
> LocationTemplate-
> > > 1G
> > >
> > > I am then wondering how the nillable approach is better compared to
> the
> > > first, simpler, solution that comes to mind, i.e. stating that
> > > ignored parameters must be optional elements in the schema?
> > >     Youenn
> > >
> > > keith chapman wrote:
> > > > Hi,
> > > >
> > > > The schema of LocationTemplate-1G states the following,
> > > >
> > > >       <xs:element name="time" type="xs:time" minOccurs="2"
> > > > maxOccurs="2" nillable="true"/>
> > > >
> > > > But in IgnoreUncidedEndpoint in LocationTemplate-1G,
> > > > whttp:location="datespace/{year}.html?start={time}". This is not
> > > > schema valid because there is only 1 time value. We can fix this by
> > > > changing the schema to minOccurs="1" or adding the end value to http
> > > > location.
> > > >
> > > > Thanks,
> > > > Keith.
> > > >
> > > > --
> > > > Keith Chapman
> > > > WSO2 Inc.
> > > > Oxygen for Web Services Developers.
> > > > http://wso2.org/
> >
> >

Received on Thursday, 1 February 2007 23:58:24 UTC