[Seaside] Seaside 2.8 versus 2.9 Alph4: non-HTML ouput

Robert Shiplett grshiplett2 at yahoo.com
Thu Aug 27 21:04:43 UTC 2009

In the VW port of 2.8 I found such obvious problems as
WAResponse>>beXML	contentType := contentType copyReplaceAll: '/html' with: '/xml'.
But in 2.9 Alpha 4 some problems remain which  are just as obvious:
WASession>>updateRoot: anHtmlRoot
	self application updateRoot: anHtmlRoot.	anHtmlRoot meta contentType: self application contentType.		anHtmlRoot meta contentScriptType: WAMimeType textHtml.		anHtmlRoot htmlAttributes		at: 'name' put: 'updateRoot'.	anHtmlRoot beXhtml10Strict.	anHtmlRoot title: 'Seaside'
" on a first pass I simply flip 'textHtml' method to a new textCurl' method while trying to track down why all contetn remained HTML even after removing the HTML classes (that was the preferences dict in WAEntryPont ) "
My class WACurlRoot is forced to implement a truly meaningless message   >>beXhtml10Strictas an empty stub
" if you think any and all output can be XML you have drunk too much of that X-Kool-Aid  "
The far more serious issue is attributes: this will imapct sem web in Curl output.
Semweb for XHTML probably means RDFa or rdf in attributes.  Curl has always had metadata for some macros, but other procedures have variable number options.  Options in Curl are not XML attributes.  They are sometimes very similar.
<a HREF = "some URL" target = "_blank">title</a>{link target = "_blank", href = {url "some URL}, title}
One of the first problems was a method that was forcing tags to uppercase.  Ok in XHTML; fatal in  Curl.
Notice the comma delimiter in Curl for options.
<h1 level = "1">header</h1>{heading level = 1, header}
<div/> has no couner-part in vanilla Curl.<span/> has no counter-part in vanilla Curl.
Curl has no need of <script> as it is itself script of mime type "text/vnd.curl"
I hope this helps shed some light on the challenges on non-SGML type web content markup.
Note: Curl is only hierarchical when output in declarative fashion and even then declarative mode is not strictly hierarchical for Curl-as-data-format.
The counter-parts to <var/>  in Curl might be
{let myvar = 42}{set myvar = 84}
Curl is typed if you declare it as typed but has an any type so in that respect closer to Smalltalk than Strongtalk and JavaScript.
{let myvar:int = 21}
The counter-part to <script/> might be
{define-proc public {some-proc}:any   {return 42}}
Most anything missing can be mimiced using Curl macros.
<div/>{mdiv }  || div is a reserved word
<span/>{span }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20090827/879f5e5b/attachment.htm

More information about the seaside mailing list