OASIS Universal Business Language (UBL) TC

Code list support decisions and restarted discussion based on Manhattan plenary results

  • 1.  Code list support decisions and restarted discussion based on Manhattan plenary results

    Posted 10-30-2007 02:47
    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