BLD -> XML serialization

Hello,

Since the priorities have been set for finalizing the normative XML
syntax for BLD first, I have some comments as to the choice of style for
the XML produced as per the current RIF BLD XML schema.

This refers to a bundle that I have made available for dowloading at
http://wikix.ilog.fr/wiki/pub/Main/HassanAitKaci/BLD2XML.tar.gz. I am
submitting the documents it contains to this WG's attention for two
reasons:

1. to illustrate the sort of easy HTML-generated documentation giving
    the precise way each syntactic constructs in the PS is rendered in
    XML; and,

2. to experiment with alternative styles as the one used currently
    by this WG, and invite a debate of finalizing the XML style for
    RIF.

In the zipped tarball BLD2XML.tar.gz are the following documents:

0. This file (README.txt);

1. wg-style-doc/000StartHere.html: A Jacc-generated HTML documentation
    for a BLD grammar (as presented in the BLD document of May 2, 2008)
    in the style that is currently advocated in that document;

2. hak-style-doc/000StartHere.html: A Jacc-generated HTML documentation
    for a BLD grammar (as presented in the BLD document of May 2, 2008)
    in the style that makes more sense to me following the general
    following scheme:

    a. use full English words for tags (i.e., Constant as opposed to
       Const) - except perhaps for very commone tags such as op and arg;

    b. use attributes rather that elements' contents to record names of
       variables, constants, and the like...

    c. use meaningful tag names (e.g., why serialize x # y as
       <Member><lower>(x)</lower><upper>(y)</upper></Member> rather than
       <Member><element>(x)</element><class>(y)</class></Member>?)

3. JaccXmlAnnotations.doc: documentation explaining the Jacc grammar
    XML serialization annotation.

Note that in both the style I prefer and in the current WG style, I use
a notation such as:

    <Const typespace="rif" and typename="iri">foo:bar</Const>

as opposed to:

    <Const type="&rif;iri">foo:bar</Const>

or even:

    <Const type="rif:iri">foo:bar</Const>

as a temporary measure because I still need to add a couple of
functionalities to Jacc in order to generate this sort of stuff - a
SMOP).

My overall comments: in general, I find the current serialization style
uselessly verbose with redundant tag nestings. IMHO it should be made
terser and clearer. I know that this follows a fully-striped style based
on the EBNF. But I have problems with this because an EBNF is neither
unique for the language it defines, nor the most concise, nor even the
most convenient. (The current BLD EBNF is not even LALR(1) [for such a
simple language, this is worrisome, but then again...].)

Thank you for your attention.

-hak
-- 
Hassan Aït-Kaci  *  ILOG, Inc. - Product Division R&D
http://koala.ilog.fr/wiki/bin/view/Main/HassanAitKaci

Received on Wednesday, 7 May 2008 04:52:19 UTC