Folks:
I hate to bring this up again, but there is one aspect of
our design which is inconsistent, as I realized reviewing the RosettaNet comments on versioning.
Unless we have Header containers of some sort, we will have
to add any additional elements to header containers at the end of the document
in subsequent minor versions. A
similar phenomenon applies to extension – if anyone wants to extend our
set of “header” elements, the additions will go after the body
items.
This applies only in the case that header changes are made
at the top level, that is, as immediate children of the root (document) element.
Thus, if I have “” as
my document, it has immediate children Hd1, Hd2, Hd3, Hd4, Item+
as its basic model, described in a single type. If I want to add a fifth header
element, then the pattern becomes: Hd1, Hd2, Hd3, Hd4, Item+
Hd5. This is really prohibitively ugly and confusing to my mind. Remember, our
minor versions only allow changes using XSD extension and subtractive
refinement, for backward-compatibility reasons.
And yet, I suspect that we may find people wishing to make
these types of extensions and minor-versioning modifications.
Nowhere else in the document did I see this problem arise
from a practical viewpoint, much as I would like to see more containers for
other reasons.
I hate to raise this at this point in time, but it is clear
that we have an inconsistency between our versioning and intended extension
schemes, and the organization of our documents at this point. In short, we need
to add head containers or our versioning and intended extension mechanisms
should be completely altered (which would be silly, since I think they’re
one of the best parts of NDR!)
Cheers,
Arofan