proc template; define tagset tagsets.xhtml; indent = 3; output_type = 'xml'; split = '
'; map = '<>&"'; mapsub = '/</>/&/"/'; define event doc_meta; end; define event doc_title; put ''; put VALUE; put '' nl; end; define event doc_head; start: put '' nl; ndent; finish: xdent; put '' nl; end; define event doc_body; start: put '' nl; finish: put '' nl; end; define event table; start: put '' nl; ndent; finish: xdent; put '
' nl; end; define event row; start: put '' nl; ndent; finish: xdent; put '' nl; end; define event table_head; start: put '' nl; ndent; finish: xdent; put '' nl; end; define event table_body; start: put '' nl; ndent; finish: xdent; put '' nl; end; define event table_foot; start: put '' nl; ndent; finish: xdent; put '' nl; end; define event rowcol; putq " rowspan=" ROWSPAN; putq " colspan=" COLSPAN; end; define event put_value; put value; end; define event header; start: put ""; put VALUE; finish: put ""; end; define event data; start: put ""; put VALUE; finish: put "" nl / if cmp(section, "head"); put "" nl / if !cmp(section, "head"); end; end; run;