After
suggesting that UIDs should be attached to elements to leave the choice of their
names and language up to application designers, the debate on ebXML mailing lists has expanded to cover many points often discussed on XML forums -- including the need for universal "names", the readability of XML documents, the need to translate element and attribute names, and the
usage of namespaces URIs.
The
language, character encoding and meaning of XML tag names is an issue that is
often debated and is especially important for ebXML where the charter and affiliation
to the United Nations gives an obligation to be universal and understandable by
everyone on the planet.
To work around
the problem of the tag names, one proposal is to add an attribute referring
to a Universal IDentifier (UID) to each of the elements -- and eventually to
define this attribute as FIXED in the DTD for the document.
This
solution would address the issue by defining both a user readable name and an
identifier, but the debate expanded
after William Kammerer challenged
the suggestion of reducing tag names to opaque UIDs, and
questioned the value of multilingual tag names:
Instead of fantasy
examples (as if the Thai merchant really wants to jack around with XML - he or
she will probably want to use affordable shrink-wrapped software), perhaps
Duane and David can demonstrate how these Bizcodes or UIDs could be used to
make RosettaNet (or OTA or S.W.I.F.T. XML) messages understandable within the
context of ebXML Core Components.
Hence, we don't yet have
to rule out basing tags on a limited vocabulary like that held in the Basic
Semantics Register. This avoids the inconvenience
of the indirection required by the unintelligent UIDs and BizCodes. By unintelligent, I don't mean Duane's
proposal is stupid, but merely that the UID by itself gives me no hints as to
meaning.
The lack of meaning carried by these UIDs
can also be seen as an advantage, says
Irvin Chmielewski:
One of the main problems
we found in the past with Natural Language is that word can have multiple
meanings. Take the word STOCK. - Something you buy on the NYSE or something
you can buy at a cattle ranch or something you can buy at a gun store or
something that you can buy to make soup.
And Duane
Nickull explains
how namespaces are different from UIDs:
An XML Namespace does not
tell a parser anything useful either.
An XML Namespace does not
provide any semantics about an element.
The only thing an XML
namespace value does is allow a code writer to build a handler routine which
can tell an application that the domain of an element is different from another
element based on the fact that the namespace attribute is unique (ie - has the
domain url in it). There are no rules
saying that urls have to point at anything which provides semantic rules.
UID's, as contemplated in
ebXML, will have that mandate.
At the end
of the day, does it mean that the only universal language would be a string of
digits?
|