As part of the work at the Manhattan meeting, we had a white-board
discussion regarding the update package's use of directories in
publishing delta information compared to UBL 2.0. The UBL 2.0
directories are up on the UBL repository in
http://docs.oasis-open.org/ubl/os-UBL-2.0/ so when we produce a
http://docs.oasis-open.org/ubl/os-UBL-2.0-update/ directory how can
we point to the original so that only the deltas are found? Doing so
was deemed important because we don't want two "official" copies of,
say, a code list that has not changed.
I captured the white-board discussion in the following notes, where I
ask some questions at the end:
http://lists.oasis-open.org/archives/ubl/200705/msg00005.html
These questions were addressed by the group at the closing plenary:
http://lists.oasis-open.org/archives/ubl/200705/msg00018.html
A summary of how the answers are incorporated in the revised description below
(Q1) - work started late
(Q2) - agreed to release every six months after date of first
release (which is now the update package)
(Q3) - incorporated below, suggesting os-UBL-2.0-update-only.zip
and os-UBL-2.0-update.zip
(Q4) - accepted to have duplicate file names in the update
directory representing a revision to the like-named
(5) - other XSL files are referenced as discussed (but will we get
the business rules from PSC/TSC in time? those are the rules meant to
be expressed by PSC/TSC but not possible to be expressed using XSD)
The following is my interpretation of incorporating those answers
into the original text and how the revised decision of how to deal
with this in the update package will go ... some of the answers have
been coerced to fit into committee decisions made since Manhattan
regarding the update package.
- as new code lists are produced, it makes sense to publish these
lists and their support files as subdirectories of the UBL docs
repository so that at any time a developer can download from the
repository *all* versions of *all* code lists in the UBL history so
that a developer can create their own context/value association files
- it is not necessary to duplicate the publishing of unchanged lists
since all of the subdirectories are in the UBL docs repository
- for any support release of new code lists there will be a new
version of validation XSLT stylesheets (defaultCodeList.xsl and new
XSLT) published so that UBL users can always obtain the latest
default second-pass validation without having to use the methodology to make it
- there is currently a UBL 2.0 code list directory:
http://docs.oasis-open.org/ubl/os-UBL-2.0/cl/
- two of those code list files are the country code list and the
transportation status code list:
http://docs.oasis-open.org/ubl/os-UBL-2.0/cl/gc/default/CountryIdentificationCode-2.0.gc
http://docs.oasis-open.org/ubl/os-UBL-2.0/cl/gc/default/TransportationStatusCode-2.0.gc
- there is a fault in the country identification code list for
Bosnia, so we should publish a repaired version as part of the next update
- when we produce the update package we would have the new code list,
the new context/value association file that overrides the old
context-value association file, and the new resulting
defaultCodeList.xsl and new XSLT files for business rules and
combined code lists and business rules in a revision subdirectory:
http://docs.oasis-open.org/ubl/os-UBL-2.0-update/gc/default/CountryIdentificationCode-2.0.gc
http://docs.oasis-open.org/ubl/os-UBL-2.0-update/gc/defaultCodeList.cva
http://docs.oasis-open.org/ubl/os-UBL-2.0-update/val/defaultCodeList.xsl
http://docs.oasis-open.org/ubl/os-UBL-2.0-update/val/defaultBusinessRules.xsl
http://docs.oasis-open.org/ubl/os-UBL-2.0-update/val/defaultSecondPass.xsl
http://docs.oasis-open.org/ubl/os-UBL-2.0-update/...other.update.directories...
- we would have to include in the update ZIP both the directories
/os-UBL-2.0/ and /os-UBL-2.0-update/ otherwise references in the
update directory would not resolve; users downloading the update ZIP
would have everything they need:
http://docs.oasis-open.org/ubl/os-UBL-2.0-update.zip
- users could just download the delta provided that they mount the
delta directory as a sibling of their already-mounted UBL 2.0
directory with an unchanged directory name:
http://docs.oasis-open.org/ubl/os-UBL-2.0-update-only.zip
- following that date there might be a new transportation status list
(the current version is "Third Revision", the next version we might
want to call "4" to use numbers instead of words for the meta data)
that has new values
- say we decided to publish a new code list support package six
months after the update ... this would again have the required
support files, a new context/value association file that
*supplements* (not overrides) the old context-value association file,
and the new resulting defaultCodeList.xsl in a revision subdirectory:
http://docs.oasis-open.org/ubl/os-UBL-2.0-cl-200807/gc/default/TransportationStatusCode-2.0.gc
http://docs.oasis-open.org/ubl/os-UBL-2.0-cl-200807/gc/defaultCodeList.cva
http://docs.oasis-open.org/ubl/os-UBL-2.0-cl-200807/val/defaultCodeList.xsl
http://docs.oasis-open.org/ubl/os-UBL-2.0-cl-200807/val/defaultBusinessRules.xsl
http://docs.oasis-open.org/ubl/os-UBL-2.0-cl-200807/val/defaultSecondPass.xsl
http://docs.oasis-open.org/ubl/os-UBL-2.0-cl-200807.zip
http://docs.oasis-open.org/ubl/os-UBL-2.0-cl-200807-only.zip
- note that the os-UBL-2.0-cl-200807.zip file would contain the
original and support package directories, such that a developer need
only download the latest ZIP file to get *all* of the code list
directories since the publishing of os-UBL-2.0 ... if a developer
needs to only have the changed files and not all files then
os-UBL-2.0-cl-200807-only.zip would provide this, mimicking the two
ZIPs available for the update package
- UBL 2.1 would also be the same: only new code lists, and any
like-named files in like-named directories override so-named old files
- in the above examples we would not be limited to only changing one
list at a time: any time we publish a new code list dated directory,
it would contain all of the changes for that date
- users wanting the latest XSLT stylesheets just go to the latest
dated "-only.zip" subdirectory and obtain their file ... nothing else
is needed for them to get default second-pass validation
- developers wanting the latest materials to make the latest XSLT
stylesheets would download the latest ZIP file which contains all of
the subdirectories needed
I apologize that it took so long for me to write this up ... I
thought it was a half-day's effort ... I didn't realize how few
changes were needed. This document now becomes the basis of
discussion for how to proceed, having superceded the Manhattan output
documents. Comments welcome!
. . . . . . . . . . . Ken
--
Comprehensive in-depth XSLT2/XSL-FO1.1 classes: Austin TX,Jan-2008
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds: publicly-available developer resources and training
G. Ken Holman mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/o/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Cancer Awareness Jul'07 http://www.CraneSoftwrights.com/o/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal