OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-ndrsc message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [ubl-ndrsc] Containers


I'm sorry if I gave the impression that consideration was not
given to all variations.

The main problem, as I see it, is precisely consistency. I will
use your example of "HandlingUnitDespatchLine" because it's a
really good one.

One way to avoid the perceived different treatement of 0..1 and 1..n
is to have a schema like this:

<DespatchedTransportHandlingUnit>
   <ID>...</ID>
   <TypeCode>...</TypeCode>
   <UBLContainer>
     <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
     <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
     <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
     <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
   </UBLContainer>
   <UBLContainer2>
     <ActualPackage> <!-- 0..n --> </ActualPackage>
     <ActualPackage> <!-- 0..n --> </ActualPackage>
     <ActualPackage> <!-- 0..n --> </ActualPackage>
     <ActualPackage> <!-- 0..n --> </ActualPackage>
     <ActualPackage> <!-- 0..n --> </ActualPackage>
     <ActualPackage> <!-- 0..n --> </ActualPackage>
   </UBLContainer2>
</DespatchedTransportHandlingUnit>

which seems to ensure consistency. The problem with this is that you
may end up with instances like this:

<DespatchedTransportHandlingUnit>
   <ID>...</ID>
   <TypeCode>...</TypeCode>
   <UBLContainer>
     <HandlingUnitDespatchLine>foo</HandlingUnitDespatchLine>
     <HandlingUnitDespatchLine>bar</HandlingUnitDespatchLine>
   </UBLContainer>
   <UBLContainer2> <!-- NOTE: it's empty -->
   </UBLContainer2>
</DespatchedTransportHandlingUnit>

Of course, the pseudo schema above can be changed to:
<DespatchedTransportHandlingUnit>
   <ID>...</ID>
   <TypeCode>...</TypeCode>
   <UBLContainer> <!-- 1..n -->
     <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
     <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
     <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
     <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
   </UBLContainer>
   <UBLContainer2> <!-- 0..n -->
     <ActualPackage> <!-- 0..n --> </ActualPackage>
     <ActualPackage> <!-- 0..n --> </ActualPackage>
     <ActualPackage> <!-- 0..n --> </ActualPackage>
     <ActualPackage> <!-- 0..n --> </ActualPackage>
     <ActualPackage> <!-- 0..n --> </ActualPackage>
     <ActualPackage> <!-- 0..n --> </ActualPackage>
   </UBLContainer>
</DespatchedTransportHandlingUnit>

So now UBLcontainer2 is optional; the problem is that now the following two
instances are both valid, although they are quite different:

Instance A:
<DespatchedTransportHandlingUnit>
   <ID>...</ID>
   <TypeCode>...</TypeCode>
   <UBLContainer>
     <HandlingUnitDespatchLine>foo</HandlingUnitDespatchLine>
     <HandlingUnitDespatchLine>bar</HandlingUnitDespatchLine>
   </UBLContainer>
   <UBLContainer2> <!-- NOTE: it's empty -->
   </UBLContainer2>
</DespatchedTransportHandlingUnit>


Instance B:
<DespatchedTransportHandlingUnit>
   <ID>...</ID>
   <TypeCode>...</TypeCode>
   <UBLContainer>
     <HandlingUnitDespatchLine>foo</HandlingUnitDespatchLine>
     <HandlingUnitDespatchLine>bar</HandlingUnitDespatchLine>
   </UBLContainer>
</DespatchedTransportHandlingUnit>

This is hardly consistent. As far as I know, XSD does not have concurrent
constraints that would make Instance A above invalid, which is what one
would want...

So the question must be (or at least the question in my mind is):
if <ActualPackage> is expected to be repeated many times, is it
true that it is optional? Is it really to be expected that elements
that in some cases will be 0 in others will be 10?

In any event, at this point I would prefer for the chairs to make a
determination as to whether this issue should be reopened or not.



Chin Chee-Kai wrote:
> I think as well that it's important to give due considerations
> to decisions made about containers.  I'm just thinking aloud
> that if the Containers proposition hasn't included coverage
> on various possibile effects, it might be a little hasty to
> introduce them so quickly.  The "not very-disturbingly-
> backward-incompatible manner" may, by then, be the norm
> since many more instances will be in circulation than the
> schemas.
> 
> 
> An example I manage to find is:  <DespatchedTransportHandlingUnit>
> where, for convenience of readers, the schema is:
> 
> <DespatchedTransportHandlingUnit>
>   <ID>...</ID>
>   <TypeCode>...</TypeCode>
>   <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
>   <ActualPackage> <!-- 0..n --> </ActualPackage>
> </DespatchedTransportHandlingUnit>
> 
> 
> So an instance could look like this:
> (for illustration, <UBLContainer> is used as the container's name)
> 
> <DespatchedTransportHandlingUnit>
>   <ID>...</ID>
>   <TypeCode>...</TypeCode>
>   <UBLContainer>
>     <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
>     <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
>     <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
>     <HandlingUnitDespatchLine> <!-- 1..n --> </HandlingUnitDespatchLine>
>   </UBLContainer>
>   <ActualPackage> <!-- 0..n --> </ActualPackage>
>   <ActualPackage> <!-- 0..n --> </ActualPackage>
>   <ActualPackage> <!-- 0..n --> </ActualPackage>
>   <ActualPackage> <!-- 0..n --> </ActualPackage>
>   <ActualPackage> <!-- 0..n --> </ActualPackage>
>   <ActualPackage> <!-- 0..n --> </ActualPackage>
> </DespatchedTransportHandlingUnit>
> 
> It's hardly uniform treatment of repetitions, I'd say.
> 
> 
> There's another example in OrderResponse where the schema
> is:
> 
> <OrderResponse>
>   ...
>   <AllowanceCharge> <!-- 0..n --> </AllowanceCharge>
>   ...
>   <ReferencedOrderLine> <!-- 1..n --> </ReferencedOrderLine>
> </OrderResponse>
> 
> 
> Could NDR consider giving some more spin to the 0..n coverage
> (or other aspects of containership) before it's implemented?
> 
> Thanks.
> 
> 
> 
> Best Regards,
> Chin Chee-Kai
> SoftML
> Tel: +65-6820-2979
> Fax: +65-6743-7875
> Email: cheekai@SoftML.Net
> http://SoftML.Net/
> 
> 
> 
> 
> 
> On Fri, 16 May 2003, Eduardo Gutentag wrote:
> 
> 
>>>I'd rather not go there at this time. IOW: we finally reached a decision
>>>about containers that is agreeable to all. Let's leave it
>>>there. It's not perfect, but it's a decision, and we can all live
>>>with it, and we can change it in the future if needed (perhaps along
>>>your line of thought) in a not very-disturbingly-backward-incompatible
>>>manner.
> 
> 

-- 
Eduardo Gutentag               |         e-mail: eduardo.gutentag@Sun.COM
Web Technologies and Standards |         Phone:  +1 510 550 4616 x31442
Sun Microsystems Inc.          |         1800 Harrison St. Oakland, CA 94612
W3C AC Rep / OASIS TAB Chair



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]