Re: (Partial) review of Versioning XML

/ "David Orchard" <dorchard@bea.com> was heard to say:
[...]
|> I think it would be good to provide a little bit more 
|> explanation of these five options. I'm not confident I 
|> understand all of the distinctions from just this one 
|> sentence explanation.
|
| OK, I tried to add a bit.  But the explanations are somewhat complicated
| so I didn't want to repeat all the possible designs shown later..

Perhaps add some explicit forward references then?

|> >    Good Practice
|> >
|> >    New namespaces to break Rule: A new namespace name is 
|> used when backwards
|> >    compatibility is not permitted, that is software MUST 
|> break if it does not
|> >    understand the new language components.
|> 
|> I think it might be clearer to say must reject. And do we 
|> really mean must?
|> Certainly in some contexts it might be necessary to abort, 
|> but I'm not sure that's true in all contexts.
|
| OK, how about SHOULD reject texts...

Perhaps. I'm torn between trying to read these documents as a
description of a landscape of versioning and extensibility information
on the one hand and as a road map to a specific goal on the other.

In the former case, all you can hope to do is put orange cones around
the larger pot holes. It's difficult to say you SHOULD or MUST do any
specific thing with complete generality.

In the latter case, preconditions about the goal preclude large portions
of the landscape and it's easy to make strong assertions. The rider on
the high speed touring bike MUST NOT attempt to take the dirt path short
cut down the steep side of the hill because it'll cause serious bodily
injury. The rider on the mountain bike however, ...

|> >  <personName xmlns="http://www.example.org/name/1" version="2.0">
|> >    <given>Dave</given>
|> >    <family>Orchard</family>
|> >    <pref1:middle 
|> > xmlns:mid1="http://www.example.org/name/mid/1">Bryce</pref1:middle>
|> >  </personName>
|> >
|> >    The last example shows that the middle is now a 
|> mandatory part of the
|> >    name.
|> 
|> How does it show that?
|
| Good point. "The last example shows a middle that is a mandatory
| part of the name, which is indicated by the use of a new major version
| number."

I'd prefer something along the lines of what I suggested in the
analagous place in the first part of the review.

|> >   9.1 DocBook
|> >
|> >             Requirement
|> >             Schema Lang          RelaxNG
|> >     3rd party compatibly extend  Yes
|> >    3rd party incompatibly extend No
|> 
|> Third parties can make incompatible changes.
|
| How do they do this?  I've changed it, but I'm curious.

By changing one of the patterns in an incompatible way. You want to
require list items in an ordered list to contain chapters? Your gun,
your bullet, your foot.

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <ndw@nwalsh.com> | You must not think me necessarily
http://nwalsh.com/            | foolish because I am facetious, nor
                              | will I consider you necessarily wise
                              | because you are grave.--Sydney Smith

Received on Monday, 21 May 2007 14:20:38 UTC