Hello there,

I have a question that I tried to solve on a more applicative mailing-list, but 
which
seem not to interest anybody there ;-)

That's why I'll give it a try on this forum.

Sorry if it's not exactly the right forum, I'm not familiar with EcmaScript and 
its
various brands, not to mention associated discussion forums/lists.
I'm confident, however, that I will find knowledgeable advice here (or, at 
least,
redirection to appropriate discussion).

My questions arise from the last version of the W3C SISR standard
(http://www.w3.org/TR/semantic-interpretation/). It is used to normalize how one
writes (ECMA-327) code to build semantic information from a voice grammar.

More precisely, my question is about serialization.
A chapter of the afore-mentionned standard is devoted to serializing an ECMA
object in an XML form (a.k.a." EMMA form" in SISR wording). Along this chapter,
interrogations come into play as to how some ECMA objects are serialized in
"ECMA" format: It seems it's such an obvious (sub-)problem in the context of
SISR standard that it is not even mentionned what governs this serialisation.
I make the hypothesis that this format is the same as the way one writes a 
literal
value in an ECMA program, though I can't get any confirmationon w3.voice 
forum...

[BTW, I don't know if ECMA's literal syntax is exactly the same as JSON, I'm
interested in any clarification from you on this particular point.]


At some point of SISR chapter 7, more precisely item 5 in section 7.1, I find
the following wording concerning EMMA (i.e. XML) serialization of ECMA arrays:
"Any other properties of an Array object, for instance the keys of an 
associative
array (e.g. a["prop"]), are subject to the same transformation rules as the
regular properties of an object. In a sparse array, only those elements which
hold defined values will be serialized."

Though this text describes the XML serialization, it clearly has implication on
ECMA serialization as well: Indeed, it asserts as perfectly acceptable that an
array object can have non-integer properties in addition to "regular" index
properties.
The question is then: How do you ECMA-serialize an array object having, in 
addition
to index properties, non-integer properties?

>From what I understand of ECMA-262 (which is little...) the following SISR 
>fragment:
**   v1=new Array; v1.push("A"); v1[3]="B"; $.v1=v1;
should yield the following ECMA serialization: 
**   {v1:["A",,,"B"]}
So would the equivalent ECMA fragment using the literal syntax:
**   v1=["A",,,"B"]; $.v1=v1;

This is (hopefully) straightforward.

But then, what would the following SISR fragment yield?
**   v1=new Array; v1.push("A"); v1[3]="B"; v1["prop"]="C"; $.v1=v1;

>From my (short, but nevertheless painful) search in ECMA reference document,
I was not able to find how you can specify literally an ECMA array with 
additional
non-integer properties.

The only answer I got on "w3.voice" was one suggesting to use the object 
notation to
create "something" that mixes integer and non-integer properties. However, this 
"something"
is nothing more than a regular object (though slightly unusual, since it has 
integer properites),
not an array object with non-integer properties.
It is thus obviously (at least, that's how I analyse it) not the way one should 
serialize
such an array.


Comments anyone?


Thanks in advance.

--Serge Le Huitouze


No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.488 / Virus Database: 269.14.10/1070 - Release Date: 14/10/2007 
09:22
 
_______________________________________________
Es4-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es4-discuss

Reply via email to