_HTML_ Library, _html.ss_ ========================= (require (lib "html.ss" "html")) will provide functions to read html documents and structures to represent them. Functions: ========== > read-xhtml : [Input-port] -> Html > read-html : [Input-port] -> Html > read-html-as-xml : [Input-port] -> (listof Content) See the XML library for the definition of Content HTML Structures: ================ Pcdata, Entity, and Attribute are defined in the XML documentation. > Html-content = Html-element | Pcdata | Entity > Html-element = any of the structures below which all inherit from (define-struct html-element (attributes)). Any html tag that may include content also inherits from (define-struct (html-full struct:html-element) (content)) without adding any additional fields. A Html is (make-html (listof Attribute) (listof Contents-of-html)) A Contents-of-html is either - Body - Head A Div is (make-div (listof Attribute) G2) A Center is (make-center (listof Attribute) G2) A Blockquote is (make-blockquote (listof Attribute) G2) An Ins is (make-ins (listof Attribute) G2) A Del is (make-del (listof Attribute) G2) A Dd is (make-dd (listof Attribute) G2) A Li is (make-li (listof Attribute) G2) A Th is (make-th (listof Attribute) G2) A Td is (make-td (listof Attribute) G2) An Iframe is (make-iframe (listof Attribute) G2) A Noframes is (make-noframes (listof Attribute) G2) A Noscript is (make-noscript (listof Attribute) G2) A Style is (make-style (listof Attribute) Cdata) A Script is (make-script (listof Attribute) Cdata) A Basefont is (make-basefont (listof Attribute)) A Br is (make-br (listof Attribute)) An Area is (make-area (listof Attribute)) A Link is (make-link (listof Attribute)) An Img is (make-img (listof Attribute)) A Param is (make-param (listof Attribute)) A Hr is (make-hr (listof Attribute)) An Input is (make-input (listof Attribute)) A Col is (make-col (listof Attribute)) An Isindex is (make-isindex (listof Attribute)) A Base is (make-base (listof Attribute)) A Meta is (make-meta (listof Attribute)) An Option is (make-option (listof Attribute) Pcdata) A Textarea is (make-textarea (listof Attribute) Pcdata) A Title is (make-title (listof Attribute) Pcdata) A Head is (make-head (listof Attribute) (listof Contents-of-head)) A Contents-of-head is either - Base - Isindex - Link - Meta - Object - Script - Style - Title A Tr is (make-tr (listof Attribute) (listof Contents-of-tr)) A Contents-of-tr is either - Td - Th A Colgroup is (make-colgroup (listof Attribute) Col) A Thead is (make-thead (listof Attribute) Tr) A Tfoot is (make-tfoot (listof Attribute) Tr) A Tbody is (make-tbody (listof Attribute) Tr) A Tt is (make-tt (listof Attribute) G5) An I is (make-i (listof Attribute) G5) A B is (make-b (listof Attribute) G5) An U is (make-u (listof Attribute) G5) A S is (make-s (listof Attribute) G5) A Strike is (make-strike (listof Attribute) G5) A Big is (make-big (listof Attribute) G5) A Small is (make-small (listof Attribute) G5) An Em is (make-em (listof Attribute) G5) A Strong is (make-strong (listof Attribute) G5) A Dfn is (make-dfn (listof Attribute) G5) A Code is (make-code (listof Attribute) G5) A Samp is (make-samp (listof Attribute) G5) A Kbd is (make-kbd (listof Attribute) G5) A Var is (make-var (listof Attribute) G5) A Cite is (make-cite (listof Attribute) G5) An Abbr is (make-abbr (listof Attribute) G5) An Acronym is (make-acronym (listof Attribute) G5) A Sub is (make-sub (listof Attribute) G5) A Sup is (make-sup (listof Attribute) G5) A Span is (make-span (listof Attribute) G5) A Bdo is (make-bdo (listof Attribute) G5) A Font is (make-font (listof Attribute) G5) A P is (make-p (listof Attribute) G5) A H1 is (make-h1 (listof Attribute) G5) A H2 is (make-h2 (listof Attribute) G5) A H3 is (make-h3 (listof Attribute) G5) A H4 is (make-h4 (listof Attribute) G5) A H5 is (make-h5 (listof Attribute) G5) A H6 is (make-h6 (listof Attribute) G5) A Q is (make-q (listof Attribute) G5) A Dt is (make-dt (listof Attribute) G5) A Legend is (make-legend (listof Attribute) G5) A Caption is (make-caption (listof Attribute) G5) A Table is (make-table (listof Attribute) (listof Contents-of-table)) A Contents-of-table is either - Caption - Col - Colgroup - Tbody - Tfoot - Thead A Button is (make-button (listof Attribute) G4) A Fieldset is (make-fieldset (listof Attribute) (listof Contents-of-fieldset)) A Contents-of-fieldset is either - Legend - G2 An Optgroup is (make-optgroup (listof Attribute) Option) A Select is (make-select (listof Attribute) (listof Contents-of-select)) A Contents-of-select is either - Optgroup - Option A Label is (make-label (listof Attribute) G6) A Form is (make-form (listof Attribute) G3) An Ol is (make-ol (listof Attribute) Li) An Ul is (make-ul (listof Attribute) Li) A Dir is (make-dir (listof Attribute) Li) A Menu is (make-menu (listof Attribute) Li) A Dl is (make-dl (listof Attribute) (listof Contents-of-dl)) A Contents-of-dl is either - Dd - Dt A Pre is (make-pre (listof Attribute) (listof Contents-of-pre)) A Contents-of-pre is either - G9 - G11 An Object is (make-object (listof Attribute) (listof Contents-of-object-applet)) An Applet is (make-applet (listof Attribute) (listof Contents-of-object-applet)) A Contents-of-object-applet is either - Param - G2 A Map is (make-map (listof Attribute) (listof Contents-of-map)) A Contents-of-map is either - Area - Fieldset - Form - Isindex - G10 An A is (make-a (listof Attribute) (listof Contents-of-a)) A Contents-of-a is either - Label - G7 An Address is (make-address (listof Attribute) (listof Contents-of-address)) A Contents-of-address is either - P - G5 A Body is (make-body (listof Attribute) (listof Contents-of-body)) A Contents-of-body is either - Del - Ins - G2 A G12 is either - Button - Iframe - Input - Select - Textarea A G11 is either - A - Label - G12 A G10 is either - Address - Blockquote - Center - Dir - Div - Dl - H1 - H2 - H3 - H4 - H5 - H6 - Hr - Menu - Noframes - Noscript - Ol - P - Pre - Table - Ul A G9 is either - Abbr - Acronym - B - Bdo - Br - Cite - Code - Dfn - Em - I - Kbd - Map - Pcdata - Q - S - Samp - Script - Span - Strike - Strong - Tt - U - Var A G8 is either - Applet - Basefont - Big - Font - Img - Object - Small - Sub - Sup - G9 A G7 is either - G8 - G12 A G6 is either - A - G7 A G5 is either - Label - G6 A G4 is either - G8 - G10 A G3 is either - Fieldset - Isindex - G4 - G11 A G2 is either - Form - G3