OASIS Universal Business Language (UBL) TC

Expand all | Collapse all

A set of XSLT stylesheets implementing forwards compatibility in UBL 2 systems (UBL TC)

  • 1.  A set of XSLT stylesheets implementing forwards compatibility in UBL 2 systems (UBL TC)

    Posted 09-23-2007 21:44
    Hello all,
    
    I've just published a library of XSLT 1.0 stylesheets used to 
    implement forward compatibility in systems supporting UBL 2.0.
    
    These can be found through Crane's home page, and from the right 
    margin select "Free resources", then the first section for "UBL, UN 
    Layout Key, XPath and Code List Resources" link, then the section 
    "Stylesheet/filter resources" where you will find "Crane's UBL 2 
    instance filters" (I am not posting the link in the archive in case 
    the URL has to change, the above instructions should be consistent 
    regardless of the file locations).
    
    This is a collection of XSLT filters used to create a pure UBL 
    instance by copying all elements defined by a UBL 2 specification and 
    ignoring those not defined by the specification.  Also available are 
    stylesheets for each document type.  As minor revisions of UBL are 
    published by the UBL Technical Committee, Crane's library of filters 
    will be updated to support each one.
    
    Such filtering is important to a UBL deployment that needs to be 
    forward compatible in a heterogeneous network where instances of 
    different minor revisions are being used. The validation of a 
    filtered instance reflects any constraint violations to the minor 
    version supported, not to any subsequent minor versions that are 
    guaranteed to violate the earlier minor version constraints. Thus, an 
    application will not be prevented from inspecting the filtered 
    instance to determine the original minor version level and know that 
    some indeterminate information items have been removed by filtering.
    
    I'm planning to create a Python/SAX-based implementation of these 
    filters that should run faster than XSLT because of there not being 
    any need to build a source node tree.
    
    I'm planning to add documentation as we get deployment experience, 
    but for now I want to get these out in order to talk about them at 
    tomorrow's UBL face-to-face in Stockholm.
    
    Please forward any questions or comments off list.
    
    I hope people find this interesting ... I'm looking forward to feedback.
    
    . . . . . . . . . . . . . Ken
    
    cc: UBL TC, UBL Dev
    
    --
    Upcoming public training: UBL and code lists Oct 1/5; Madrid Spain
    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
    
    


  • 2.  Re: [ubl] A set of XSLT stylesheets implementing forwards compatibility in UBL 2 systems (UBL TC)

    Posted 10-20-2007 14:21
    Hello again,
    
    To update the work from last month, this morning I published an 
    equivalent suite of Python/SAX programs to implement instance pruning.
    
    I also updated the documentation with an illustration of how I am 
    teaching my UBL students how minor version forward-compatible 
    transformation pruning, which also happens to be identical to 
    customization transformation pruning, of incoming UBL instances would work.
    
    It turns out the interpretive nature of Python and the library 
    implementation of SAX turns out to be very much slower than the 
    inherent XML-based XSLT processing implemented by Saxon:  the 
    building and processing of the source node tree in XSLT is faster 
    than the stream processing implemented in Python/SAX.
    
    I hope this is of some interest.  Feedback welcome.
    
    . . . . . . . . . . . . . . Ken
    
    At 2007-09-23 17:11 +0200, I wrote:
    >Hello all,
    >
    >I've just published a library of XSLT 1.0 stylesheets used to 
    >implement forward compatibility in systems supporting UBL 2.0.
    >
    >These can be found through Crane's home page, and from the right 
    >margin select "Free resources", then the first section for "UBL, UN 
    >Layout Key, XPath and Code List Resources" link, then the section 
    >"Stylesheet/filter resources" where you will find "Crane's UBL 2 
    >instance filters" (I am not posting the link in the archive in case 
    >the URL has to change, the above instructions should be consistent 
    >regardless of the file locations).
    >
    >This is a collection of XSLT filters used to create a pure UBL 
    >instance by copying all elements defined by a UBL 2 specification 
    >and ignoring those not defined by the specification.  Also available 
    >are stylesheets for each document type.  As minor revisions of UBL 
    >are published by the UBL Technical Committee, Crane's library of 
    >filters will be updated to support each one.
    >
    >Such filtering is important to a UBL deployment that needs to be 
    >forward compatible in a heterogeneous network where instances of 
    >different minor revisions are being used. The validation of a 
    >filtered instance reflects any constraint violations to the minor 
    >version supported, not to any subsequent minor versions that are 
    >guaranteed to violate the earlier minor version constraints. Thus, 
    >an application will not be prevented from inspecting the filtered 
    >instance to determine the original minor version level and know that 
    >some indeterminate information items have been removed by filtering.
    >
    >I'm planning to create a Python/SAX-based implementation of these 
    >filters that should run faster than XSLT because of there not being 
    >any need to build a source node tree.
    >
    >I'm planning to add documentation as we get deployment experience, 
    >but for now I want to get these out in order to talk about them at 
    >tomorrow's UBL face-to-face in Stockholm.
    >
    >Please forward any questions or comments off list.
    >
    >I hope people find this interesting ... I'm looking forward to feedback.
    >
    >. . . . . . . . . . . . . Ken
    >
    >cc: UBL TC, UBL Dev
    
    
    --
    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