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

 


Help: OASIS Mailing Lists Help | MarkMail Help

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


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
  

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