← Prev in month ← Prev in thread
Next in thread → Next in month →

Re: [ubl] UBL schema tests draft-8.2 - Specialised Data Types

From
Tim McGrath
Date
2004-03-16T08:09:00+00:00
ID
Thread
Re: [ubl] UBL schema tests draft-8.2 - Specialised Data Types
MHonArc v2.5.0b2 -->

















ubl message






[Date Prev]
 | [Thread Prev]
 | [Thread Next]
 | [Date Next]

--

[Date Index]
 | [Thread Index]
 | [List Home]








Subject: Re: [ubl] UBL schema tests draft-8.2 -  Specialised Data Types




From: Tim McGrath <>
To: David Kruppke <>
Date: Tue, 16 Mar 2004 16:24:47 +0800










Thank you very much David (and Micahel) for producing this document, it has
helped me (at least) see the way the code list representation is coming together
and how we can refine our implementation.


Let me use as an example the Currency Code and  present what i think is happening
(and what we want to happen).  We can discuss this further in our co-ordination
call.


Current (draft 8-2) method....


1. We define a BBIE, for example Order. Transaction Currency. Code and give
this a data type of  Currency_ Code. Type.

2. This appears in the Order schema as...

      <xsd:element name="TransactionCurrencyCode"
type="sdt:CurrencyCodeType" minOccurs="0" maxOccurs="1">
3. The Specialised Data Type schema (sdt:) defines CurrencyCodeType as...

 
<xsd:complexType name="CurrencyCodeType">

     <xsd:simpleContent>

       <xsd:extension base="cur:DerivedCodeType"/>

     </xsd:simpleContent>

   </xsd:complexType>


4. The Currency Code schema (cur:) defines DerivedCodeType as...

   
  <xsd:complexType name="DerivedCodeType">

    <xsd:simpleContent>


      <xsd:restriction base="cct:CodeType">

        <xsd:enumeration value="ADP"/>

        <xsd:enumeration value="ZWD"/>

        <xsd:attribute name="name" type="xsd:string" use="optional"/>

        <xsd:attribute name="codeListID" type="xsd:normalizedString" use="optional"/>

        <xsd:attribute name="codeListAgencyID" type="xsd:normalizedString"
use="optional"/>

        <xsd:attribute name="codeListAgencyName" type="xsd:string" use="optional"/>

        <xsd:attribute name="codeListName" type="xsd:string" use="optional"/>

        <xsd:attribute name="codeListVersionID" type="xsd:normalizedString"
use="optional"/>

        <xsd:attribute name="codeListURI" type="xsd:anyURI" use="optional"/>

        <xsd:attribute name="codeListSchemeURI" type="xsd:anyURI" use="optional"/>

        <xsd:attribute name="languageID" type="xsd:language" use="optional"/>

      </xsd:restriction>

    </xsd:simpleContent>

  </xsd:complexType>



I can see this is clear until we get to step 3.  It appears that because
we have CurrencyCodeType defined in the Specialised Data Type schema we invent
this arbitrary name 'DerivedCodeType' in the Currency Code schema.  What
we want to do is define one CurrencyCodeType (as per Marty's paper).  It
is clear that we should either have one Specialised Data Type schema with
all code lists defined within it - or- we have separate code list schemas
and no Specialised Data Type schema.  This is re-inforced by the fact that
the documentation used in the Specialised Data Type schema is just repetition.
 It is doing nothing but pointing us somewhere else.


Surely, we would be better off with this approach ...


2. This appears in the Order schema as...

      <xsd:element name="TransactionCurrencyCode"
type="cur:CurrencyCodeType" minOccurs="0" maxOccurs="1">
3. The Currency Code schema (cur:) defines CurrencyCodeType as...
 
  <xsd:complexType name="CurrencyCodeType">
    <xsd:simpleContent>

 
 
      <xsd:restriction base="cct:CodeType">

         <xsd:enumeration value="ADP"/>

         <xsd:enumeration value="ZWD"/>

         <xsd:attribute name="name" type="xsd:string" use="optional"/>

         <xsd:attribute name="codeListID" type="xsd:normalizedString"
use="optional"/>

         <xsd:attribute name="codeListAgencyID" type="xsd:normalizedString"
use="optional"/>

         <xsd:attribute name="codeListAgencyName" type="xsd:string" use="optional"/>

         <xsd:attribute name="codeListName" type="xsd:string" use="optional"/>

         <xsd:attribute name="codeListVersionID" type="xsd:normalizedString"
use="optional"/>

         <xsd:attribute name="codeListURI" type="xsd:anyURI" use="optional"/>

         <xsd:attribute name="codeListSchemeURI" type="xsd:anyURI" use="optional"/>

         <xsd:attribute name="languageID" type="xsd:language" use="optional"/>

       </xsd:restriction>

     </xsd:simpleContent>

   </xsd:complexType>
[[NB I have a small issue with ...<xsd:restriction base="cct:CodeType">
 shouldn't this be <xsd:restriction base="udt:CodeType"> ?  isn't Currency
Code a specialisation of the unspecialised data type called code ?]]



Also, David, partly as a result of this doubling up you have not picked up
the fact that the schema for AcknowledgementResponseCode (res:) should not
be called OrderAcknowledgementCode (that is just the name of the old text
file of values)  it should be called AcknowledgementResponseCode.


David Kruppke wrote:


  Hello all,

this is version draft-8.2.

It improves version 8.1 through containing the codes Anne sent to the ubl
list, but there are not any annotation-documentation for the code values.

I need a decision how the documentation for codes should look like.


Thanks in advance


David
← Prev in month ← Prev in thread
Next in thread → Next in month →