RE: Question on movesinstitute AVCL test case schemaless encoding

Ed,

Thanks again for reporting this issue. I looked into it and found there is
an omission in the specification. In particular, there is a missing semantic
in the Built-In Element Grammar [1]. 

We have a semantic that adds a CH event of length 1 to the grammars when CH
is encountered in the stream. However, the equivalent rule for EE is
missing. 

I will fix this, I will add the following semantic to section 8.4.3 after
the equivalent semantic for the CH event:

All productions in the built-in Element grammar of the form LeftHandSide :
EE RightHandSide are evaluated as follows: 

	1. If a production of the form, LeftHandSide : EE RightHandSide with
an event code of length 1 does not exist in the current element grammar,
create one with event code 0 and increment the first part of the event code
of each production in the current grammar with the non-terminal LeftHandSide
on the left hand side. 
	2. Add the production created in step 1 to the grammar 
	3. Evaluate the remainder of event sequence using RightHandSide.

Essentially, this allows the schema-less encoding to learn that this element
is an empty element and it is likely that future instances will contain an
EE event while processing start tag events.

Good catch Ed!

	Thanks,

	John


[1] http://www.w3.org/TR/exi/#builtinElemGrammars

> -----Original Message-----
> From: John Schneider [mailto:john.schneider@agiledelta.com] 
> Sent: Monday, October 13, 2008 9:23 AM
> To: 'Ed Day'; 'public-exi@w3.org'
> Subject: RE: Question on movesinstitute AVCL test case 
> schemaless encoding
> 
> Hi Ed,
> 
> Thanks for reporting this. I can help take a look at it to 
> see what's going on.
> 
> 	Cheers,
> 
> 	John 
> 
> > -----Original Message-----
> > From: public-exi-request@w3.org
> > [mailto:public-exi-request@w3.org] On Behalf Of Ed Day
> > Sent: Monday, October 13, 2008 7:20 AM
> > To: public-exi@w3.org
> > Subject: Question on movesinstitute AVCL test case 
> schemaless encoding
> > 
> > 
> > We have run across an issue with the schemaless encoding of AVCL in 
> > the movesinstitute test data.  We believe either the 
> encoding is not 
> > correct, or it needs to be explained better in the spec.
> > 
> > An error occurs in our implementation as well as the two 
> open source 
> > implementations (ExiLib and EXIficient) before the second "meta"
> > element
> > 
> >   <head>
> >       <meta name="description" content="AVCL output file 
> generated by 
> > AUVWorkbench"/>
> >       <meta name="description" content="Execution Level 
> Output File"/>
> > 
> > file telemCompTest1M.xml_NOSCHEMA_BYTEALIGN.exi has the 
> following byte 
> > sequence:
> > 
> > 01 00 - SE(*) - first occurrence of  element "meta" in "head"
> > ElementContent grammar.
> > 01 00 04 - "meta" qname - uri = "", 4rd record from uri "".
> > 02 00 - must be AT(name) - exi2xml expect event code 01, but
> > 02 00 is EE event.
> > 01 string - must be AT(content) - exi2xml expect event code 00.
> > 
> > I.e. exi2xml generates grammar:
> > 
> > AT(content)    0
> > AT(name)       1
> > EE                2.0
> > ....
> > 
> > But event sequence expect grammar:
> > 
> > ?                   0
> > AT(content)    1
> > AT(name)       2
> > EE                3.0
> > ....
> > 
> > The first event may be CH.  But according to the spec, a CH event 
> > should only be inserted into the grammar when the element contains 
> > content ("meta" has empty content).  This is the relevant 
> paragraph in 
> > the spec:
> > 
> > "All productions in the built-in Element grammar of the form 
> > LeftHandSide : CH RightHandSide are evaluated as follows:
> > 
> >    1. If a production of the form, LeftHandSide : CH RightHandSide 
> > with an event code of length 1 does not exist in the 
> current element 
> > grammar, create one with event code 0 and increment the 
> first part of 
> > the event code of each production in the current grammar with the 
> > non-terminal LeftHandSide on the left hand side.
> >    2. Add the production created in step 1 to the grammar
> >    3. Evaluate the remainder of event sequence using RightHandSide."
> > 
> > Since there is no CH event in the previous sequence for 
> meta, we can't 
> > see how this is getting added, or if it is supposed to be something 
> > else.
> > 
> > Regards,
> > 
> > Ed Day
> > Objective Systems, Inc.
> > http://www.obj-sys.com
> > 
> 

Received on Wednesday, 15 October 2008 18:03:25 UTC