UBL inter-schema helper (UBLish) v0p70.10  

Universal Business Language inter-schema helper is an XPS script written to generate UBL 0p70 schema files from a given set of spreadsheets that describe the corresponding schema, and also to reverse the generation process by generating spreadsheet descriptions from a given set of UBL 0p70 schema files.

Current version is 0p70.10.






Downloading

The UBLish v0p70.10 XPS application is downloadable at
UBLish v0p70.10





Page Map
Generated Schema Files From UBL 0p70 Spreadsheets

Note that these are schema files generated from the spreadsheets from the UBL 0p70 archive. These schema files are not to be taken as normative. For normative schema files, please refer to the original UBL 0p70 archive.
Generated Spreadsheet Files From UBL 0p70 Schemas

Note that these are spreadsheet files generated from the schema files from the UBL 0p70 archive. These spreadsheet files are not to be taken as normative. Please refer to the original UBL 0p70 archive for reference.

The spreadsheets are generated in "skinny-row" view format. To view the spreadsheets in "fattened-row" view, do the following steps:

  1. First open up the spreadsheets above.
  2. Press the keys "Control-A" to select all the cells.
  3. Move your mouse pointer to any part of the selected cells and RIGHT-click once. A pop-up menu will appear.
  4. Select the item "Format Cells..." from the pop-menu and LEFT-click. A property window will appear, with the tabs "Number", "Alignment", "Font", "Border", "Patterns", "Protection".
  5. Select the tab "Alignment". The "Text alignment", "Text control" and "Orientation" will become visible.
  6. In "Text alignment", select the "Horizontal:" dropdown to "General", and "Vertical:" dropdown to "Top".
  7. In "Text control", select the "Wrap text" checkbox so that it is a fully litted tick, instead of unticked or grayed tick.
  8. Click on "OK" button.
  9. LEFT-click your mouse once to de-select all selections.
You should now see the spreadsheet on a "fattened-row" view.

Installation       [Back To Page Map]

You should first download and install the latest version of eXtensible Programming Script (XPS) v3.2p. At least v3.2p and above is necessary. Once you have installed XPS v3.2p (or above), you can then download and install the UBLish v0p70.10 package by unzipping it anywhere within your PC's harddisk. The UBLish script ("UBLish.xps") is ready to go inside the ./bin/ directory.

In the description that follows, we refer to the sub-directories and files with the assumption of current directory being the top-level directory of the unzipped UBLish archive, and referred to as "./".

You will find the following sub-directories:

./bin/       [Back To Page Map]
This binary directory contains the UBLish application "UBLish.xps" itself. It is an XPS application, which means that you can also look at the content using a text editor. As XPS carries a syntax similar to C or Perl, it would not be too difficult for a programmer familiar with them to read the script, even without prior knowledge of XPS. However, you are not advised to modify the script unless you are perfectly sure what you are doing.

You must have installed XPS with at least version 3.2p or above in order to run UBLish v0p70.10 properly. If you had done that, you should see the files displayed as a little red inverted 3D prism. Once you double-click that, you launch UBLish.

If you don't see the red inverted 3D prism, check that you have installed XPS v3.2p. If you had installed earlier versions of XPS, it is a good idea to uninstall them first before installing v3.2p. To do that, go to

Start -> Control Panel -> Add/Remove Programs
and select the old XPS version to uninstall.



./doc       [Back To Page Map]
This directory contains two sub-directories. The spreadsheet directory "0p70-xls-mod" contains spreadsheets suitable as source files for UBLish's "Spreadsheet-->Schema" generation functions. The schema directory "0p70-xsd" contains schema files suitable to be used as source files for UBLish's "Schema-->Spreadsheet" generation functions.


./doc/0p70-xls-mod       [Back To Page Map]
This contains a list of the 7 document types defined in UBL 0p70's spreadsheet "xls" directory. These files have the same content, except that a few areas where they hinder UBLish from operating properly are fixed. Most notably, they are all removed of macros as no macro was used anyway. Other minor modifications include:

UBL_Library_0p70_Invoice.xls:
In row 1, all 36 columns have trailing column index integers following the column name. Their presence is not in line with the other spreadsheets and so have to be trimmed.

UBL_Library_0p70_OrderResponse.xls:
In row 1, the first 5 columns have trailing column index integers following the column name. Their presence is not in line with the other spreadsheets and so have to be trimmed.

It also appears to have a very large "logical" canvas as shown by the horizontal scrollbar's small size. The large size appears to exceed operating limits in UBLish and so extra unused/invisible columns were trimmed.

UBL_Library_0p70_Reusable.xls:
It appears to have a very large "logical" canvas as shown by the horizontal scrollbar's small size. The large size appears to exceed operating limits in UBLish and so extra unused/invisible columns were trimmed.





./doc/0p70-xsd       [Back To Page Map]
This sub-directory contains a set of the same schema files as stored in the UBL 0p70 archive. This is provided for convenience only. Users should always refer back to the UBL site and UBL 0p70 archive for references.



./etc/       [Back To Page Map]
This contains the initial splash screen graphics bitmap.



./xls-dir/       [Back To Page Map]
This is the spreadsheet output directory used by UBLish to store generated spreadsheets under the "Schema-->Spreadsheet" functions.



./xls-template/       [Back To Page Map]
This sub-directory stores template files required by UBLish to perform "Schema-->Spreadsheet" functions. They should not be opened or modified.



./xsd-dir/       [Back To Page Map]
This is the schema output directory used by UBLish to store generated schema files under the "Schema-->Spreadsheet" functions.

Note that all such functions require a previously generated copy of "Reusable" schema file stored in the schema directory "./xsd-dir/" with the filename "UBL_Library_0p70_Reusable.xsd". If UBLish does not find the Reusable schema file, it will prompt for you to specify the location of either the Reusable schema file stored else where and make a copy, or the Reusable source spreadsheet to generate a Reusable schema automatically.




Spreadsheets (.xls) --> Schemas (.xsd)       [Back To Page Map]

After you have launched the UBLish application, click on "Spreadsheet --> Schema" menu item on the window. You will be prompted with the list of 7 document types to convert, of which you will select one.

Notice that the Reusable document type is not present. UBLish will require the file "UBL_Library_0p70_Reusable.xsd" to be stored in "./xsd-dir". If it doesn't find the file, it will prompt you for a location that points to either a given Reusable schema, or a Reusable spreadsheet.

If a Reusable schema file is given, UBLish copies that file into "./xsd-dir" for future references. Otherwise if a Reusable spreadsheet is given, UBLish will first generate a "UBL_Library_0p70_Reusable.xsd" file stored in "./xsd-dir".

Note that due to the large number of elements found within Reusable, UBLish may take a few minutes to complete the schema generation. You should not be unduly worried if UBLish does not respond for a minutes or so, depending on how fast your PC runs. On a 1.8GHz PC, it will take about 20 seconds to just generate the Reusable schema from spreadsheet.

After the Reusable schema is properly stored in "./xsd-dir", UBLish then proceeds with the schema generation of the desired document type.

Schemas (.xsd) --> Spreadsheets (.xls)       [Back To Page Map]

After you have launched the UBLish application, click on "Schema --> Spreadsheet" menu item on the window. You will be prompted with the list of 7 document types and the Reusable document type to generate.

Select the schema file that belongs to the selected document type. UBLish should proceed quickly to generate the corresponding spreadsheet from the selected schema. The progress bar on the top right of UBLish'es window shows the amount of conversion completed at the moment.

Note that for Reusable document type, the selected Reusable schema instance should be in a directory that contains all the other 7 schema types. Otherwise, UBLish will not be able to fill up the usage columns within Reusable spreadsheet to indicate whether a particular element of data type is being used within the 7 document schemas.

If this should happen, UBLish will first prompt you with the detected missing document schemas that it requires, and gives you an opportunity to decide whether to proceed with the conversion or not. If you do proceed in this situation, the generated Reusable spreadsheet will not have the 7 columns of document usage flags (containing " " blank or "Y") updated properly.