Re: [mmox] XML serialization

Jon Watte <> Tue, 24 February 2009 19:23 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 112D73A6A2C for <>; Tue, 24 Feb 2009 11:23:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.44
X-Spam-Status: No, score=-1.44 tagged_above=-999 required=5 tests=[AWL=-1.007, BAYES_00=-2.599, FF_IHOPE_YOU_SINK=2.166]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id b-wJdzSqWY0W for <>; Tue, 24 Feb 2009 11:23:06 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 118FF3A6927 for <>; Tue, 24 Feb 2009 11:23:05 -0800 (PST)
Received: by gxk7 with SMTP id 7so2729426gxk.13 for <>; Tue, 24 Feb 2009 11:23:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=9kXLNe4VtrybGlqmYlW5iIiTyj0poTXujWCKUp5Hsx0=; b=ovJU4kvXPHFbXLIcKGvdsm0MpSqOb2i/JGwQsYR2nYpfF+kSB2/cABEoWbrq9aD7XO /0Wpw714s97mkXH9LwfXcznUl7EWM4omz5MNnobWeVSUfWVT/rycYR9z3fYQQGADDYK9 xiqtq40bAoKqlx/pMBg+LpsDj/H7V5Pi3E/4I=
DomainKey-Signature: a=rsa-sha1; c=nofws;; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=Zyq0kYq9ileZJByZPlGnTN4VOYgQW2X3PJPVJFw9NXFeWF51Yg3ByciqbhlEdPbfpy wo5vCgn9x7HAxmm9KqjNnoE+xLbCp/rE8UWOmiZNAmUgdv/Zipx1f+wEWIKbNbnlOsgP 8Goy22Kv4ckDyZznhIatrwuhf213kWeU4/qNA=
Received: by with SMTP id t17mr110110anf.84.1235503404238; Tue, 24 Feb 2009 11:23:24 -0800 (PST)
Received: from ? ( []) by with ESMTPS id d35sm261311and.38.2009. (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 24 Feb 2009 11:23:23 -0800 (PST)
Message-ID: <>
Date: Tue, 24 Feb 2009 11:23:20 -0800
From: Jon Watte <>
User-Agent: Thunderbird (Windows/20081209)
MIME-Version: 1.0
To: Catherine Pfeffer <>
References: <>
In-Reply-To: <>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: Re: [mmox] XML serialization
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Massively Multi-participant Online Games and Applications <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 24 Feb 2009 19:23:07 -0000

Catherine Pfeffer wrote:
> (XML schema allows for checking that the data inside the tags conform 
> to a certain syntax, for example that floats are made of digts and 
> possibly of a decimal dot and a minus sign).

But you don't actually know whether those digits are actual, valid data 
until and unless that data hits some real executable code. Additionally, 
we will likely deal with data types that are naturally atomic ("vector3" 
or "quaternion") but that are not part of the XML data type set. Sending 
a vector3 as "<float name="x">x</float><float name="y">y</float><float 
name="z">z</float>" seems like a bad idea, compared to 

You wouldn't know whether "123000,-5000000,600000" is a proper teleport 
destination, or under the surface of the earth, or outside the allowed 
simulation coordinate space, until you treated that coordinate in the 
target world space. Thus, the validation capabilities of a possible XSD 
are limited at best anyway.

I must admit that the main reason I want things in attributes is 
brevity, and uniformity of handling. If I want to get a node set of all 
property values of a given entity record, I can simply do:

  values = entityNode.getElementsByTagName("value");

Similarly, if I want to get a specific element, I can do:

  thePosition = entityNode.getElementById("pos");

This assumes that the "key" attribute is defined as an ID such that the 
DOM implementation can recognize it. On the other hand, depending on 
structure, it may mean that they key "pos" can't be used on multiple 
objects in the same overall XML document, so it might be better to get 
"matching attribute value" anyway:

  thePosition = entityNode.getElementPath("[@key='pos']")

> I have a similar list too ;-). Someone here has proposed a VWSD 
> working group to separate high level concerns (like meshes versus 
> prims) from low level concerns (like data types and serializations). 
> If we are sure that xxSD is the way to go (and not ASN or whatever), I 
> would volunteer to be part of such a group, and so would you, Jon, I 
> guess ;-).

Personally, I think it's too early to really worry about it too much. I 
first want rough consensus on the model we're using -- I think most, but 
not all, participants on the list now understand that interoperating 
virtutal world objects practically require simulation hosts to talk to 
other simulation hosts. I also think that most participants understand 
that a specified client/server protocol would not actually solve 
interoperability between disparate simulation systems.

But how do we actually define and determine "rough consensus"? Perhaps 
coming up with some metric for that would be a good first step.