It happens all the time. Sometimes
it is a 'slight difference'. Sometimes it
is 'nothing in common'. I've seen an
'XSL implementation' that was
not XSL *at all*.
Why that happens? For many reasons.
Sometimes people feel that there is no
need to invent 'yet another XML-related word',
but it may be better to re-use some
existing XML buzzword, so that potential
users of the tool may quickly figure out
what is the tool 'about'.
Sometimes people use XML 'buzzwords'
to get visibility for their tools, because
XML hype is *huge* and there is almost
zero chance to grab the interest *not* using
the XML buzzword. ( XML *itself* is the
Not to mention
There are many reasons, but I'd like to
try writing a problem down.
XML is similiar to ASCII. XML is so
low-level that there are way too many
possible designs and applications that
can 'use' it. So almost every new
application / API may decide:
a. Embrace and extend some 'official'
XML buzzword. Including the word 'XML'
b. Invent yet-another-XML-buzzword
Which is *also* bad, because *all* the
people I've recently talked to are saying
that "XML has so many buzzwords, that's
XML is young and it is a pop culture now.
SGML world was 'elite-driven' and it was possible
to 'learn everything about SGML', because
there were very few tools available and few
people were really using SGML in the real life.
Not so with XML.
Of course, there could be also (c),
that could be :
c. Only those XML-buzzwords that are blessed
by W3C as WDs and Recommedations are
'the true XML buzzwords' ( Holy buzzwords. he-he )
It plain does not work. SAX would not pass this
test, but every XML developer knows about SAX,
that means 'if it is not written on W3C
website, it does not exist' is already a misleading criteria.
Also, what to do with some of OASIS projects?
No RELAX NG? Well... you should be kidding...
But! There is no RELAX NG or SAX on
http://www.w3c.org More. There is no 'search'
button on the W3C's homepage. Well, isn't it
some kind of fragmentation already?
Is 'XML building' as solid as it was a
couple of years ago? I don't think so.
I think that maybe RELAX NG makes a
first huge crack.
It was something like "everything in XML is
driven by W3C and , well ...there is also SAX.
Which is an exception, you know"
Now it is at least "...well... there is also RELAX NG,
which is also an exception, you know... "
Let's just take this fact into account.
So. By definition we have a situation ( a, b, c ) which is
kinda doomed and we see constant problems and
some kind of agression because of that. We see it
all the time.Of course, experienced adults use neutral
wording, so the agression is kind of 'hidden', but that's
not my point. My point is that I've seen way too many
discussions in XML-related lists, with the pattern that
is something like : "I don't care what you're talking
about, but my buzzwords are holier than yours".
Let's look, for example on the situation with SML-dev.
I'm not taking about the SML itself. I'm trying to
explain why the 'buzzwords driven' world is bad for
*all* of us, except complete cynics and politicians,
who I think make the minority of XML developers.
I belive that most of XML developers ( and most of
XML-dev substribers ) are good engineers who
want to make things better.
So, techically speaking - SML initiative was some
attempt to refactor XML APIs. What could be
possibly wrong with that from engeneering
perspective? We have 'something', we may
talk 'how can we possibly re-factor it, just in case?'
When thing like that happens in the real life,
I think that people take it easy. Refactoring
some API? Big deal! It makes some interesting
dicsussions, why not.
It was not so with SML-dev. Again, I'm not talking
about the SML thing itself. I'm trying to explain that
the world, which is driven by "blessing" (or not blessing)
something with "some holy W3C buzzword" tends to
be ... insane ... concentration on those 'holy buzzwords'
makes no good for the humanity ;-)
So ( again ).
Let's assume we have 'Holy W3C buzzwords' as a 'core'
a. Abusing holy XML buzzwords makes it bad,
because it if is *not* 100% conformant it should
have another name, but
b. Not all of W3C designs are ideal, so some
refactoring / tuning takes place all the time,
but forking new XML buzzword increases a
mess and the number of buzzwords is already
big enough, and
c. W3C does not hold all the 'really important
buzzwords' any longer. ( SAX + RELAX NG.
At least. Those are now 'core buzzwords', but
they're not 'holy' ).
How can we possibly resolve the mess?
I think that the ideal situation would be for W3C
( and for all of us, "no matter what your religion, race,
nationality or regardless of any negative political
history with us" ) :
Stop fighting with 'XML heresys' of any kind
and adjust to the fact that XML tree 'belongs' to
nobody and it would be beter to *encourage* diversity
rather than try to build an ideal "holy" buildings,
protecting those from unwashed masses.
2. Thinking about the Solution.
2.1 Let W3C drive the XML show, so that we'd have a
single entry point into 'XML building' ( www.w3c.org ).
W3C came up with XML, W3C is a 'brand' and
I'd hate to see W3C demolished. For many reasons.
2.2 Let's us take a guided walk trought www.w3c.org
Let's assume that we want to learn what happens
with XML schemata. The only link we can press,
which looks relevant, brings us to:
Not a single word about RELAX, but the page has
( Robin Cover's pages, awesome work )
That page has a pointer to RELAX NG
The problem with this jump is that nobody knows
what will make it to Robin Cover's pages.
He does a great job, but there is no guarantee
for some resource to get listed. When a single
person maintains so many pages, these pages
would be 'incomplete' ( and they are 'incomplete' ).
Nobody can maintain the entire WWW on a
On another hand, Robin Cover's pages
are 'too detailed'.
Also, the format of Robin Cover's pages is
not really ideal for 'encyclopedia', and what
we'd really like is to get the pointers to
all the releveant XML buzzwords, given with
a single XML buzzword. Right?
And that brings us to the possible ...
Let's build CPAN for XML buzzwords.
a. The universal knowledge base about XML buzzwords,
b. *anyone* ( "no matter what your religion, race,
nationality or regardless of any negative political
history with us" ) can enter his own
buzzword / project / API and it would be
listed without the discrminiation, together
with the buzzwords invented by big
companies and/or OASIS / W3C
c. each and every buzzword would be
crosslinked with some relevant buzzwords
d. W3C should bless that repository, providing
a links to that repository from *every* W3C
Holy Website pages.
(d) is important, because without W3C blessing
the idea would not fly, because that would become
just one more heresy.
What I suggest is an attempt to stop constant, useless
and resource consuming holy wars. I suggest to
stop those wars with bulding some common space
that would be driven by plain technologizm ( there
is no political games on CPAN and CPAN is what've
made perl to become one of the most sucessfull software
I volonteer to write the software, I can host the
repository e t.c. I also think that there may be some
vendors who would love to provide their XML tools
for that repository (because this task is for XML,
However, I should stress out that building yet another
XMLSoftware or XSA framework is *not* what I'm
suggesting. I'm suggesting the common space that would
be freely open to *all of us* "no matter what your religion,
race, nationality or regardless of any negative political
history with us" and would also have W3C blessing.
Both parts of the formula look equally important to me.
If something is not clear, I can explain why I think
it may be hard to find some other cure to the problems
that XML is experiencing already.
There is a probability that I'l ship my own XPath clone
next 3-4 months. I'm thinking, should I call it XPath++ or XPath--