RE: DASL Where statement.

I agree with you in some sense.

But using <paren> ...</paren> is natural in XML.
Also it makes a <where> statement more clear.

In point of implementation view, currently specified prefix and postfix mixed style needs stack things
to parse ,while suggested infix style need only simple array and one to one match algorithm.

Finally, currently specified style looks a mixture of prefix and postfix.
'( a=b and c=d ) or (e=f and g<h)' -->

[or [and [= a b =] [= c d =] and] [and [= e f =] [< g h <] and] or]

* [] is a logic block.

--
Sung Kim <hunkim@cse.ucsc.edu>
http://www.cse.ucsc.edu/~hunkim

 "Dreams become reality!"

On Wed, 30 Jan 2002, Babich, Alan wrote:

> DASL should do all the operators the same way, either prefix, postfix, or
> infix, not a mixture. Doing a mixture of prefix and infix as you have
> suggested is not a clean design. Infix operators cause the introduction of
> parentheses as you have noted.
>
> There is not really any problem in generating SQL conditions from the infix
> style as currently specified. It's fairly straightforward.
>
> DASL is doing it the way that is most natural in XML. Causing the
> introduction of parentheses means that it isn't taking advantage of the
> beginning and ending tags of XML, which are in some sense equivalent to
> parentheses.
>
> Alan Babich
>
> -----Original Message-----
> From: Sung Kim [mailto:hunkim@cse.ucsc.edu]
> Sent: Wednesday, January 30, 2002 2:22 PM
> To: www-webdav-dasl@w3.org
> Subject: DASL Where statement.
>
>
>  Hello,
>
>  The new DASL draft is out.
>
>  I thought about <where> syntax in DASL.
>  If we want to express '( a=b and c=d ) or (e=f and g<h)' ----(*)
>
>  We should use <WHERE> statement like this:
>
>  <d:where>
>    <d:or>
>      <d:and>
>        <d:eq>
>          <d:a/>
>          <d:b/>
>        </d:eq>
>        <d:eq>
>          <d:c/>
>          <d:d/>
>        </d:/eq>
>       </d:and>
>       <d:and>
>        <d:eq>
>          <d:e/>
>          <d:f/>
>        </d:eq>
>        <d:gt>
>          <d:g/>
>          <d:h/>
>        </d:/eq>
>       </d:and>
>     </d:or>
>   <d:/where>
>
>  But if we can use the operation '<d:or/>' in between two element,
>  it might be simple
>  and might be closer to the normal expression.
>
>  This is the example :
>
>  <d:where>
>    <d:a/><d:eq/><d:b/><d:and><d:b/><d:eq/><d:c/>
>    <d:or/>
>    <d:d/><d:eq/><d:e/><d:and><d:f/><d:gt/><d:g/>
>  </d:where>
>
>  It is easier to make a SQL statement from the XML statement.
>
>  Also we need some operation elements to express priority such as
>  parentheses.
>  Let's suppose it is "<d:paren>".
>
>  The (*) expression will be translated in DASL XML like this:
>
>  <d:where>
>    <d:paren>
>      <d:a/><d:eq/><d:b/><d:and><d:b/><d:eq/><d:c/>
>    </d:paren>
>    <d:or/>
>    <d:paren>
>      <d:d/><d:eq/><d:e/><d:and><d:f/><d:gt/><d:g/>
>    </d:paren>
>  </d:where>
>
> --
>  Sung Kim <hunkim@cse.ucsc.edu>
>  http://www.cse.ucsc.edu/~hunkim
>
>   "Dreams become reality!"
>
>
>
>

Received on Wednesday, 30 January 2002 21:03:01 UTC