[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: UBL 1.0 (cd) release inconsistencies and errors
Dear UBL members, Thank you for your good work in producing UBL 1.0(cd). I've gone through most parts of the model spreadsheets and the generated/edited schemas, and have found the following discrepancies, inconsistencies and errors. Some are somewhat major, and others are less serious. Some of them are also not detectable by just looking at the generated schemas alone; they appear when compared with the spreadsheet models. In hoping to make UBL a better release, I would hope the list of suggested corrections I've attached below could be either implemented, or responded to (not just to me), before the (cd) version gets promoted to the next round. I'm concerned that if the inconsistencies are not ironed out, spreading instances will make it difficult for future backward-compatible migration of schemas. I'm sure others would also like to know which is the right value: the spreadsheet's value or the schema's value, when discrepancies occur between them. Thanks. Best Regards, Chin Chee-Kai SoftML Tel: +65-6820-2979 Fax: +65-6743-7875 Email: cheekai@SoftML.Net http://SoftML.Net/ (Sorry if someone on the list is going to tell me that this belongs to UBL-Comment list... I suspect so, but have been reminded again and again lately to send to UBL-Dev instead. So here it is...) -------------------------------------------------------------------- In CommonAggregateComponents (Spreadsheet & Schema) =================================================== In "OrderLineType", the model spreadsheet has values on left, and schema has generated values on right: SellerProposedSubstituteLineItem --> SellerProposedLineItem BuyerProposedSubstituteLineItem --> BuyerProposedLineItem In "TransportHandlingUnitType": HandlingUnitDespatchLine --> DespatchLine (and because DespatchLine is already defined, there is no definition for this element at all) ReceivedHandlingUnitReceiptLine --> ReceivedReceiptLine The schema values should be corrected to those of spreadsheet's. Sorting of the list of elements should be on case-sensitive basis, since XML is case-sensitive. For example, the current listing has this segment: <!-- UBL 1.0 release currently sorts WITHOUT case-sensitivity --> <xsd:element name="OrderContact" type="ContactType" /> <xsd:element name="OrderedItemIdentification" type="ItemIdentificationType" /> <xsd:element name="OrderedShipment" type="OrderedShipmentType" /> <xsd:element name="OrderLine" type="OrderLineType" /> <xsd:element name="OrderLineReference" type="OrderLineReferenceType" /> <xsd:element name="OrderReference" type="OrderReferenceType" /> The properly sorted listing should be: <!-- Proper sorting WITH case-sensitivity --> <xsd:element name="OrderContact" type="ContactType" /> <xsd:element name="OrderLine" type="OrderLineType" /> <xsd:element name="OrderLineReference" type="OrderLineReferenceType" /> <xsd:element name="OrderReference" type="OrderReferenceType" /> <xsd:element name="OrderedItemIdentification" type="ItemIdentificationType" /> <xsd:element name="OrderedShipment" type="OrderedShipmentType" /> In CommonAggregateComponents (Schema) ===================================== In "ExchangeRateType", the element "OperatorCode" ought to have been defined as 'type="opr:OperatorCodeType"' because this is the specific code type to be used for this element. The release schema uses 'type="udt:CodeType"', which is a much looser type choice, and is not consistent with use of code lists within the other type definitions. In fact, this reference to "OperatorCodeType" appears to be the only place in CommonAggregateComponents that uses this type definition. Because of this switch to "udt:CodeType", the UBL 1.0 release CommonAggregateComponents schema did not find the use of the code list file "UBL-CodeList-OperatorCode-1.0.xsd" and so has not included in the <xsd:import> list. Aside: The complexType collection in CommonAggregateComponents altogether uses 12 out of 13 code lists provided in the UBL 1.0 release package. The only code list that it does not use is the AcknowledgementResponseCode defined in "UBL-CodeList-AcknowledgementResponseCode-1.0.xsd". This is used in "Order" schema. So, we should see imports of 12 code lists instead of the current 11 code list imports within CommonAggregateComponents schema. In CommonBasicComponents (Spreadsheet & Schema) =============================================== In ABIE "OrderReference" (OrderReferenceType in schema), there are references to elements "DocumentDocumentStatusCode" and "IssueIssueDateDate" in the spreadsheet, but they are somehow magically corrected in the schema (becoming "DocumentStatusCode" and "IssueDate" respectively). The spreadsheet's column "UBL Name" (Column A) for rows 274 and 275 should be corrected accordingly. In CommonBasicComponents (Schema) ================================= There is no reference to element name "CurrencyBaseRate" from spreadsheet or CommonAggregateComponents, although it is being defined in CommonBasicComponents. A couple of other elements of the same unused nature are also found. The list is as follows: CurrencyBaseRate DateTime DeliveryDateTime DiscountPercent ExtensionAmount ExtensionTotalAmount Indicator Instructions Location Mail MaterialIndicator PaymentDate ReasonSurchargePercent Terms TotalAmount UnitBaseRate VolumeMeasure WeightMeasure Zone These should be better removed from the CommonBasicComponents schema. They have not been mandated by nor referred to in CommonAggregateComponents (or its corresponding spreadsheet model), and so shouldn't be defined in CommonBasicComponents. In SpecializedDatatypes (Spreadsheet) ===================================== In "AcknowledgementResponseCode", both the rows for "Content" and "Name" have " = OrderAcknowledgementCode.txt" in the "Values" column (Column S). This is deviation from filename following the specialized codelist name. The proper value for "Values" should be " = AcknowledgementResponseCode.txt" In "PaymentMeansCode", both the rows for "Content" and "Name" have " = PaymentMeansTypeCode.txt" in the "Values" column (Column S). This is deviation from filename following the specialized codelist name. The proper value for "Values" should be " = PaymentMeansCode.txt" For "UBLAmountType", the schema has an attribute 'fixed="0.3"' but this "0.3" value is no where to be found in the SpecializedDatatypes spreadsheet, making maintenance and documentation difficult later on. The proper resolution would be to fill in the value "0.3" into the spreadsheet's "Value" column (Column S) at row 187. In UnspecializedDatatypes (Spreadsheet & Schema) ================================================ In "BinaryObjectType", the spreadsheet defines only 1 attribute named "mimeCode". The schema, however, shows a completely different attribute named "characterSetCode". The schema should be corrected to reflect what is defined in the spreadsheet model, with only 1 attribute named as "mimeCode". In "CodeType", the definition text appears to have some stray wordings: <ccts:Definition> A character string (letters, figures or symbols) that for brevity and/or language independence may be used to represent or replace a definitive value or text of an Attribute together with relevant supplementary information. Date Time. Type Identifier. Ty </ccts:Definition> The trailing " Date Time. Type Identifier. Ty" should not occur in schema. Also, the attribute definitions found in the spreadsheet for "CodeListUniformResourceID" and "CodeListSchemeUniformResourceID" got translated to "codeListURI" and "codeListSchemeURI". These should have been translated to "codeListUniformResourceID" and "codeListSchemeUniformResourceID" respectively. In CoreComponentTypes ======================= In "BinaryObjectType", the spreadsheet defines "UniformResourceID" as attribute name. The release schema has "URI". This should have been translated to "uniformResourceID". In "CodeType", the spreadsheet defines "CodeListUniformResourceID" and "CodeListSchemeUniformResourceID" as attribute names. The release schema has "codeListURI" and "codeListSchemeURI". These should have been translated to "codeListUniformResourceID" and "codeListSchemeUniformResourceID" respectively. In "IdentifierType", the spreadsheet defines "IdentificationSchemeUniformResourceID" and "IdentificationSchemeDataUniformResourceID" as attribute names. The release schema has "identificationSchemeURI" and "identificationSchemeDataURI" respectively. These should have been translated to "identificationSchemeUniformResourceID" and "identificationSchemeDataUniformResourceID" respectively. --------------------------------------------------------------------
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]