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] FW: More ASBIE Confusion (in UBL)


it may be my misunderstanding the question but  if the core of this is "what types do we give for ASBIEs?" then the answer should be none.  ASBIEs in our schemas are expressed in the documentation only - they describe the semantics of the ASBIE.  so, as Mike says, we are defining ABIEs contained within other ABIEs.  the point is that when an ABIE is contained within another ABIE it has a meaning specific to that containment.  An Invoice Line when it appears within an Invoice is not a good example, a better example is that  a Line Item contained in an Invoice Line  means something different to a Line Item contained in an Order Line.  We express that meaning as an ASBIE. By definition, an ASBIE merely records the use(via containment in our document models) of another ABIE (for a particular context).  This can be seen when we have more than one ASBIE between the same two BIEs. Every time the ASBIE is used it has a unique meaning.  

So, ASBIEs do not need the same tangible expression as ABIEs or BBIEs and therefore it is not useful to try and make them reusable types.  To go down this path would just create additional complexity (as seen by the question about naming) with no added value.

CRAWFORD, Mark wrote:
-----Original Message-----
From: Grimley Michael J NPRI [mailto:GrimleyMJ@Npt.NUWC.Navy.Mil]
Sent: Tuesday, January 13, 2004 1:56 PM
To: CRAWFORD, Mark; Lisa Seaburg (E-mail)
Cc: Sue Probert (E-mail); MJG At Work (E-mail)
Subject: More ASBIE Confusion (in UBL)

Greetings,
 
First the problem, then a question about the solution...
 
While reviewing the UBL Invoice schema, I came upon the following element declaration within the sequence defining InvoiceType:

  <xsd:element ref="cat:InvoiceLine" maxOccurs="unbounded">
    <xsd:annotation>
      <xsd:documentation>
        <ccts:Component>
          <ccts:CategoryCode>ASBIE</ccts:CategoryCode>
          <ccts:DictionaryEntryName>Invoice. Invoice Line</ccts:DictionaryEntryName>
          <ccts:Definition>An invoice has one or more invoice lines</ccts:Definition>
          <ccts:ObjectClass>Invoice</ccts:ObjectClass>
          <ccts:PropertyTerm>InvoiceLine</ccts:PropertyTerm>
          <ccts:RepresentationTerm>InvoiceLine</ccts:RepresentationTerm>
          <ccts:DataType>InvoiceLine.Type</ccts:DataType>
          <ccts:AssociatedObjectClass>InvoiceLine</ccts:AssociatedObjectClass>
        </ccts:Component>
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>

Although the documentation indicates that this is an ASBIE, it references the InvoiceLine global element in the reusable schema (ref="cat:InvoiceLine"), which is an ABIE:
   
    ** Global Element declaration in Reusable (cat:) **

  <xsd:element name="InvoiceLine" type="InvoiceLineType"/>
  <xsd:complexType name="InvoiceLineType">
    <xsd:annotation>
      <xsd:documentation>
        <ccts:Component>
          <ccts:CategoryCode>ABIE</ccts:CategoryCode>
          <ccts:DictionaryEntryName>Invoice Line . Details</ccts:DictionaryEntryName>
          <ccts:Definition>Information directly relating to a line item of a transaction. It identifies the item but only includes details about the item that are pertinent  to one occurrence on a line item, e.g. quantity etc.</ccts:Definition>
          <ccts:ObjectClass>InvoiceLine</ccts:ObjectClass>
          <ccts:RepresentationTerm>Details</ccts:RepresentationTerm>
        </ccts:Component>
      </xsd:documentation>
    </xsd:annotation>

There is no global element declaration for the ASBIE. (Same problem with most of the 'ASBIE' declarations.) Aren't we essentially containing an ABIE within another ABIE. If not, what would be the difference?

Now, to take the next step, if we were to declare a global element of type "InvoiceLineType" for the ASBIE (as indicated in the NDR), what would we name it? The first step would lead us to "InvoiceInvoiceLine", then we would remove the duplicate 'Invoice' (as per the NDR) which would leave us with a global "InvoiceLine" element. However, we already have a global "InvoiceLine" element in the Reusable schema/namespace. Do we create another one for the Invoice namespace?

??
MikeG


-- 
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]