Lists Home |
Date Index |
I was curious about opinions and experiences people on the list might
have regarding the UBL NDR:
- Am I alone in finding it too be overly draconian?
- What practical limitations (particularly processing limitations)
have you encountered when implementing the standard?
Perhaps my biggest problem with the NDR is the prohibition against
custom attributes. I'm contributing to a workgroup to develop a data
standard which will be used to transmit potentially huge data sets.
Understandably, we'd like the standard to be friendly to stream
processing. The ability to add "type" and "role" attributes in key
places in the schema would greatly aid processing the data in a way
that would only require examining the current element stack during
stream processing for our most typical use cases. The UBL proponents
on the workgroup propose requiring such items to be a first child
(rather than attribute) of the node they qualify so as to act as a
processing flag for its siblings and siblings' children.
My problem with this approach is that if an element has a scoping
relationship to the rest of the children of the parent, if at all
possible, I believe you should make that relation explicit by making
it an atttribute of the parent. Also, I believe you shouldn't add
ordering constraints to your schema, burdening both the production
and validation of the data set, unless there is a semantic
motivation. Lastly, I believe that if at all possible you should
design the schema to be compatible with the widest range of generic
tools (e.g., tools that only consider the current ancestor hierarchy
during stream processing, like STX) rather than requiring future
users of the standard to write one-off processors (e.g., custom SAX
A couple of key individuals on the workgroup are adamant about
adhering to the UBL NDR (although not very articulate when it comes
to justifying either the individual requirements of the NDR or the
blanket decision to follow it slavishly.) Unfortunately, the
literature I've been able to turn up regarding the UBL NDR all reads
like marketing literature rather than frank evaluations of the trade-
offs the NDR involves. (My best source has been the UBL mail archives
but it's fragmented and skimpy on this topic.) Can anyone point me
to some more thoughtful evaluations of the NDR? Or, perhaps,
implementations of CCTS that allow custom attributes? Or, better
yet, UBL endorsed mechanisms for integrating custom attributes with
otherwise UBL NDR compliant schema?