[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: AW: [ubl-ttsc] a difference
Mark
-----Original Message-----Firstly, as far as UBL goes, the issue of global/local is purely a syntactical mechanism to achieve re-usablility.
From: Tim McGrath [mailto:tmcgrath@portcomm.com.au]
Sent: Sunday, February 22, 2004 8:09 PM
To: Michael Dill
Cc: CRAWFORD, Mark; Ubl-Ttsc@Lists. Oasis-Open. Org
Subject: Re: AW: [ubl-ttsc] a difference
However, I think the confusion about re-use stems from the fact that there appears to be a desire to define global types for all BBIEs independently of their ABIE (or document - which is just another ABIE that happens to be in a spearate model and schema).
If you look at all version of UBL - we have found this is not the case. BBIEs are not re-used globally - their rep.term/data types are.
So in the Reusable schema we find things like...
<xsd:complexType name="DocumentReferenceType">
<xsd:element ref="CopyIndicator" minOccurs="0" maxOccurs="1">
and
<xsd:element name="OrderReference" type="OrderReferenceType" />
<xsd:element ref="CopyIndicator" minOccurs="0" maxOccurs="1">
and then...
<xsd:element name="CopyIndicator" type="rt:IndicatorType"/>
But only the primary definitions contain the semantics of the BBIE - the meaning of the BBIE varies depending on the ABIE in which it appears. The most obvious example is ID which appears dozens of times - we do not an ABIE independent definition of ID. the independent level of re-use of BBIE is at their rep.term/data type.
So this gives us the situation Michael is confused about...
In Order.xsd, we find ...
<xsd:element ref="LineItemCountQuantity" minOccurs="0" maxOccurs="1">
<xsd:element name="LineItemCountQuantity" type="rt:QuantityType"/>
and in Invoice.xsd, we find ...
<xsd:element ref="LineItemCountQuantity" minOccurs="0" maxOccurs="1">
<xsd:element name="LineItemCountQuantity" type="rt:QuantityType"/>
Why aren't these just re-usable types in the common re-usable schema? The answer is that these two BBIEs are not the same thing - the only things they share are the rep.term/data type. We cannot assume that because two BBIEs have the same name they are the same semantic object. In fact, becasue they must appear in different ABIEs they are not in the same context therefore they are different BBIEs.
PS. presumably at some stage in the future the TBG17 harmonization may determine that CopyIndicator is a Core Component and in which case they will provide its context-netural semantics. We can re-use that as a contextualization, once for Order and once for Invoice. But at this stage that is academic.
Michael Dill wrote:
The UBL 1.0 draft 5 schemas I sent 19th FEB to the UBL list are Edifix generated, i.e. EF generates schemas from the UBL data model. Stephen uses UBLish to do so. Thus we can compare the results and have a kind of QA. One difference ist that the edifix tool first looks whether an element in a document ,e.g. DespatchAdvice, is already defined in the reusable model. If yes, then edifix just refers to the already existing element in reusable (with "ref="cbc:DocumentStatusCode" as you can see below). The schemas Stephen generates follow another way: they define a new element with the same name (as already in the reusable model defined). That means, here we have two global definitions/schema declarations with the same UBL name. Behind this stuff we have conceptional issues like: 1. what is the UBL understanding of reuse? 2. what is the UBL understanding of Global? A decision, which solution should be used for UBL, requires a consistency between models and schemas. In the document models we have some attributes which belong directly to the document class/ABIE. case a) such an attribute with the same UBL name appears both in the reusable model and in a document model. case b) such an attribute with the same UBL name appears in two or more document models, but not in the reusable model. The reusable model just contains ABIE with their BBIE. Thus an additional model could be needed to contain the data types. They are reusable as well. And both in case a)and b) the same data type should be used, i.e. re-used. Michael -----Ursprüngliche Nachricht----- Von: CRAWFORD, Mark [mailto:MCRAWFORD@lmi.org] Gesendet: Freitag, 20. Februar 2004 22:21 An: Michael Dill; Ubl-Ttsc@Lists. Oasis-Open. Org Betreff: RE: [ubl-ttsc] a difference e Not sure what you mean by EF generated and UBLish does. Please explain the difference. I will tell you that all elements are to be qualified.-----Original Message----- From: Michael Dill [mailto:dill2@gefeg.com] Sent: Thursday, February 19, 2004 12:25 PM To: Ubl-Ttsc@Lists. Oasis-Open. Org Subject: [ubl-ttsc] a difference Hi folks, how to handle the below mentioned issue? EF currently generates in a document: <xsd:complexType name="DespatchAdviceType"> <xsd:sequence> <xsd:element ref="cbc:DocumentStatusCode" minOccurs="0" maxOccurs="1"> UBLish does: <xsd:complexType name="DespatchAdviceType"> <xsd:sequence> <xsd:element ref="DocumentStatusCode" minOccurs="0" maxOccurs="1"> . . . <xsd:element name="DocumentStatusCode" type="stat:DerivedCodeType"/> Difference: EF50 reuse DocumentStatusCode of cbc (ReusableBasic) meanwhile UBLish generates a new global element with the same name (in the documents namespace). Decision? Michael To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go tohttp://www.oasis-open.org/apps/org/workgroup/ubl-ttsc/members/leave_workgrou p.php. To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/ubl-ttsc/members/leave_workgroup.php.-- regards tim mcgrath phone: +618 93352228 postal: po box 1289 fremantle western australia 6160
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]