[ODE] XML ODE Data Interchange Format (version 4)

William Denniss lists at omegadelta.net
Sat Mar 13 19:59:28 MST 2004


I am currently writing a new revision of XODE which I hope to be the
final draft.

I'd like to get some comments on how to best represent a matrix in XML.

One way is simply:
<matrix>
  [0,0,0,0]
  [0,0,0,0]
  [0,0,0,0]
  [0,0,0,0]
</matrix>

as used in version 04.  XML parsers can't read that data directly so any
parser would need to do some extra tokenization to extract the data.  Is
that a problem?  Readability wise it is the most natural way of doing it
I think.

The other option is to use the MathML standard - it doesn't look as
nice, but is the more XML way of doing it I guess (and it's already a
standard).

Example:
<matrix>
	<matrixrow>
		<ci>a</ci>
		<ci>b</ci>
	</matrixrow>
	<matrixrow>
		<ci>c</ci>
		<ci>d</ci>
	</matrixrow>
</matrix>

which translates to:
[a,b]
[c,d]



Some MathML references:
http://documents.wolfram.com/v4/AddOns/XMLCapabilities/ContentMathML.html
http://www.w3.org/TR/MathML2/

I'm not convinced using MathML in this case would make life easier, but
I'd love to hear peoples thoughts on the matter.


Limor, a followup to my answer to your question 4 - I've decided to
scrap that copyright notice altogether, there is no real need for it.

Cheers,

Will.

On Tue, 2004-03-09 at 15:43, Limor Schweitzer wrote:
> William,
> Excelent work again!
> 
> minor comments:
> 
> 1) I'm not sure what TinyXML (http://www.grinninglizard.com/tinyxml/), which 
> i use,  would do with the multiple [0,0,0,0] matrix lines.
> 
> 2) could you please add some geom-specific params in the examples (for 
> example, add radius and length to cylinders [does current ODE support 
> cylinder collision with all other geoms ?!] )
> 
> 3) Not sure if this was implicit in the text or not but one should be able 
> to place joints and joint-groups under relative transforms (for example 
> under a body, inheriting the body's transform)
> 
> 4) whats with the copyright notice ? do i need explicit permission to use 
> this format, quote all or part of the RFC, use the term XODE  etc. ?
> 
> 
> I think this format should work ok for my needs (ezphysics), infact it is 
> not that different from what i've exported so far.
> Are you working on a reference implementation ?
> 
> 
> Limor
> 
> 
> 
> >From: William Denniss <lists at omegadelta.net>
> >To: ode at q12.org
> >Subject: [ODE] XML ODE Data Interchange Format (revised)
> >Date: Tue, 09 Mar 2004 12:58:52 +1000
> >MIME-Version: 1.0
> >Received: from mc11-f37.hotmail.com ([65.54.167.44]) by mc11-s7.hotmail.com 
> >with Microsoft SMTPSVC(5.0.2195.6824); Mon, 8 Mar 2004 20:03:28 -0800
> >Received: from hook.org ([216.123.237.227]) by mc11-f37.hotmail.com with 
> >Microsoft SMTPSVC(5.0.2195.6824); Mon, 8 Mar 2004 20:03:21 -0800
> >Received: from hook.org (mailman at localhost [127.0.0.1])by hook.org 
> >(8.12.6/8.12.6) with ESMTP id i293l1m1017781;Mon, 8 Mar 2004 20:47:46 -0700 
> >(MST)
> >Received: from pluto.dnswild.com (pluto.dnswild.com [69.93.68.66])by 
> >hook.org (8.12.6/8.12.6) with ESMTP id i292qSlx022294for <ode at q12.org>; 
> >Mon, 8 Mar 2004 19:52:28 -0700 (MST)
> >Received: from preven.lnk.telstra.net 
> >([139.130.29.120]helo=localhost.localdomain)by pluto.dnswild.com with esmtp 
> >(Exim 4.24) id 1B0XN1-0004GF-Stfor ode at q12.org; Tue, 09 Mar 2004 02:53:28 
> >+0000
> >X-Message-Info: ZLIeWzn802R7jTtL2cNd8GIDOZu/DEtcC10P8lteT7w=
> >Message-Id: <1078801132.1364.119.camel at localhost.localdomain>
> >X-Mailer: Ximian Evolution 1.4.5 X-AntiAbuse: This header was added to 
> >track abuse,please include it with any abuse report
> >X-AntiAbuse: Primary Hostname - pluto.dnswild.com
> >X-AntiAbuse: Original Domain - q12.org
> >X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
> >X-AntiAbuse: Sender Address Domain - omegadelta.net
> >X-BeenThere: ode at q12.org
> >X-Mailman-Version: 2.1.2
> >Precedence: list
> >List-Id: Open Dynamics Engine Mailing List  <ode.q12.org>
> >List-Unsubscribe: 
> ><http://q12.org/mailman/listinfo/ode>,<mailto:ode-request at q12.org?subject=unsubscribe>
> >List-Archive: <http://hook.org/pipermail/ode>
> >List-Post: <mailto:ode at q12.org>
> >List-Help: <mailto:ode-request at q12.org?subject=help>
> >List-Subscribe: 
> ><http://q12.org/mailman/listinfo/ode>,<mailto:ode-request at q12.org?subject=subscribe>
> >Errors-To: ode-bounces at q12.org
> >Return-Path: ode-bounces at q12.org
> >X-OriginalArrivalTime: 09 Mar 2004 04:03:21.0687 (UTC) 
> >FILETIME=[76519E70:01C4058B]
> >
> >Hi All,
> >
> >I have made some revisions to the spec which is up to revision 04 (the
> >first public revision was 03).
> >
> >The new version can be found here:  http://tankammo.com/xode/xode.txt
> >
> >The old version can now be found archived here:
> >http://tankammo.com/xode/xode.1.03.txt
> >
> >I am also getting a list of "common" extensions which aim to solve the
> >most common needs not catered for by the standard tag set.  These are
> >listed here (but are NOT part of the spec!):
> >http://tankammo.com/xode/xode-extensions.txt
> >
> >
> >Some of the changes are as follows:
> >
> >* Removed <mesh> attribute and clarified position on storing the
> >graphical meshes.
> >* Changed structure of <geom> and <joint> in how they reflect what type
> >of geom or joint it is.
> >* Grouped nodes into ODE objects, which include <body>, <geom>, and
> ><joint> and "collection" objects which contain ODE objects and include
> ><world>, <group> and <body>.  Read the intro to sections 2.1 and 2.2 for
> >more information.
> >* Better defined how the transforms work
> >
> >The spec is far from complete - but I want to make sure we have reached
> >consensus on the design decisions to avoid me having to rewrite large
> >parts of it which is rather time consuming.
> >
> >One question I would like to ask the community is how should we best
> >represent the trimesh geom in XML?  I guess something like this could
> >work:
> >
> ><vertices>
> >0,0,3,
> >4,5,2,
> >2,3,5
> >2,3,4
> ></vertices>
> >
> ><indices>
> >1,3,5,2,7,6,3,4,8,9,0,10,2,4,5
> ></indices>
> >
> >One option would be:
> >
> ><vertices>
> >   <vertex x="0" y="0" z="3" />
> >   <vertex x="4" y="5" z="2" />
> >   <vertex x="2" y="3" z="5" />
> ></vertices>
> >
> >and
> >
> ><indices>
> >   <index>1</index>
> >   <index>3</index>
> >   <index>4</index>
> ></indices>
> >
> >But that bloats the file size a lot.  I guess we could even allow for
> >both representations if need be.
> >
> >Cheers,
> >
> >Will.
> >
> >--
> >William Denniss - will@ http://tanksoftware.com/
> >
> >

-- 
William Denniss - will@ http://tanksoftware.com/



More information about the ODE mailing list