Re: Abstract v concrete syntax

Yes, but it is absolutely essential to realize that in the latest layering 
of the specification it is the abstract components, such as type 
definitions and element declarations, that comprise a schema.  The 
concrete syntax (e.g <schema>) represents a normative standard for the 
interchange of such definitions and declarations.  For historical reasons, 
the current draft buries that fundamental distinction in the composition 
chapter. 

I assume that in upcoming rewrites we will make the distinction very 
clear.  Specifically, we must explain the layering more clearly, and we 
must also make sure that all of the validity rules are properly associated 
with the appropriate layer of the specification.  Note that the schema for 
schemas applies directly to the interchange format, so some of the 
constraints that it embodies must also be called out explicitly in the 
text, as many of them apply to the abstract schema as well as to the 
interchange syntax.

I do agree with James that, at this point, the abstract syntax represents 
a confusing middle ground:  it does not provide a rigorous introduction to 
the core definitions of the schema, and it is only indirectly related to 
the concrete syntax.  I also agree with Henry's proposed direction for a 
resolution.

------------------------------------------------------------------------
Noah Mendelsohn                                    Voice: 1-617-693-4036
Lotus Development Corp.                            Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------------







ht@cogsci.ed.ac.uk (Henry S. Thompson)
Sent by: w3c-xml-schema-ig-request@w3.org
12/21/99 07:18 AM

 
        To:     James Clark <jjc@jclark.com>
        cc:     www-xml-schema-comments@w3.org, (bcc: Noah Mendelsohn/CAM/Lotus)
        Subject:        Re: Abstract v concrete syntax

James Clark wrote:

> I find the split between abstract and concrete syntax impedes
> understanding of the spec (it reminds me of 8879): I would find it much
> more helpful to have just a concrete syntax.  The 1991105 draft seemed
> to me taking a step in the right direction by including concrete syntax
> in the body of the spec using a similar notation to the XSLT spec; I was
> surprised to find that these have disappeared in the 19991217 draft.

I agree the current state is unsatisfactory.

We got a modest amount of negative feedback about the concrete syntax
paradigms in the previous two PWDs.  They've been removed _pro tem_ in 
anticipation of a stylesheet working directly off of the schema for
schemas, producing a concrete syntax summary more in keeping with
schemas, but specific suggestions for how this should look are
welcome.

As for the abstract syntax, it will probably go, to be replaced by 
definitions
of the abstract underlying types, which are much fewer and simpler,
e.g. I think all we need here are

   simple type defn
   facet
   complex type defn
   content model
   element decl
   attribute decl
   key, unique, keyref
   any

ht
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of 
Edinburgh
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
                     Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
                                      URL: http://www.ltg.ed.ac.uk/~ht/

Received on Tuesday, 21 December 1999 10:30:09 UTC