[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Wikipedia on XML
- From: rjelliffe@allette.com.au
- To: "Tim Bray" <Tim.Bray@Sun.COM>
- Date: Wed, 26 Aug 2009 15:18:59 +1000 (EST)
> On Aug 24, 2009, at 10:03 PM, rjelliffe@allette.com.au wrote:
>
>> XML has a
>> version number, but it cannot be used. XML has no effective
>> conditional
>> text system. Namespaces have no versioning system. Schemas have no
>> versioning system. We have no system for saying "this namespace is a
>> subset of that namespace (therefore applications written to accept
>> that
>> namespace can handle this one, with the appropriate URI change".)
>>
>> XML does not have the infrastructure to support the large, evolving,
>> mission-critical applications (including office applications) well.
>
> Ah, I'll have to print that out and frame it for display. -T
As famous last words? Actually it is a wall we have hit this year.
Of course, I can always weasel out because of "well" :-)
But having to change the OOXML namespaces is not handling the requirement
well, because it imposes a cost on developers and introduces gratuitous
incompatibility as well as the safe kind.
So I have two concerns about the decision to change the OOXML Strict
namespace. (I am slightly satisfied it is a reasonable option, reasonable
enough not to oppose anyway, despite the cost and strangeness of having to
do it.)
The first concern is that it exposes this infrastructure problem. Why is
it so hard to change a namespace? How can it be made easier?
The second is that it changes the relationship established at the BRM that
strict was a subset of transitional, so all transitional applications
could handle strict. Changing to a new namespace will have the effect of
making it much easier to get rid of transitional and of making it crystal
clear whether MS moves to Strict (which was surely the intent of the BRM
and explicit in its statements) or weasels out, but it does make Strict
and Transitional disjoint (which was not how the BRM did things).
I guess one practical impact this has for XML developers is to
parameterize code by namespace, to allow the same code to run on different
namespaces.
For example, in Java if you had a class that read an OOXML document and
did stuff on it, the namespace to be used should be provided as a class
instantiation parameter.
OoxmlProcessor OP = new OoxmlProcessor( "http://whatever the namespace
is");
But can you do that conveniently with XSLT, for example? I don't think so.
(I am genuinely interested in figuring out what the best idiom for this
is, it is something we need to get a handle on for our projects at work.)
A similar issue happened with Schematron, for example, when it was decided
to move the namespace to a OLCL purl. A sharp disconnect. ISO DSRL does
allow renaming of namespaces and so on, and would be quite useful, but it
needs to be built into SAX and there needs to be some acceptance that this
kind of thing is necessary. I think there needs to be a better way to
declare the relationship between schema and namespace versions from the
application's POV; in fact, we need a way of managing 'document type'
because the namespace/vocabulary/schema levels do not provide the kind of
information in practice necessary.
If you look at how office systems work: a really large part of their value
is in being able to open files made by old verions of old systems
including other people's systems. Draconian handling works directly
against this value; but unmanaged extensibility does to, especially in the
spreadsheet case I mentioned in another post today.
Cheers
Rick Jelliffe
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]