## html-attributes.sml
#
# This is the interface to htmlattrs, which provides support
# for parsing element start tags.
# Compiled by:
#
src/lib/html/html.libstipulate
package has = html_abstract_syntax; # html_abstract_syntax is from
src/lib/html/html-abstract-syntax.pkgherein
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.