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] New code list issues


Having described the code list recommendations to several people/groups 
over the last couple of weeks, I'm realizing that it has some features 
that we may want to rethink.  Does anyone have thoughts on the 
following?  If we agree to make code lists a high-priority item to 
polish in the next couple of months, we'll want to consider these:

*The need for attributes for the supplementary components

If we were to *require* a new namespace for each backwards-incompatible 
version of a code list schema module (while still requiring embedded 
documentation for its supplementary component values), in practice I 
don't know who's going to really make use of any fixed/default 
attributes on the inner code element containing the supplementary 
component information.  Developers will simply build support for that 
namespace and won't want to examine the attributes one by one.

So, for example, instead of this (where the attributes shown might be 
fixed, and thus don't have to appear in the instance but are still known 
to the parser and any downstream applications):

     <ISO3166CountryCode
       ID="3166"
       agencyID="ISO" ...>
     US
     </ISO3166CountryCode>

We'd just have this (where the knowledge that this element is of 
iso3166:CountryCodeType is all that matters):

     <ISO3166CountryCode>US</ISO3166CountryCode>

There are no attributes to trigger processing on, but you don't really 
need them because the element is still self-describing.  This would 
lower our "semantic clarity" score somewhat because the metadata isn't 
directly addressible by XML means; is that a problem in practice?  It 
would certainly simplify the guidelines we want code list agencies to 
follow.

*Whether to encourage/require foreign inner code elements

We still have our "local unqualified elements" decision on record, which 
is why we're mapping foreign code types to our own UBL-native inner code 
elements.  But our guiding principles do allow us to use foreign 
namespaces if we're careful, and I think it would be nice and clean to 
use <iso3166:CountryCode> if that's the element the UN/ECE folks offer 
the world.

So we'd have namespaced elements like this inside UBL:

     <iso3166:CountryCode>US</iso3166:CountryCode>

This has the advantage of indicating clearly, in the instance, that the 
semantics of this element come from elsewhere.  With our native element 
(see the section above for an example), there's no indication in the 
instance that we're using somebody else's stuff, unless we make a 
practice of trivially using xsi:type:

     <ISO3166CountryCode>US</ISO3166CountryCode>

     vs.

     <ISO3166CountryCode
       xsi:type="iso3166:CountryCodeType">
     US
     </ISO3166CountryCode>

*Inner vs. outer code elements

Our current design has an outer "generic" code element with a content 
model involving one or more options for specific code elements:

     <CountryCode>
       <ISO3166CountryCode>US</ISO3166CountryCode>
     </CountryCode>

The outer generic element is what gets the real dictionary entry 
explaining the code BIE, while the inner specific element(s) are mere 
mechanism.  (We haven't even figured out yet how to do this in the 
spreadsheets...)  However, I observe that XML allows you to do away with 
the outer element entirely, and embed whatever content model that 
element's type would have had into the parent object class, such as 
Address.  Is this a good idea?

	Eve

-- 
Eve Maler                                        +1 781 442 3190
Sun Microsystems                            cell +1 781 883 5917
XML Web Services / Industry Initiatives      eve.maler @ sun.com



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


Powered by eList eXpress LLC