It is my belief, that the creators of XML failed to make it a
convenient and robust language by adding redundant syntactic
elements, and introducing unnecesary gimmicks to please ...
well, I don't know who! XML is not an end-user language, it is mostly
computer-generated and computer-read. Therefore, it is a language
for programmers mainly. And programmers (I think) would rather
appreciate a simple and logical than heavy and "feature-loaded".
XML is a tool, and tool must be simple in order to be effective.
Thit is my list of complains to XML authors:
In general, the move from HTML from XML was a good one, but it was not
made to the extend it should. The heredity of HTML/SGML was too strong, I guess.
Terminal tags (tags without content or value) are
unnecessary. Why create a special syntactic element for
something that is a degenerated case of a generic one?
Example: instead of <img/> one can as easily
Tag attributes not needed at all. Any information that
is held in attributes can as easily be presented as the value
of a child node.
Example: instead of <a href="http://www.w3.org">WWW Home
</a> one would better use:
Meta-data is not necessary. It is a part of XML document, but
it uses a special syntax, introduces yet another symbol with
"special" meaning. Why not to make it something like
<xml:meta><version>1.0</version></xml:meta>. This would at least
look like normal XML syntax.
Too many symbols have special meaning in XML (like '?', ':',
and others). To me this looks like a poor design.
tXML takes from XML the constructive part, and leaves
gimmicks to "conformant" XML implementations.
tXML language features:
- No attribues! If you need a one, consider adding
a child node!
- No terminal nodes! Any terminal node can be represented
with a "normal" node without a content or value.
- Limited list of "special" characters:
Only '<', '>', '&' are special (hence only three amper-variables
are necessary: "<", ">", and "&". Everything else is treated
in a regular way.