Friday, October 30, 2009

HTML 5, Curl and presentation

I thought it might be helpful to post the "tags" used as text-formats in the Curl language (at least those in the package CURL.GUI.TEXT-FORMATS)

Curl also allows the creation of user-defined formats, text-procedures and macros so the power of Curl for markup and markdown goes far beyond these expressions.

HTML 5 is expected to drop so-called "presentation" elements such as those using the tag "br". CSS and possibly XSLT are required to achieve such simple text formatting for "presentation".

In Curl, text itself is treated as a Visual object and with Curl 7.0 additional classes and expressions were added to strengthen this alternative one-language approach to presenting structured content whether in the browser or in a desktop application.

The 6.0 version of the text-formats can be found on-line at developers.curl.com (click "show" in the upper-left corner of that page to open the full browser view.)

The Curl 7.0 list of text-format tags follows:
big
blockquote
bold
br
browse-url
bullet
cell
center
copyright
default-browse-url
definition
definition-list
degrees
destination
elaborate
em-dash
en-dash
enumerate
full-copyright
full-rte-copyright
header-cell
header-row
heading
hrule
huge
image
italic
item
itemize
left-justify
line-through
link
marker
monospace
no-break
numbered-heading
page-break
pre
quote
registered-trademark
right-justify
row
small
subscript
superscript
table
term
text-part
tiny
title
trademark
underline
In the above list "link" corresponds to the HTML "a" anchor tag.

{text-part some text of ours} is particularly interesting as an example of the difference between the Curl approach and the X/HTML approach to web content.  When the expression is evaluated by the Curl runtime engine, a Visual object is returned which can then be passed into other expressions, macros or procedures.
In those contexts, the .add method - common to all descendents of Visual - can be used as a common protocol without concern whether the original string content was a String, a StringBuf or other type of text object, as in
set sample-visual = {text-part some string content of yours}
{some-action sample-visual}
|| comment: where in {some-action } we would find
   {visual-parameter.add "more content"}
Curl 6.0 added a library for separation of style-sheets and Curl 7.0 incorporated this into the default packages so that each of the above elements can be styled just as one would use CSS to style HTML.

In addition to text-formats, Curl includes text-procedures such as {text } and {paragraph } and a wide range of predefined paragraph-formats.  Further, the standard libraries include {TextArea }, { TextFlowBox } which go beyond markup Visual objects to being full-blown GUI widgets (Graphic objects) such as usually would require JavaScript or the like and which respond to UI events such as mouse clicks.

No comments:

Post a Comment