- From: T. V. Raman <tvraman@almaden.ibm.com>
- Date: Fri, 17 Aug 2001 17:26:50 -0700
- To: "Josef Dietl" <josef@mozquito.com>
- Cc: "joern turner" <joern@webman.de>, <www-forms@w3.org>
This summary by Josef is very very good -- to echo his key statement -- "it's not the syntax that makes things hard or difficult --it's the thinking required--" after many struggles with attempting to develop a simple syntax for data models, we realized that the HTML level author didn't just want a "simple data model syntax" --ideally, he/she did not want to think about the data model at all-- this is why we designed the three tier separation of concerns you see in XForms today-- it allows the designer of types and models to focus on his forte whilst allowing UI designers to work on what they do best. Separation of concerns *is* a good thing. --no point in asking some one who only wants to pedal a bike to go fly a 747. >>>>> "Josef" == Josef Dietl <josef@mozquito.com> writes: Josef> Hello Joern, >> the former WD still defined a 'Simple Syntax' for defining >> XForms-models,which was removed in the last WD. For my > personal opinion > this was an unlucky move... > Let me explain: > - it may be a personal issue but the removal left a gap which makes it > harder to imagine how the pieces (model,instance,ui) fit together. i > finally returned to a kind of 'simple syntax' for internal processing. Josef> The current perceived gap is IMO mostly an Josef> editorial issue (nothing against our editor here Josef> :-): We have removed the simple syntax when we Josef> knew that we couldn't sustain it, but we hadn't Josef> had the replacement yet. A joint task force was Josef> founded between the Schema Working Group and the Josef> XForms Working Group, and that task force has Josef> delivered its results recently. We are currently Josef> preparing a new draft that among others fills the Josef> gap. Usual disclaimers apply, from what I can see Josef> holdig your breath is in order. >> - Schema is surely the future, but also terribly complicated for a >> novice. The use of Schema directly in XForms raises the bar > of knowledge > a XForms-Editor needs by degrees. The Simple Syntax provided > a nice way > to reduce that markup-complexity and ease the job of XForms-editing. Josef> True, Schema is said to be complicated. But Josef> looking closely we found that - given our Josef> requirements, the thinking process is the Josef> difficult part, the actual syntax is "just Josef> syntax". Maybe we could have simpliefied the Josef> syntax, but we could never have simplified the Josef> thinking. - we have to support Schemas Josef> anyway. Simply because the use case that someone Josef> has a Schema for his or her data already is so Josef> overwhelmingly significant. Josef> Essentially, there are two dominant use cases, Josef> probably with not much in between: - the Josef> really-simple form, say, a search form. Doesn't Josef> need input validation to begin with. - the user Josef> interface to an XML-based application. In all Josef> likelihood, already has a Schema: the Schema Josef> attached to the application in the background. Josef> You will find the details of the solution in the Josef> next draft, roughly what we've done is a tiered Josef> approach: - if you don't know about validation, Josef> don't worry - you don't have to provide it. - if Josef> you do, you may live with just Schema Datatypes Josef> (part 2). - if you have a Schema, use it. - if Josef> you have someone who knows how to handle Schemas, Josef> work with him: the interface between the UI and Josef> the Schema is as lean as can be. >> - all this terrible flexibility XForms provides should also >> serve simple > purposes. The effort of building a simple form application (like all > these thousands in the web) with XForms shouldn't be much higher than > the conventional way of hacking html-forms and perl-scripts. At the > moment an editor needs knowledge of XML, CSS, Schema, XPath ... >> From what I see, the main requirement is XPath, and >> ever there, Josef> incremental knowledge is perfectly Josef> sufficient. The simplest cases are of the order Josef> "/address/street", and while this is news for Josef> many, it is sufficiently easy to learn - and Josef> whatever else we could have come up with would Josef> have been new, too. In that case, you can start Josef> out simple and slowly increase your Josef> knowledge. Alternatively, you can use the bind Josef> element and have someone else do the legwork for Josef> you. Josef> Again, it's not the solution that is difficult Josef> but the problem that is hard, and by using XPath Josef> we have at least the people who know about Josef> XPointer and the people who know about XSL-T on Josef> our side. We also leave the door open for future Josef> developments in the area of XPath together with Josef> XML Query, which is a extremely exciting prospect Josef> to me. Ideally, one day in the future, your form Josef> fields could adress directly into the database... Josef> XPath is currently the only know-how bottleneck. Josef> With all due respect, but tasked with writing Josef> something for XML I take XML for granted, and Josef> tons of Web designers have managed to master CSS Josef> so far. You can live well in an XForms context Josef> without knowing anything about Schemas, it just Josef> shouldn't surprise you that you can't access Josef> Schema's features in that case. >> - as you've mentioned even Schema doesn't provide some features e.g. >> there is no direct mapping of a required attribute. These additional, > form-specific issues could be more clearly marked out in a specialized > syntax. Josef> ... and that's why we have kept a very small set Josef> of forms-specific properties: required, relevant, Josef> readOnly, calculate and validate. It's simply not Josef> worth inventing a whole new syntax (plus the Josef> learning effort everybody would have to put in) Josef> just for these five properties. >> - a lot of the power of XForms comes from its abstractions: >> e.g. the UI > abstracts a concrete representation in a UI-toolkit. Why not let the > model abstract the concrete usage of a schema (with little s) > mechanism? > This would nicely solve the issue with different clients: like the > processor maps the UI to the clients-format it could map a XForms > model-syntax to a version compatible with the client (may it > be Schema, > Relax,T-Rex, DTD, instance-attributes,..., according to needs). Josef> Interesting approach. But as far as I can tell, Josef> it is difficult to realize and will not provide Josef> an XForms author with the necessary Josef> reliability. For example, if (s)he writes a form Josef> and assumes that the model takes care of checking Josef> that a date-of-birth is actually a date, then a Josef> translation to DTDs will just not cut it. Faced Josef> with that prospect, the designer would have to Josef> write the code for the date validation again Josef> anyway, so under these circumstances the model Josef> doesn't add value. Josef> If we provide the feature, we want people to be Josef> able to depend on it. Otherwise, we can drop it Josef> in the first place. >> - we've been building some test-forms with repeats and >> switches and even > in our simplified syntax, the appropriate model-markup becomes really > complicated (we're using just one element where Schema syntax needs at > least 3). Josef> As I said earlier: the tricky thing is not the Josef> markup, the tricky thing is the thinking Josef> behind. Repeat and switch are extremely powerful Josef> constructs, and exploiting that power takes some Josef> thought. A switch in the UI for example is pretty Josef> much equivalent to a choice in the Schema, and Josef> repeat corresponds to maxOccurs>1. So, Josef> fundamentally, it's easy. But you can nest and Josef> recurse these constructs - that is where the Josef> power comes from, but it's also where the Josef> brainware is challenged. >> Thank you for considering these argruments. They are directly >> related to > our pratical problems while implementing a constrained client > (pure html). Josef> You're welcome. Live and learn - and what I Josef> personally start to realize is that XForms is so Josef> powerful that it's hard to keep the general Josef> overview. The benchmark is still the saying from Josef> the old XML guru: Make the simple things simple Josef> and the hard things possible. (I've heared this Josef> first from Paul Grosso, but I'm not sure he is Josef> the originator.) In my opinion, we stick with Josef> that by providing reasonable defaults for Josef> everything. What do others think? Josef> Hope this helps... Josef> Josef -- Best Regards, --raman ------------------------------------------------------------ IBM Research: Human Language Technologies Phone: 1 (408) 927 2608 Fax: 1 (408) 927 3012 Email: tvraman@us.ibm.com WWW: http://www.cs.cornell.edu/home/raman PGP: http://emacspeak.sf.net/raman.asc Snail: IBM Almaden Research Center, 650 Harry Road San Jose 95120
Received on Friday, 17 August 2001 20:29:37 UTC