Re: [xml-dev] XML design of ((a and b) or c)

From
Mukul Gandhi <>
To
Andrew Welch <>
Date
2006-12-12T15:35:58Z
ID
<>
Thread
Re: [xml-dev] XML design of ((a and b) or c)
The first approach looks good to me. But perhaps assigning a namespace
to operator elements could be a good idea (something like below).

<?xml version="1.0"?>
<op:or xmlns:op="http://operator-ns">
   <op:and>
      <a/>
      <b/>
   </op:and>
   <c/>
</op:or>

On 12/12/06, Andrew Welch <> wrote:
> I've just had to design some XML to model items that can have "and"
> and "or" relationships between each one.
>
> For example:
>
> (a and b) or c
>
> could be designed as:
>
> <or>
>    <a>
>    <and>
>        <b/>
>        <c/>
>    </and>
> </or>
>
> another option could be to rely on position:
>
> <a>
> <and/>
> <b/>
> <or/>
> <c/>
>
> and another could be model the relationships separately somehow:
>
> <relationships>
>  <rel ref="r1" type="and">
>    <ent id="a"/>
>    <ent id="b"/>
>  </rel>
>  <rel ref="r2" type="or">
>    <ent id="r1"/>
>    <ent id="c"/>
>  </rel>
> </relationships>
> <a id="a"/>
> <b id="b"/>
> <c id="c"/>
>
> Each has its own advantages/drawbacks.  Personally I like the first
> technique, although it can get cluttered when there are 10+ items.
>
> Are there any better ways that I'm missing?
>
> cheers
> andrew


-- 
Regards,
Mukul Gandhi