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: Urgent: problems with Candidate Release 1 of spreadsheets

Hello all,

One way I have been working with the Candidate Release 1 of the UBL 
2.1 artefacts is by producing some of Crane's HTML reports.  In doing 
so today, I tripped over an important fault in the spreadsheets that 
needs to be repaired on Wednesday.  Since these were missed in the 
model checker, I added a programmatic check of the model for each 
issue, and I found other occurrences.

First, my stylesheets tripped over the mismatch of the DEN to the 
property term in the common library:

  Line 1197: "Party. Power Of Attorney" has the property term
             "Power of Attorney" which should be "Power Of Attorney"

So, I checked all mismatches of the Dictionary Entry Name with the 
rules for DEN construction and I found these other problems:

  Line 1660: "Stock Availability Report Line. Note" must be:
             "Stock Availability Report Line. Note. Text"
  Line 2069: "Transport Status. Reliability Percent" must be:
             "Transport Status. Reliability Percent. Percent"

Since line 1197 ended up with the UBL name "PowerofAttorney", which 
violates the UpperCamelCase rule because all property term parts must 
be in uppercase, I added a test for that and found this as well:

  Line 701: ConsumerlncentiveTacticeTypeCode
            (this one is interesting because in the sans serif OpenOffice
             font the lower case "L" in "lncentive" looks like an upper-case
             "I" ... but the possessive noun breaks the "uppercase on every
             part of the term" in "Consumer lncentive Tactic Type" so it was
             caught by the new tests)

So the following seven changes must be made to the spreadsheets on Wednesday:

   Line  701: "Incentive" (columns F, H)
   Line 1197: "Power Of Attorney" (columns H, I, M)
   Line 1660: "Stock Availability Report Line. Note. Text" (column B)
   Line 2069: "Transport Status. Reliability Percent. Percent" (column B)

... and I see these as show stoppers because we aren't adding 
anything new, we are just fixing what is broken (and people who work 
with the spreadsheets as I am will trip over the problems).

BTW, Fulya, I thought column B was generated and not entered as data 
... are the last two problems evidence of a column value generation problem?

Last, I think an ABIE construction rule (is this written or 
unwritten?) may have been violated a number of times, and I want to 
discuss this during Wednesday's call in to the face-to-face.  My 
understanding was that:

(1) - for some text BBIEs it is acceptable to have a cardinality greater than
       one in order to accommodate, say, different languages for a given
       note in text (the cardinality is not for paragraphs, but for
       multiple versions of the same note) ... I've assumed this is acceptable
       for "Note" and "Description" BBIEs

(2) - for all other BBIEs when we need a cardinality of greater than one
       the rule is to create an ABIE with the BBIE mandatory in it and
       necessary cardinality in the ASBIE for the ABIE

... of course if my understanding is wrong, then the incorrectness of 
what follows is drawn in question.

There are 82 violations of (2) in the spreadsheet, 29 old ones in UBL 
2.0 which, because of backward compatibility, cannot be changed, and 
53 new ones in UBL 2.1 which we do have the opportunity to change and 
get correct ... the questions for each of the 53 cases are:

(a) - is the cardinality of greater than one appropriate for the BBIE?

(b) - if it has to be changed does it have to be changed in PRD1?

I'm inclined to fix this last issue in PRD2 just because there are so 
many to confirm and we want to get schemas produced as soon as possible.

Tim, can you please confirm if I've remembered this cardinality issue 
correctly?  The exemplar is that Address Line is an ASBIE to an ABIE 
of one line because I thought we couldn't have repeated cardinality 
on an address line BBIE.

Also, Tim, could you please confirm that the cardinality on notes is 
not for accommodating multiple paragraphs or multiple notes but for 
accommodating multiple representations of the same set of notes, as 
in multiple languages distinguished by the languageID= attribute?  I 
know that some members (including myself) originally thought that the 
cardinality of 0..n on cbc:Note provided for multiple different 
notes, and I just wanted to make sure I didn't get mixed up in my 
understanding along the way.

With that in mind, perhaps the cardinality on items like instructions 
is the same:  "0..n" is for multiple languages of the one set of 
instructions, and that if I have three instructions I put them all in 
one instruction element.  To extend this to the Address Line example, 
if we want to model multiple instructions, then we have to use an 
ASBIE to a one-item ABIE with a "1..n" BBIE where each ASBIE is an 
instruction and each BBIE is a language variant of that instruction.

I don't know if this rule is in the NDR, or if it is that it is well 
known given the intuition to put cardinality on an item when we want 
many of them, not realizing it means in UBL many variants of one.  I 
suspect many of the new constructs were not modeled with this in 
mind.  Mavis, can you please check the NDR for this?

Below is the latest model check report that incorporates the new 
tests from today.

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

p.s. members awaiting my work on digital signatures will need to wait 
because these problems took up most of my available time today

Renamed old DENs in new model: 17
Application Response. Version Identifier. Identifier: Application 
Response. Version. Identifier
Certificate Of Origin. Version Identifier. Identifier: Certificate Of 
Origin. Version. Identifier
Item Comparison. Price. Amount: Item Comparison. Price Amount. Amount
Monetary Total. Allowance Total Amount. Amount: Monetary Total. 
Allowance_ Total Amount. Amount
Monetary Total. Charge Total Amount. Amount: Monetary Total. Charge_ 
Total Amount. Amount
Order Change. Customer Reference. Text: Order Change. Customer_ Reference. Text
Order Change. Sales Order Identifier. Identifier: Order Change. 
Sales_ Order Identifier. Identifier
Order Change. Sequence_ Number. Identifier: Order Change. Sequence 
Number. Identifier
Order Reference. Sales Order Identifier. Identifier: Order Reference. 
Sales_ Order Identifier. Identifier
Order Response. Customer Reference. Text: Order Response. Customer_ 
Reference. Text
Order Response. Sales Order Identifier. Identifier: Order Response. 
Sales_ Order Identifier. Identifier
Order. Customer Reference. Text: Order. Customer_ Reference. Text
Order. Sales Order Identifier. Identifier: Order. Sales_ Order 
Identifier. Identifier
Packing List. Version Identifier. Identifier: Packing List. Version. Identifier
Receipt Line. Oversupply Quantity. Quantity: Receipt Line. 
Oversupply_ Quantity. Quantity
Signature. Validator Identifier. Identifier: Signature. Validator. Identifier
Status. Sequence. Identifier: Status. Sequence Identifier. Identifier

Bad code type property terms: 0

Duplicated class/qualifier/property terms: 0

Bad name components: 0

Bad property terms: 0

Bad representation terms: 0

Bad dictionary entry names: 3
"Party. Power Of Attorney": Party. Power of Attorney
"Stock Availability Report Line. Note": Stock Availability Report 
Line. Note. Text
"Transport Status. Reliability Percent": Transport Status. 
Reliability Percent. Percent

Bad name values (GNR8): 5
"Event Tactic Enumeration. Consumer lncentive Tactic Type Code. Code" 
- PropertyTermPossessiveNoun:  "Consumer lncentive Tactic Type":
"Event Tactic Enumeration. Consumer lncentive Tactic Type Code. Code" 
- PropertyTerm:  "Consumer lncentive Tactic Type Code":
"Party. Power Of Attorney" - PropertyTerm:  "Power of Attorney":
"Party. Power Of Attorney" - RepresentationTerm:  "Power of Attorney":
"Party. Power Of Attorney" - AssociatedObjectClass:  "Power of Attorney":

Mismatched name components for UBL Name: 0

Orphaned ABIEs not being referenced by an ASBIE: 0

Qualified ABIEs:  0

Qualified ASBIEs:  0

Duplicate UBL Names for the same ABIE type: 0

Missing old Data Type Qualifications in new model: 1
"Status. Condition Code. Code" old="Transportation Status" new=""

Missing new Data Type Qualifications in new data types: 0

Cardinalities found in error: 0

Sequences found in error (by DEN): 0

Sequences found in error (by name): 0

ASBIEs found in error: 0

Cardinalities found on non-Description or non-Note BBIEs: 82 (29 old; 53 new)
"Awarding Criteria. Calculation Expression. Text" (new): 0..n
"Awarding Criteria. Minimum Improvement Bid. Text" (new): 0..n
"Awarding Criteria. Weight. Text" (new): 0..n
"Bill Of Lading. Other_ Instruction. Text" (old): 0..n
"Budget Amount. Monetary Scope. Text" (new): 0..n
"Capability. Evidence Supplied. Identifier" (new): 0..n
"Catalogue Line. Warranty_ Information. Text" (old): 0..n
"Consignment. Delivery_ Instructions. Text" (new): 0..n
"Consignment. Haulage_ Instructions. Text" (new): 0..n
"Consignment. Remarks. Text" (old): 0..n
"Consignment. Special_ Instructions. Text" (new): 0..n
"Consignment. Tariff Description. Text" (old): 0..n
"Contract Execution Requirement. Name" (new): 0..n
"Contract Extension. Options Description. Text" (new): 0..n
"Contracting Party. Activity Code. Code" (new): 0..n
"Customer Party. Additional_ Account Identifier. Identifier" (old): 0..n
"Declaration. Evidence Supplied. Identifier" (new): 0..n
"Declaration. Name" (new): 0..n
"Document Reference. XPath. Text" (old): 0..n
"Endorsement. Remarks. Text" (old): 0..n
"Evaluation Criteria. Expression Code. Code" (new): 0..n
"Evidence. Name" (new): 0..n
"Exception Criteria Line. Resolution Code. Code" (new): 0..n
"External Reference. Hash Algorithm Method. Text" (new): 0..n
"Forwarding Instructions. Other_ Instruction. Text" (old): 0..n
"Framework Agreement. Frequency. Text" (new): 0..n
"Framework Agreement. Justification. Text" (new): 0..n
"Guarantee Certificate. Purpose. Text" (new): 0..n
"Item Location Quantity. Trading Restrictions. Text" (old): 0..n
"Item Property. Value Qualifier. Text" (new): 0..n
"Item Property. Value. Text" (old): 0..n
"Item. Brand Name. Name" (old): 0..n
"Item. Keyword. Text" (old): 0..n
"Item. Model Name. Name" (old): 0..n
"Package. Packing Material. Text" (old): 0..n
"Payment Mandate. Clause Code. Code" (new): 0..n
"Payment Mandate. Clause. Text" (new): 0..n
"Payment Means. Payment Identifier. Identifier" (old): 0..n
"Payment Terms. Payment Means Identifier. Identifier" (old): 0..n
"Period. Description Code. Code" (old): 0..n
"Price. Price Change_ Reason. Text" (old): 0..n
"Process Justification. Reason. Text" (new): 0..n
"Procurement Project. Name" (new): 1..n
"Qualification Resolution. Exclusion Reason. Text" (new): 0..n
"Qualification Resolution. Resolution. Text" (new): 0..n
"Qualifying Party. Personal Situation. Text" (new): 0..n
"Regulation. Name" (new): 1..n
"Service Provider Party. Service Type. Text" (new): 0..n
"Shipment. Delivery_ Instructions. Text" (old): 0..n
"Shipment. Special_ Instructions. Text" (old): 0..n
"Status. Condition Value. Measure" (new): 0..n
"Status. Status_ Reason. Text" (old): 0..n
"Status. Text" (old): 0..n
"Stowage. Location. Text" (old): 0..n
"Supplier Party. Additional_ Account Identifier. Identifier" (old): 0..n
"Tender Line. Orderable_ Unit. Text" (new): 0..n
"Tender Line. Warranty_ Information. Text" (new): 0..n
"Tender Preparation. Procurement Project Lot. Identifier" (new): 0..n
"Tender Receipt. Contract Name. Text" (new): 0..n
"Tender Requirement. Name" (new): 0..n
"Tender. Contract Name. Text" (new): 0..n
"Tenderer Party Qualification. Interested Procurement Lots 
Identifier. Identifier" (new): 0..n
"Tenderer Qualification Request. Legal Form. Text" (new): 0..n
"Tenderer Qualification Request. Personal Situation. Text" (new): 0..n
"Tenderer Qualification Response. Contract Name. Text" (new): 0..n
"Tenderer Requirement. Name" (new): 0..n
"Tendering Terms. Funding_ Program. Text" (new): 0..n
"Tendering Terms. Penalty Clauses. Text" (new): 0..n
"Tendering Terms. Price Revision_ Formula Description. Text" (new): 0..n
"Trade Financing. Clause Code. Code" (new): 0..n
"Trade Financing. Clause. Text" (new): 0..n
"Trading Terms. Information. Text" (old): 0..n
"Transport Execution Plan. Transport Service Provider_ Remarks. Text" 
(new): 0..n
"Transport Execution Plan. Transport User_ Remarks. Text" (new): 0..n
"Transport Execution Terms. Change Conditions. Text" (new): 0..n
"Transport Execution Terms. Transport Service Provider_ Special 
Terms. Text" (new): 0..n
"Transport Execution Terms. Transport User_ Special Terms. Text" (new): 0..n
"Transport Handling Unit. Damage_ Remarks. Text" (old): 0..n
"Transport Handling Unit. Shipping_ Marks. Text" (old): 0..n
"Transport Means. Registration_ Nationality. Text" (old): 0..n
"Transport Status. Remarks. Text" (new): 0..n
"Waybill. Other_ Instruction. Text" (old): 0..n

XSLT/XQuery training:   after http://XMLPrague.cz 2011-03-28/04-01
Vote for your XML training:   http://www.CraneSoftwrights.com/o/i/
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/o/
G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/o/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

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