There is a section in the public review draft on UBL Customization
that addresses a validation processing model to support forward compatibility:
http://docs.oasis-open.org/ubl/guidelines/UBL-Customization1.0prd01.html#_Toc210463567
Figure 20 repeats the original processing model described in the UBL
2.0 specification.
Figure 21 illustrates a forward-compatible processing model that,
when adopted for a deployment, allows schema-valid-based applications
to always inspect any incoming instance for content by massaging that
instance when it is not schema valid to begin with. Supposedly for a
complete UBL implementation this is because the incoming document is
an instance of a later minor version schema. For a customized UBL
implementation this could be either that the incoming document is an
instance of a later minor version schema, or an instance of a more
complete UBL that has standardized constructs not expected for the
customization.
The crux of the forward-compatible processing model is the "version
filter" (labeled "F"): a pruning process of some kind (depicted as
an XSLT process but really could be implemented in any programming
language) used to remove from the incoming UBL instance any
constructs not recognized by the deployed version or customization of UBL.
I'm pleased to announce today Crane Softwrights Ltd.'s latest release
of UBL 2.0 instance pruning filters in both XSLT and the Python
programming language (you need only use one of the two, not both):
http://www.CraneSoftwrights.com/resources/ubl/index.htm#filter
Those who are reviewing the UBL Customization guidelines through
experimentation can use these filters "off the shelf" without
modification to prune non-UBL-2.0 constructs from an XML
document. This latest release addresses extension pruning
deficiencies in the release from over a year ago, found in some
recent experimentation.
Feedback is welcome.
. . . . . . . . . . . . . Ken
cc: UBL TC, UBL Dev
--
Upcoming XSLT/XSL-FO hands-on courses: Wellington, NZ 2009-01
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video sample lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg
Video course overview: http://www.youtube.com/watch?v=VTiodiij6gE
G. Ken Holman mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/o/
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/o/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal