Universal Business Language (UBL)
1.0


2004 Sep 20


The Universal Business Language Technical Committee (UBL TC) has released the 1.0 Committee-Draft version in 2004 Sep for implementation trials and reviews (also known as UBL 1.0-cd2). Incorporating wide range of review comments, inputs from e.Gov, RosettaNet and OAG/UNCEFACT, the TC revised the models and datatypes thoroughly, resulting in a highly polished form of schema set that is currently undergoing the due process to become an OASIS Standard.

The corresponding UBLish that generates UBL 1.0-cd2 schemas based on UBL 1.0-cd2 spreadsheet models will soon be made available. The new version, UBLish v1.0.10, has been completed and is undergoing final packaging for release soon.

There are a number of new features incorporated that allows UBLish users to work on generating customized schemas based on UBL-like schema generation processes. In using UBLish to customize schemas, the relevant naming and design rules would then be automatically incorporated in various applicable parts of the generated schemas. This helps in reducing the amount of work involved in producing the schemas, and allows UBLish users to focus on the data modeling processes.

The schemas and instances generated by UBLish v1.0.10 can be found in this page, or by clicking here . When these schemas are compared to those found in UBL 1.0-cd2 package, there are some discrepancies and problems detected and reported in http://lists.oasis-open.org/archives/ubl-dev/200409/msg00056.html .


Background on UBLish

The UBL TC uses the UBL inter-schema helper (UBLish) as an integration and schema generation tool during their development of UBL 1.0-beta schemas. The UBL TC was then given a boost in terms of cutting down tremendously the turn-around time between a change in the model spreadsheets and the resulting change in the schemas that ought to mirror the spreadsheets' inputs. Developed by SoftML, UBLish relieves UBL standards workers from the myriads of details associated with the verification and assembly of multiple sources of inputs into producing XML schemas.

The task of incorporating Naming and Design Rule requirements, implementation of code list references, and inclusion of Core Component Types that are implemented using UBL-edited schemas has now gone into the UBLish engine, which expeditiously integrates these desparate sources of inputs, verifies them on-the-fly, and churns out readily usable XML schemas that conform to UBL standard requirements.

As a result of using UBLish, the UBL TC had:

  • much more time for modeling instead of manual schema tweaking,
  • near-interactive feel of how the schema would look like,
  • highly reliable generated schemas that would parse and validate with all well-known schema validators,
  • no referential worries about code list or inter-schema cross-references,
And, the 1.0-beta was completed ahead of schedule.
Background on UBL

UBL uses XML and related technologies to elevate the level of interoperability and common digital understanding among electronic business entities. This major effort is spearheaded by well-known XML Architect, Jon Bosak from Sun Microsystem, and joined by a number of multi-national corporates and individual members of the Organisation for the Advancement of Structured Information Standards (OASIS) in the UBL Technical Committee (TC).

The effort has gained international momentum lately, thanks to its harmonisation and synchronization efforts with other major international standards bodies and major industrial verticals that are using XML. The UBL TC establishes liaison work with other organisations through its Liaison Sub-Committee (LSC) , which is also chaired by Jon Bosak. Already, it has built links with organisations such as

just to name some.
Software Utilities

The software scripts and utilities below are authored by SoftML or staff of SoftML in support of UBL's efforts. All information entities here are to be used on an AS-IS basis without warranty whatsoever.

8 Document Types

The official document types acknowledged and developed by UBL TC, and which are also generated by UBLish, are as follow:

  • Despatch Advice
  • Invoice
  • Order
  • Order Acknowledgement
  • Order Cancellation
  • Order Response (Complex)
  • Order Response (Simple)
  • Receipt Advice

Other components being included in the UBLish schema generation process are:

  • Reusable Types (both Common Aggregate Components and Common Basic Components)
  • Unspecialized Types
  • Specialized (Non-Code-List) Types
  • Specialized (Code-List) Types
  • Core Component Types
  • Common Core Parameters
  • Naming and Design Rules

The Code List schema files were managed via a Code List Catalogue in UBLish v1.0b.10. In the new UBLish v1.0.10 (without the 'b'), code list schema files will be generated from Specialized Datatype spreadsheet. UBL TC has organized both Code List and Non-Code-List specialized datatypes together within the Specialized Datatype spreadsheet. So in UBLish v1.0.10, we're looking at a similar processing model to synchronize schema generation.

The Common Core Parameters schema file was manually edited during UBLish v1.0b.10. In UBLish v1.0.10 (without the 'b') which generates UBL 1.0 schemas, the Common Core Parameters schema file is being automated and generated. This produces much more consistent layout and ensures that errors, if any, become systematic and manageable instead of time-consuming sporadic occurrences resulting from human errors.


Sample Schemas and Instances for UBL 1.0-cd2 (2004 Sep release) Generated by UBLish
(2004 Sep 08)


Using UBLish v1.0.10, a set of UBL 1.0-cd2 schemas and sample instances are generated for each UBL 1.0-cd2 model spreadsheet. The schemas are transformed directly from UBL 1.0-cd2 model spreadsheets without intermediate steps, generating schemas that reflect completely the model values stored in spreadsheets. When compared to the corresponding schemas found in UBL 1.0-cd2 package, the discrepancies between UBL 1.0-cd2 spreadsheets and schemas were revealed.

For the set of schemas found here generated by UBLish v1.0.10, the values and constituent data are taken from the model spreadsheets with the assumption that the model spreadsheets are correct.

The instance documents basically "span" all the fields, filling each leaf element with a random value casted to the proper XML Schema scalar type. Thus, each document "touches" each and every defined element in the schema at least once, and is therefore useful in pitching against other UBL schema validators to see if all the fields are validated.

Note, however, that just one set of instance document cannot be a conclusive compatibility or qualifying test for correctness nor accuracy. In addition, there is no semantic correctness built into these random samples. In other words, certain fields that ought to have values dependent or calculated based on other fields would not manifest such relationships. For example, the total amount of all the line items should be the sum of each amount of each line item. But because random values are used, such summation relationship will not exist in these random samples.

All this set of random documents provides is a sample in the UBL instance space for a candidate UBL schema validator to work on, and potentially revealing some shortcomings of the validator. Another use for these random documents on the qualitative side will be to provide a visual hint on how each UBL document would look like when filled with data.

A brief note on how the samples are generated: Each schema is used as a template to fill in the relevant types and random scalar data values. For elements with minOccurs and/or maxOccurs, the generated sample contains 1 occurrence regardless. For schemas that invoked some types that resulted in chain infinite recursion, the recursion truncation method used is to truncate on first detection of type recursion. Any attribute values are skipped.

Below this, we list the schemas and randomly filled instances for your browsing.

UBL 1.0-cd2 generated by UBLish v1.0.10
Main Document Schemas & Instances
Document Type Schema Instance
Despatch Advice Schema Instance
Invoice Schema Instance
Order Schema Instance
Order Cancellation Schema Instance
Order Change Schema Instance
Order Response Schema Instance
Order Response Simple Schema Instance
Receipt Advice Schema Instance
Common Schemas
Common Aggregate Components Schema
Common Basic Components Schema
Core Component Parameters Schema
Core Component Types Schema
SpecializedDatatypes Schema
UnspecializedDatatypes Schema
Code List Schemas
Acknowledgement Response Code Schema
Allowance Charge Reason Code Schema
Channel Code Schema
Chip Code Schema
Country Identification Code Schema
Currency Code Schema
Document Status Code Schema
Latitude Direction Code Schema
Line Status Code Schema
Longitude Direction Code Schema
Operator Code Schema
Payment Means Code Schema
Substitution Status Code Schema


Sample Instance for UBL 1.0cd Generated by UBLish
(developed on 2004 May 26,
  published on 2004 Jul 28)


Using UBLish v1.0.10, a set of sample instance documents has been generated for each UBL 1.0cd schema. Below this, we list the entire archive, and each randomly filled sample instance documents for your browsing.

Important Dates
  • 2004 Nov 1-5: UBL TC Plenary Meeting in San Francisco.
  • 2004 Aug 16-20: UBL TC Plenary Meeting in Copenhagen.
  • 2004 May 10-14: UBL TC Plenary Meeting in Hong Kong.
  • 2004 Feb: UBL TC Plenary Meeting in Washington D.C.
  • 2003 Dec 01: UBLish v1.0b.10 Release Announcement
  • 2003 Nov 24 - Nov 28: UBL 1.0-beta Committee Draft Announcement
  • 2003 Nov 03 - Nov 07: UBL TC Plenary Meeting in San Francisco
  • 2003 Jul 31 - Aug 01: UBL TC Plenary Meeting in Montreal
  • 2003 Apr 28 - May 02: UBL TC Plenary Meeting in London
  • 2003 Apr 14: Last day for review comments using template http://www.oasis-open.org/committees/ubl/lcsc/0p70/UBL_Comment-0p1.rtf to be sent to Bill Meadows <bill.meadows@sun.com>, and public comments submission to be sent to ubl-comment@lists.oasis-open.org

Past UBL Release

UBL - 1.0beta Description Page

UBL - 0p70 Description Page

UBL 0p70 Release