mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ' Comments-block ' ' The general purpose of schema is to map shortcuts to shortcuttees. ' Readme's "General rules how to use sml." should be read first. ' ' schema comprises following groups: ' ' Comments-block ' ' CRLF CRLF line which is VITAL TO PUT ' ' sml-header (optional) ' ' S T A T E L I S T ' ' \\shortcuts ' ' \\taggroup ' ' \\tagcuts ' ' ' ' pairs of taggroup, tagcuts can be met unlimited number of times in schema ' all groups must be separated by empty lines ' ' Comments block ' has no effect on schema, ' must be terminated by double-empty line: CRLF CRLF, ' therefore, no empty line must be inside this block. ' ' S T A T E L I S T explanation. ' FIRST COLUMN contains tags (or abbreviation) as it will be printed to output text. ' Low cases of this tokens also used to denote states. ' There are at least two states which do not correspond any of html element: ' ' #common and ' #start ' At the beginning of source text parsing, compiler is in state ' #start. ' Shortcut's context" can be specified as "#common". ' This means "in any state" == "in scope of any html-element." ' ' The first column also has two important functions. ' ' 1. tokens which are in upper case denote tagable tags. ' 2. Underscore at the end of token denotes extendable element. ' ' SECOND COLUMN column used to give special status to state. Psee \please see\ comments. ' APOSTROPHE OR SINGLE COMMA allow rest-of-line comment. ' ' STATE LIST is a place where long shortcuts can be defined also. ' Long shortcuts have a syntax \^name value ' where "name" is shortcut itself. "value" is a replacee. ' value can have a form of string " one/multiline text " ' ' IMPORTANT drawback of tihs sml-version: ' to keep long shortcuts enabled, line ' ^ #common ^ ' must not be deleted from \\shortcuts block; ' ' GROUP \\shortcuts must follow "STATES LIST". ' This group sets shortcuts themselves: their controls, context, and shortcuttee. ' ' GROUPS \\taggroup and \\tagcuts ' ' \\tagcuts group sets parcuts ' Column syntax is: tagcut==parcut [ ,replacee==parameter, partype [ ,nextelement-in-elements-tree]] ' Partype defines what next characters to take from source afer parcut: ' # - take whole number; ' 1,2,3, ... - how many consequent chars to take .. ' #space - take upto first space ' " - take upto first double quotes including this quotes. ' This allows to increase functionality if to modify block PARTYPE in parser. ' Nextelement allows to omit escaper in the often-following tag, like for tag <tr> after <table>. ' ' This schema does not shortcut most of java-script events inside the tag. ' ' ef Comments block ' mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm \\short-ml escaper=\ escapee=. indent= \\end of header S T A T E S L I S T KEYE_ 'escape tag for "tag extentions"; not used yet; HTML_ ' _ means "extendable html element"; HEAD_ 'comments in \\states list must start with apostrophe title_ 'low case: no tag subelements == "tagable"; 'comments BODY_ p pre_ hr br A_ TABLE_ m 'm means to print <!element-level> comment TR_ TD_ APPLET_ BASE DIV_ EMBED_ IMG MAP FONT_ b_ FORM_ INPUT TEXTAREA_ SELECT_ OPTION_ AREA sub_ sup_ SCRIPT_ foreign %_ foreign halftag 'order has no matter: "halftag foreign" will work; ?_ foreign halftag ^m SML ^s <a href="schema.txt">schema</a> ^t 	 ^tt 		 ^4 ^2 < a > a & a a 'this is an abbreviation #common #start 'initial state before reading a source \\shortcuts; column syntax: control, state, element or abbreviation which is used in shortcuttee h #start html h html head t head title b html body k #common keye h #common hr r #common tr d #common td b #common b p #common p a #common a _ #common br t #common table f #common font g #common img o #common form i #common input x #common textarea s #common select c #common option w #common pre v #common div - #common < #common < > #common > & #common & l #common script % #common % ? #common ? [ #common sub ] #common sup ^ #common ^ \\taggroup 'one word \\taggroup is required in first line. KEYE \\tagcuts \\taggroup A \\tagcuts: column syntax: tagcut==parcut [ ,replacee==parameter, partype [ ,nextelement-in-elements-tree]] r href=" " a href="http:// " n name=" " # href="# " t target=" " m href="mailto: " \\taggroup TABLE TR TD \\tagcuts: column syntax: tagcut==parcut [ ,replacee==parameter, partype [ ,nextelement-in-elements-tree]] r rowspan= # c colspan= # vt valign=top , vm valign=middle , , vb valign=bottom , , al align=left ac align=center ar align=right # bgcolor=# 6 , w width= # , h height= # , p cellpadding= # s cellspacing= # \\taggroup TABLE \\tagcuts b border= # , R , , tr \\taggroup TR \\tagcuts D , , TD \\taggroup TD \\tagcuts nw nowrap , F , , font B , , bold D , , td \\taggroup INPUT \\tagcuts b `type=button name="` " h `type=hidden name="` " p `type=password name="` " r `type=radio name="rdb` " c `type=checkbox name="` " u `type=submit name="` " t `type=text name="` " f `type=file name="` " n name=" " v value=" " s size= # m maxlength= # oc onClick=" " om onMove=" " \\taggroup FORM \\tagcuts a action=" " p method=post , g method=get , n name=" " \\taggroup SELECT \\tagcuts n name=" " s size= # m multiple f onFocus=" " \\taggroup OPTION \\tagcuts v value=" " s selected \\taggroup TEXTAREA \\tagcuts r rows= # c cols= # n name=" " o wrap=off v wrap=virtual p wrap=physical \\taggroup BODY \\tagcuts t text=# 6 g target= #space G target=" " w width=# # # bgcolor=# 6 l link=# 6 v vlink=# 6 a alink=# 6 P , , p \\taggroup FONT \\tagcuts f face= #space # color=# 6 s size= # a face=arial t face=times v face=veranda,helvetica,arial l face="lucida,verdana,helvetica,arial" h face='tahoma,verdana,arial,helvetica,sans-serif' c face="courier" B , , b \\taggroup BASE \\tagcuts t target= #space \\taggroup DIV \\tagcuts ac align=center al align=left ar align=right \\taggroup EMBED \\tagcuts s src=" " h height= # w width= # u units=" " p pluginspage=" " \\taggroup AREA \\tagcuts s shape= -n name=" " n name="are " c coords=" " h href=" " t target=" " ot onMouseOut=" " ov onMouseOver=" " \\taggroup IMG \\tagcuts r src=" " a src="http:// " \\taggroup HTML \\tagcuts H , , HEAD \\taggroup HEAD \\tagcuts T , , TITLE \\taggroup SCRIPT \\tagcuts j language="JavaScript" b language="VBScript"