Re: [mmox] XML serialization

"Meadhbh Hamrick (Infinity)" <infinity@lindenlab.com> Wed, 25 February 2009 01:22 UTC

Return-Path: <infinity@lindenlab.com>
X-Original-To: mmox@core3.amsl.com
Delivered-To: mmox@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 22BA23A6816 for <mmox@core3.amsl.com>; Tue, 24 Feb 2009 17:22:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[AWL=-1.453, BAYES_00=-2.599, FF_IHOPE_YOU_SINK=2.166, HTML_FONT_FACE_BAD=0.884, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5CjHSn0jUuEQ for <mmox@core3.amsl.com>; Tue, 24 Feb 2009 17:22:01 -0800 (PST)
Received: from tammy.lindenlab.com (tammy.lindenlab.com [64.154.223.128]) by core3.amsl.com (Postfix) with ESMTP id E4EE43A680A for <mmox@ietf.org>; Tue, 24 Feb 2009 17:22:01 -0800 (PST)
Received: from infinity.vpn.lindenlab.com (infinity.vpn.lindenlab.com [10.0.254.125]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by tammy.lindenlab.com (Postfix) with ESMTP id 72BD23DBC44C; Tue, 24 Feb 2009 17:22:21 -0800 (PST)
Message-Id: <D8A3BDEA-59B8-4F68-9C2E-886E8B8135B7@lindenlab.com>
From: "Meadhbh Hamrick (Infinity)" <infinity@lindenlab.com>
To: Jon Watte <jwatte@gmail.com>
In-Reply-To: <49A44928.10307@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail-17--480297736"
Mime-Version: 1.0 (Apple Message framework v930.3)
Date: Tue, 24 Feb 2009 17:22:19 -0800
References: <ebe4d1860902240551l2ab28b43o6d391fb1d455cacf@mail.gmail.com> <49A44928.10307@gmail.com>
X-Mailer: Apple Mail (2.930.3)
Cc: mmox@ietf.org
Subject: Re: [mmox] XML serialization
X-BeenThere: mmox@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Massively Multi-participant Online Games and Applications <mmox.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/mmox>, <mailto:mmox-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmox>
List-Post: <mailto:mmox@ietf.org>
List-Help: <mailto:mmox-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmox>, <mailto:mmox-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Feb 2009 01:22:03 -0000

ah! i think i see a bit of a disconnect here.

jon, you're saying you want to be able to use common DOM apis to  
access data in an XML serialization.

fwiw... that's the atypical use at the lab (<insert comments here  
acknowledging that there's more the the world than linden lab>) and i  
mention it not to imply that this is the type of thing that should  
never be done, but simply to point out that the way LLSD XML  
serialization layer was intended to be used was as a container for  
something that got de-serialized before the application layer gets  
it's mitts on the data.

so.. ya got your stack... (um.. i apologize for the graph... if you  
change the typeface to something vaguely monospace, it'll look much  
nicer)

Application                                                 Application
      | "a"                                                       | "d"
Presentation                                                Presentation
      | "b"                                                       | "c"
  Transport <------ the great mysteries of the network -----> Transport

it sounds like you want to do some processing at points "b" and "c".  
after it has been received by the transport and before it gets un- 
marshalled / de-serialized.

is this just 'cause you're used to writing code that directly uses the  
DOM, or are you routing to specific application endpoints based on the  
contents of the stuff in the XML?

and also... is this a requirement of your system? or just the way that  
seems right to you?

(not trying to pick a fight... just curious)

-cheers
-meadhbh

On Feb 24, 2009, at 11:23 AM, Jon Watte wrote:

> 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 "<vector3>x,y,z</vector3>".
>
> 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.
>
> Sincerely,
>
> jw
>
>
> _______________________________________________
> mmox mailing list
> mmox@ietf.org
> https://www.ietf.org/mailman/listinfo/mmox