- From: David Orchard <dorchard@bea.com>
- Date: Wed, 20 Jun 2007 09:11:55 -0700
- To: <noah_mendelsohn@us.ibm.com>, <www-tag@w3.org>, "Tim Berners-Lee" <timbl@w3.org>
Tremendous! This is wonderful. Do you think this would be worthwhile to add to the versioning works, or is it extra material that takes away from the larger picture? I could add this using this example, or a different example.. Another idea, is that we could do this as a standalone "micro-finding" that would be linked from the other finding(s). I'm happy to do whatever editorial work the group agrees on. My proposal is that this should be a stand-alone "micro-finding" that would be linked. "For an example of defined text set and accept text set applied to an HTML extension, see @@".. Cheers, Dave > -----Original Message----- > From: noah_mendelsohn@us.ibm.com [mailto:noah_mendelsohn@us.ibm.com] > Sent: Wednesday, June 20, 2007 9:07 AM > To: www-tag@w3.org; Tim Berners-Lee > Cc: David Orchard > Subject: Defined sets, accept sets, and <banana> elements > > During our discussions of versioning at the June 2007 TAG F2F > I raised concerns about our notions of "defined text set" and > "accept text set" > [1]. If you're reading the minutes at [2], look for the bit > that begins: > "NM: I think by the way that the defined set and the accept > set is less useful than we thought...". At the meeting, I > challenged the group with a sketch of an example, asking how > it would be handled by the defined-set/accept-set model. I > didn't hear an answer that satisfied me in the room, but Tim > and I happened to sit together on the flight home. He > expressed to me some support for the defined-set/accept-set > formulation, and he suggested how he would apply it to the > example I had in mind. The purpose of this note is to record > the example and Tim's explanation, as I understood it, and > then to comment a bit. I assume he'll correct any > misunderstandings on my part. > > The Example Language: PHTML > --------------------------- > > The example is motivated by HTML, as styled by CSS. To avoid > ratholes relating to particular historical details of those > languages, I'll here use two mythical languages PTHMTL, and > PCSS (pretend HTML and pretend CSS), pertinent details of > which are as follows: > > Assume that PTHML is a language of well formed XML documents > that must have a root tag <PHTML>. A few HTML-like tags, > such as <P> for paragraph and <BODY> for body are defined in > the PTHML version 1 specification. As with HTML, PHTML > allows for the appearance of arbitrary tags such as <BANANA> > not named explicitly in the specification; it defines any > document containing such an extension tag to have the the > same semantics as a similar document from which that tag has > been deleted. Thus, per the PHTML spec., the following two > documents have the same meaning: > > doc1.phtml: > > <PHTML> > <BODY> > <P>Versioning is hard.</P> > </BODY> > </PHTML> > > -and- > > doc2.phtml: > > <PHTML> > <BODY> > <BANANA> > <P>Versioning is hard.</P> > </BANANA> > </BODY> > </PHTML> > > This is basically the example language we discussed at the > F2F. (The application of CSS to this language is discussed > later in this note.) > > Application of defined text sets and accept text sets to PHTML > -------------------------------------------------------------- > > The invariant in the defined-set/accept-set formulation is > that every document in the accept-set conveys the same > meaning as some particular document in the defined set. > doc1.phtml above is in the defined set for PHTML, because all > of its content has a meaning supplied directly by the > specification. doc2.phtml is in the accept set; that > document too is in the PHTML language, but the semantics of > doc2.phtml are defined by means of its equivalence to a > defined-set document, doc1.phtml. > > So far, so good. All of this makes sense to me. Defined > sets and accept sets do a good job of explaining this extensibility. > > The challenge > ------------- > > Now we come to the interesting part of the example. We allow > our pretend CSS language to style the markup in PHTML > documents, and crucially, the styles can be applied to > <BANANA> elements as well as to paragraphs. > > <PHTML> > <HEAD> > <STYLE type="text/pcss"> > P {font-size: 120%} > BANANA {color:yellow} > </STYLE> > </HEAD> > <BODY> > <BANANA> > <P>Versioning is hard.</P> > </BANANA> > </BODY> > </PHTML> > > The paragraph will have a large font and will be yellow. My > challenge to the TAG was: how do defined and accept sets > explain this sort of extensibility? (Note that the > equivalent is allowed for real CSS applied to real HTML.) > > My understaning of Tim's preferred answer is: "PTHML as > redefined by PCSS is a different language than PHTML on its > own, and all of the legal strings (texts) in that new > language are in its defined set -- the accept set is the > empty set. The PCSS specification is the one that gives a > non-vacuous meaning to <BANANA> elements, and indeed in the > presence of PCSS, a document with a <BANANA> is no longer > equivalent to one without. > Thus, according to PHTML as redefined by PCSS, all PHTML > documents are in the defined set, and none are in the accept set." > > Some Comments > ------------- > > I found this analysis to be tremendously helpful. It > certainly meets my challenge at the F2F, which was to show > how the defined-set/accept-set model can be coherently > applied to this example. I hope Tim can confirm that I've > correctly captured the essence of his analysis, and I'll be > very curious to see whether others who've been advocating the > defined-set/accept-set approach would apply it the same way. > > As to my own position, I want to give it some more thought. > My initial concern (Dave and I discussed this at great length > at dinner in Mountain > View) was that I didn't really see how to apply the concepts > to my example, and Tim has resolved that concern. What > remains is a worry that by putting everything into the > defined-set, our versioning model is no longer saying much > about the sense in which the PHTML+PCSS V1 language is indeed > extensible. When PHTML+PCSS version 2 comes along and > defines semantics for some elements like <BANANA>, I'm not > sure how the model's going to help us explain what happened, > because everything was in the V1 defined set to begin with. > Many languages in fact provide nontrivial default semantics > for their extension content -- our mythical PTHML/PCSS > allowed the extension content to be styled, but a PDOM might > well have allowed scripts to address the extensions, and > many, many non-HTML languages provide interesting default > semantics for extension content (store it, print it, etc.). > I think these are really interesting use cases, and I'll be > disappointed if our formal models don't explain them well. > > Nonetheless, I think Tim and others are making a strong point > that, in the interesting sub-case where extension content is > truly and completely ignored, the defined-set/accept-set > model gives a nice, clean, set-oriented explanantion. I buy > that. So, I think this is progress. > Thanks to Tim for being patient in working through this with me. > > Noah > > [1] http://www.w3.org/2001/tag/doc/versioning-20070518 > [2] http://www.w3.org/2001/tag/2007/05/30-minutes#item06 > > -------------------------------------- > Noah Mendelsohn > IBM Corporation > One Rogers Street > Cambridge, MA 02142 > 1-617-693-4036 > -------------------------------------- > > > > >
Received on Wednesday, 20 June 2007 16:12:11 UTC