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] | [Elist Home]

Subject: [ubl-ndrsc] Analysis of supplementary component problem

This discharges an action item I took last week.  Actually, I suspect 
that this should be turned into a position paper, or rather, we should 
merge the elements vs. attributes and facets paper and add this info. 
(Gunther, what do you think?)

Essentially, we face more elements vs. attributes decisions because we 
haven't yet accounted for the supplementary components of supplementary 
components.  For brevity, I'm going to call supplementary components 
SuppComs, and (primary) content components ConComs.

*Problem statement:

According to our existing recommendation, something like the 
AmountCurrency.Identification.Code (a SuppCom of Amount.Type) should be 
an attribute on amount-related leaf elements.  But this currency 
identification info is of Code.Type, which has a slew of its own 
SuppComs.  So there are first-order SuppComms and second-order SuppComs 
in this picture, and XML won't let us put attributes (say, the 
second-order SuppCom related to the agency that owns the supplied 
currency code) on other attributes (the first-order SuppCom related to 
the currency code of the supplied amount).

*Analysis of the extent of the problem:

You can find the ConComs and SuppComs for all of the core component 
types on page 85 of CCTS V1.8, which is in the analysis input repository 
on the NDR portal:


The document name is:

   Core Components TS Version OnepointEight.pdf

The second-order SuppComs are all of Code.Type, Identifier.Type, 
Text.Type, and UniformResourceIdentifier (huh?).  Of course, these 
*.Types have their own third-order SuppComs, and so on.  Luckily, 
however, Text.Type seems to bottom out at second-order, so the problem 
is really mostly with Code.Type and Identifier.Type.  (And who knows, 
maybe these will be combined in some future version of the CCTS. :-)

*A brief outline of some options:

1. Rescind our elem vs. att decision and make everything be elements
    Pro: elegant
    Con: extremely verbose

2. Add nth-order SuppCom attributes onto leaf elements
    Pro: compact
    Con: is it even practical? it would never bottom out

3. Fix the values of all the second-order SuppComs and forbid them
    from being supplied

    Pro: elegant
    Con: is it even possible?

3. Do a case-by-case analysis and design of each CCT, using subelements,
    additional attributes, and fixed and default values as desired

    Pro: tuned
    Con: time-consuming (though design patterns will likely pop up)

An additional complication is that we know the CCTS is incomplete; there 
are some useful supplementary components missing, such as the "code list 
from which the agency identifier of a code came", and probably also 
whole CCTs.

I suspect that option #3 is the one we'll have to pick, and we will 
probably have to consult with the LC SC in order to do it right 
(particularly around default/fixed things).  I fear that we'll also have 
to do some debugging of the original CCTs along the way.



Eve Maler                                    +1 781 442 3190
Sun Microsystems XML Technology Center   eve.maler @ sun.com

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

Powered by eList eXpress LLC