[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [xml] suggestion with libxml (fwd)
Some suggestion about using XML with Dr Geo who may be usefull to other
project
Hilaire Fernandes
Dr Geo project http://www.drgeo.seul.org
---------- Forwarded message ----------
Date: Mon, 28 Jun 1999 08:01:18 -0400
From: Daniel Veillard <Daniel.Veillard@w3.org>
Reply-To: xml@rufus.w3.org
To: xml@rufus.w3.org
Subject: Re: [xml] suggestion with libxml
Resent-Date: Mon, 28 Jun 1999 08:01:20 -0400
Resent-From: xml@rufus.w3.org
Hi Hilaire,
> I may use libxml to parse xml file format for an interactive geometry
> application.
> I've a couple of question.
> Here are examples - valid ? - to define points :
>
> <freepoint label="A" x="1.3" y="10" />
ok
> <freepoint label="B" x="13" y="10" />
ok
> <middle label="I" point="A" point="B"/>
Wrong.
> The 1st things I don't like is I need to define different tags for each
> kind of point (and there is a lot) althought this is always point I
> define. Do I have the choice ?
You can either express your semantic:
- in the tag name
- using an extra attribute defining the type, i.e.the kind of point
- use the structure to express the semantic
> The 2nd things. Is it valid, in the middle definition, to have twice the
> point attribut ? Or should I write somethings like :
>
> <middle label="I" point1="A" point2="B"/>
Yes you will have to change a given attribute can occur only once
other (suggested) way:
<middle label="I">
<point value="A"/>
<point value="B"/>
</middle>
Basically it uses the structure to express the relationship, that's
IMHO the best method to use, it scale and can be extended to other
relationships.
> This appear to be more easy to parse this with libxml but may be less
> readble/conistant for users
>
> The situation is even worst with intersection point:
> Here the intersection of line & cercle ; segment & half-line :
>
> <intersection label="A" line="(MN)" circle="(C1)" k="1" />
> <intersection label="B" segment="[MN]" halfline="[OP)" />
Same
<intersection label="A" k="1">
<line value="(MN)"/>
<circle value="(C1)"/>
</intersection>
> This really look like a nightmare to parse with libxml as there is 10th
> kind of intersection point.
>
> Alternatively I could make a horrible things like this :
>
> <intersection_line_circle label="A" line="(MN)" circle="(C1)" k="1" />
> <intersection_segment_halfline label="B" segment="[MN]" halfline="[OP)" />
>
> Horrible for the users but easy to parse.
>
> Any ideas, suggestion ?
use the structure to express the logical concepts. It won't be harder to parse
is expendable, and basically makes sense ...
Daniel
--
[Yes, I have moved back to France !]
Daniel.Veillard@w3.org | W3C, INRIA Rhone-Alpes | Today's Bookmarks :
Tel : +33 476 615 257 | 655, avenue de l'Europe | Linux, WWW, rpmfind,
Fax : +33 476 615 207 | 38330 Montbonnot FRANCE | rpm2html, XML,
http://www.w3.org/People/W3Cpeople.html#Veillard | badminton, and Kaffe.
----
Message from the list xml@rufus.w3.org
Archived at : http://rufus.w3.org/veillard/XML/messages
to unsubscribe: echo "unsubscribe xml" | mail majordomo@rufus.w3.org