Re: What is the logic of storing XML in a Database?
Date: 29 Mar 2007 09:45:07 -0700
Message-ID: <1175186707.028012.35810_at_p77g2000hsh.googlegroups.com>
On Mar 28, 11:51 pm, Stefan Nobis <sno..._at_gmx.de> wrote:
> "Daniel" <danielapar..._at_gmail.com> writes:
> > As it is, I don't think you fully understand the problems that are
> > being solved by XML.
>
> Are you sure you understood? I was not involved in the history and
> emergence of XML, so I also have no real idea, what XML was supposed
> to solve.
>
> But the problems many people today *think* XML solves, are way behind
> the possibilities of any markup language or meta language!
>
> XML may solve many *minor* issues with protocol formats, maybe with
> XML and a really good designed Schema most syntactic problems really
> vanishes.
>
> But in communication syntax is a minor problem. The main problem is
> semantic.
>
> And the problem of syntax is easy solved by many tools (there are
> parser generator around for ages -- so why do you think making up your
> own specialized parser is so much harder than to come up with a really
> good designed schema for a meta language... do you think it's so much
> easier to write your spec in some XML schema language than in EBNF).
Parsing is indeed a mature technology, although it never progressed to
be accessible to an average programmer. The field flourished with
ideas in the 60s. At that time computer power was quite limited, this
is why practical emphasis was on efficient parsing methods. LA(1) and
LALR quickly became standard; both having linear parsing time
complexity. Still, many grammars, such as C, escape realtively narrow
class of grammars for which there is a standard linear time parser. As
a result, if you write an arbitrary CFG, most likely it won't fit into
off-the-shelf parser.
Gradually parsers evolve to embrace more powerful (but slower) parsing
methods. The popular bison parser, for example, has been extended to
implement GLR method, which handles arbitrary context free grammar.
Still, BNF remains to be language that most programmers don't speak.
There has to be a (relatively) labor intensive manual step of
transforming the grammar into LA(1) or LALR form.
The situation is somewhat reminiscent to database area. Imagine, relational algebra as the only RDBMS language available. Suppose there is no SQL, or any other dumbed down alternative. Would RDBMS enjoy the same level of success? (Given that language theory has only two operators, even more extreme example would be using relational lattice algebra which also has only two operators). Received on Thu Mar 29 2007 - 18:45:07 CEST