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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-clsc message

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


Subject: Wednesday's code list "meta-data block" implementation proposal


Two requirements not present in the 2004-02-12 code list representation 
working draft are:

(A) - that the supplementary components of the code lists of code list 
values utilized in a UBL instance be available in the XML instance proper 
without any processing from any external source including any schema expression

(B) - that the supplementary components be available for all 
code-list-value information items even when two or more such information 
items are found in the set of #PCDATA and attribute information items for 
any given element

One interpretation of the approach that was floated today (termed 
colloquially as the "meta-data block" approach) is as follows:

(1) - every UBL document shall have as many code list meta-data 
declarations as code lists from which values are used in the document

(2) - all code list meta-data declarations shall be grouped in a container 
element at the start of the document

(3) - a validated UBL document has confirmed that for every code list-based 
information item in the instance there exists a code list meta-data declaration
- validation of an XML instance does require two processes, one expressed 
in W3C schema constraints and an application-level constraint check that 
cannot be expressed using W3C schema.  At the meeting I conjectured that it 
could all be done in W3C schema but only when writing it up did I realize 
that the optional nature of code list values in the instance requires the 
cardinality of the meta-data block to be optional and there are no W3C 
schema co-occurrence constraints to check the presence of two optional 
components.  It was noted at the meeting that one should be able to express 
this constraint in Schematron assertions.

(4) - two ways of declaring the association of supplementary components, 
both of which utilize a generic UBL code-list meta-data declaration 
container as the first child element of the document element, dereference 
the association differently:

(4.1) - the code list meta-data declaration consists of a generic UBL 
element type and a required URI-typed attribute identifying the namespace 
URI of the code list from which a coded value is used in an information 
item with the same namespace URI, and optional attributes for the 
supplementary components

      <in:invoice xmlns:curr="---arbitrary-currency-URI-here"
                  xmlns:in="---UBL invoice--" xmlns:cl="---UBL code list---"
                  ...>
        <cl:meta-data-block>
           <cl:meta-data ns="---arbitrary-currency-URI-here"
                         agency="xxx" version="yyy" .../>
        </cl:meta-data-block>
        ....
        <amount curr:currency="CAD">123</amount>

(4.2) - the code list meta-data declaration consists of an element type 
whose namespace URI matches the namespace URI of the code list from which a 
coded value is used in an information item with the same namespace URI, and 
optional attributes for the supplementary components

      <in:invoice xmlns:curr="---arbitrary-currency-URI-here"
                  xmlns:in="---UBL invoice--" xmlns:cl="---UBL code list---"
                  ...>
        <cl:meta-data-block>
           <curr:meta-data agency="xxx" version="yyy" .../>
        </cl:meta-data-block>
        ....
        <amount curr:currency="CAD">123</amount>

Both 4.1 and 4.2 are naming issues and are orthogonal to the data types and 
other code list schema fragment issues.  Refer to the code list 
requirements documents and other CLSC members for data type issues (that I 
am not familiar with; I'm focused on this naming requirement).

Method 4.1 allows for a single generic declaration of the meta-data block 
and its contents, not requiring when adding one's own custom code list any 
schema changes to the meta-data block (though schema changes are required 
for the custom code list use and probably data type).

Method 4.2 requires changing the schema for the meta-data block when also 
changing the schema for a custom code list.

Out-of-the-box-UBL defines the code list namespace URI strings for all of 
the code lists (and they are arbitrary and need not have namespace URI 
fields) ... but because they are arbitrary, a user can change in the 
instance a code list's supplementary components without any validation they 
are the same supplementary components as out-of-the-box-UBL.

Does this last point mean we've missed the boat (again!) because two 
trading partners can use the same schema and same URIs but change the 
supplementary components in the instance?  Or are business issues covered 
because any changes to the supplementary components are, indeed, in the 
instance and not hidden anywhere?  Stephen, are legal concerns addressed by 
all this?  Or is this a "feature" for the end user of UBL?

.................... Ken

p.s. I'll reiterate again that I'm helping document the discussions this 
week on naming of information items with coded values, but that I am *not* 
the person with which to discuss the latest CLSC paper and issues of data 
types ... I've posted my comments on that to the CLSC list earlier today 
for input into the discussion by the CLSC group

--
US XSL training: Washington,DC March 15; San Francisco,CA March 22
World-wide on-site corporate, government & user group XML training
G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/o/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Breast Cancer Awareness  http://www.CraneSoftwrights.com/o/bc



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