[ubl-lcsc] RE: [ubl-ndrsc] Actual version of UBL library as well asthe perl script

From
Burcham, Bill <>
Date
2003-01-22T14:43:19+00:00
ID
Thread
[ubl-lcsc] RE: [ubl-ndrsc] Actual version of UBL library as well asthe perl script
Title: Message

A few 
problems I see with the new schemas.  I'm looking at "reusable" now... 

 

1. 
Many of the globally defined elements are still carrying the misleading 
annotation. This was the problem Tim was trying to fix with last 
Friday's (long tag names) release. For instance, the (global) 
CompanyRegistrationID element carries the documentation from "Party Tax 
Scheme.Company Registration.Identifier".  The documentation annotation on 
the element should be empty.  Note that the element that ref's this one is 
documented correctly -- see the definition of 
'PartyTaxSchemeType'.

 

2. 
It's a bit hard to see this one, and it's more of a fine point -- not a 
showstopper but the schema is defining global elements that are never 
used (ref'ed).  For instance AccountsContact is defined but never 
ref'ed.  I believe this is because the Perl is (correctly) following rule 
R9 from NDR (R9 says you've got to gen one global element for each complex 
type).  It seems to me now that R9 is superfluous.  R13 on its own 
necessitates local elements ref'ing global elements.  R13 specifies a 
_sufficient_ set of element declarations.  R9 prescribes extra ones.  
Again, look at AccountsContact: R9 says we have to have an element defined for 
it (alias)... but it's never used in any content model.  Who is to say that 
when/if it is used in some content model -- possibly by a document schema like 
Order, that the property term will be 'AccountsContact'?  I move for doing 
away with R9, adding a little text to R13 to make it explicit that we need to 
create the ref'ed element declaration and changing the Perl at some point in the 
future to reflect the changes.

 

Now 
for some fun statistics on Gunther's latest schemas.  I'm looking just 
at the "reusable" schema:

 

count(//xsd:complexType) that is the number of complex types 91.  To 
this number we should add the 15 CCTs giving a total of 
106.

count(//xsd:element[count(@ref) = 0]) that is the number of globally 
defined elements: 275

count(//xsd:element[@ref]) that is the number of local elements 
ref'ing globally defined ones: 570

 

So the 
average complex type is used 275/106 = 2.6 semantically distinct ways.  
That is, on average each complex type (structure) has about 3 different 
"meanings".  The distribution is skewed though.  Each ABIE 
had exactly on element defined in terms of it, whereas the typical CCT 
might have many (e.g. cct:IdentifierType has about 20 element defined in terms 
of it).  There's more "aliasing" of the more "primitive" 
types.

 

The 
average element is used (ref'ed) at 570/275 = 2.1 places in the 
vocabulary.  This is the central result of the latest script 
revisions.  Yesterday that number was 1, today it's 2.1.  To my mind 
this could be interpreted as: a user of the UBL vocabulary has half as many 
names to learn and remember.  

  

  
-----Original Message-----
From: Stuhec, Gunther 
  [mailto:] 
Sent: Wednesday, January 22, 2003 
  6:44 AM
To: UBL-LCSC (); 
  
Subject: [ubl-ndrsc] Actual version 
  of UBL library as well as the perl script

  
Hello all, 

  
I apologize that I'm a little bit late. But fixed 
  some another bugs within the perl script. That needed a little bit more time. 
  Now, I generated with the modified and bug fixed perl script the libraries as 
  discussed. 

  
--> I deleted "Details" from each aggregate. 
  
--> The namespaces are according our 
  conventions. 

  
Kind regards, 

  
        Gunther 

  
<<baseline_21-01-03.zip>>