PreviousUpNext

15.3.330  src/lib/html/html-attributes.api

## html-attributes.sml
#
# This is the interface to htmlattrs, which provides support
# for parsing element start tags.

# Compiled by:
#     src/lib/html/html.lib


stipulate
    package has =  html_abstract_syntax;                                                        # html_abstract_syntax                  is from   src/lib/html/html-abstract-syntax.pkg
herein

    api Html_Attributes {

        Context = { file:  Null_Or( String ),
                    line:  Int
                  };

        # Support for building elements that have attributes 
        Attribute_Val == htmlattr_vals::Attribute_Val;
        Attributes = List ((String, Attribute_Val)); 

        make_hn:        ((Int, Context, Attributes, has::Text)) -> has::Block;
        make_isindex:   ((Context, Attributes)) -> { prompt:  Null_Or( has::Cdata ) };
        make_base:      ((Context, Attributes)) -> has::Head_Content;
        make_meta:      ((Context, Attributes)) -> has::Head_Content;
        make_link:      ((Context, Attributes)) -> has::Head_Content;
        make_body:      ((Context, Attributes, has::Block)) -> has::Body;
        make_p:         ((Context, Attributes, has::Text)) -> has::Block;
        make_ul:        ((Context, Attributes,  List( has::List_Item )) ) -> has::Block;
        make_ol:        ((Context, Attributes,  List( has::List_Item )) ) -> has::Block;
        make_dir:       ((Context, Attributes,  List( has::List_Item )) ) -> has::Block;
        make_menu:      ((Context, Attributes,  List( has::List_Item )) ) -> has::Block;
        make_li:        ((Context, Attributes, has::Block)) -> has::List_Item;
        make_dl:        ((Context, Attributes,  List { dt:  List( has::Text ), dd:  has::Block }) )
             -> has::Block;
        make_pre:       ((Context, Attributes, has::Text)) -> has::Block;
        make_div:       ((Context, Attributes, has::Block)) -> has::Block;
        make_form:      ((Context, Attributes, has::Block)) -> has::Block;
        make_hr:        ((Context, Attributes)) -> has::Block;
        make_table:     ((Context, Attributes, {
               caption:  Null_Or( has::Caption ),
               body:  List( has::Tr )
             }) ) -> has::Block;
        make_caption:  ((Context, Attributes, has::Text)) -> has::Caption;
        make_tr:        ((Context, Attributes,  List( has::Table_Cell )) ) -> has::Tr;
        make_th:        ((Context, Attributes, has::Block)) -> has::Table_Cell;
        make_td:        ((Context, Attributes, has::Block)) -> has::Table_Cell;
        make_a:         ((Context, Attributes, has::Text)) -> has::Text;
        make_img:       ((Context, Attributes)) -> has::Text;
        make_applet:    ((Context, Attributes, has::Text)) -> has::Text;
        make_param:     ((Context, Attributes)) -> has::Text;
        make_font:      ((Context, Attributes, has::Text)) -> has::Text;
        make_basefont:  ((Context, Attributes, has::Text)) -> has::Text;
        make_br:        ((Context, Attributes)) -> has::Text;
        make_map:       ((Context, Attributes,  List( has::Area )) ) -> has::Text;
        make_input:     ((Context, Attributes)) -> has::Text;
        make_select:    ((Context, Attributes,  List( has::Select_Option )) ) -> has::Text;
        make_textarea:  ((Context, Attributes, has::Pcdata)) -> has::Text;
        make_area:      ((Context, Attributes)) -> has::Area;
        make_option:    ((Context, Attributes, has::Pcdata)) -> has::Select_Option;

    };
end;


## COPYRIGHT (c) 1996 AT&T Research.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext