<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">In the VW port of 2.8 I found such obvious problems as<div><br></div><div><div>WAResponse</div><div>&gt;&gt;beXML</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>contentType := contentType copyReplaceAll: '/html' with: '/xml'.</div><div><br></div><div>But in 2.9 Alpha 4 some problems remain which &nbsp;are just as obvious:</div><div><br></div><div><div>WASession</div><div>&gt;&gt;updateRoot: anHtmlRoot</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>self application updateRoot: anHtmlRoot.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>anHtmlRoot meta contentType: self application contentType.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>anHtmlRoot meta contentScriptType:
 WAMimeType textHtml.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>anHtmlRoot htmlAttributes</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>at: 'name' put: 'updateRoot'.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>anHtmlRoot beXhtml10Strict.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>anHtmlRoot title: 'Seaside'</div></div><div><br></div><div>" 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 ) "</div><div><br></div><div>My class WACurlRoot is forced to implement a truly meaningless message</div><div>&nbsp;&nbsp; &gt;&gt;beXhtml10Strict</div><div>as an empty stub</div><div><br></div><div>" if you think any and all
 output can be XML you have drunk too much of that X-Kool-Aid &nbsp;"</div><div><br></div><div>The far more serious issue is attributes: this will imapct sem web in Curl output.</div><div><br></div><div>Semweb for XHTML probably means RDFa or rdf in attributes. &nbsp;Curl has always had metadata for some macros, but other procedures have variable number options. &nbsp;Options in Curl are not XML attributes. &nbsp;They are sometimes very similar.</div><div><br></div><div>&lt;br&gt;</div><div>{br}</div><div><br></div><div>&lt;a HREF = "some URL" target = "_blank"&gt;title&lt;/a&gt;</div><div>{link target = "_blank", href = {url "some URL}, title}</div><div><br></div><div>One of the first problems was a method that was forcing tags to uppercase. &nbsp;Ok in XHTML; fatal in &nbsp;Curl.</div><div><br></div><div>Notice the comma delimiter in Curl for options.</div><div><br></div><div>&lt;h1 level = "1"&gt;header&lt;/h1&gt;</div><div>{heading level = 1,
 header}</div><div><br></div><div>&lt;div/&gt; has no couner-part in vanilla Curl.</div><div>&lt;span/&gt; has no counter-part in vanilla Curl.</div><div><br></div><div>Curl has no need of &lt;script&gt; as it is itself script of mime type "text/vnd.curl"</div><div><br></div><div>I hope this helps shed some light on the challenges on non-SGML type web content markup.</div><div><br></div><div>Note: Curl is only hierarchical when output in declarative fashion and even then declarative mode is not strictly hierarchical for Curl-as-data-format.</div><div><br></div><div>The counter-parts to &lt;var/&gt; &nbsp;in Curl might be</div><div><br></div><div>{let myvar = 42}</div><div>{set myvar = 84}</div><div><br></div><div>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.</div><div><br></div><div>{let myvar:int = 21}</div><div><br></div><div>The counter-part to &lt;script/&gt; might
 be</div><div><br></div><div>{define-proc public {some-proc}:any</div><div>&nbsp;&nbsp; {return 42}</div><div>}</div><div><br></div><div>Most anything missing can be mimiced using Curl macros.</div><div><br></div><div>&lt;div/&gt;</div><div>{mdiv } &nbsp;|| div is a reserved word</div><div><br></div><div>&lt;span/&gt;</div><div>{span }</div><div><br></div></div></td></tr></table>