Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
KHTML_ELEMAT(3) 	     Library Functions Manual		 KHTML_ELEMAT(3)

NAME
     khtml_elemat -- get element stack depth of kcgihtml

LIBRARY
     libkcgihtml

SYNOPSIS
     #include <sys/types.h>
     #include <stdarg.h>
     #include <stdint.h>
     #include <kcgi.h>
     #include <kcgihtml.h>

     size_t
     khtml_elemat(const struct khtmlreq *req);

DESCRIPTION
     Gets  the	current  depth	of  the  element  stack of req, initialised with
     khtml_open(3).  This is usually used with khtml_closeto(3).

     If called before opening any element contexts (i.e., a depth  of  zero),  a
     subsequent khtml_closeto(3) will close all open scopes.

EXAMPLES
     The  following  outputs  a simple HTML page.  It assumes r is a struct kreq
     pointer.  For brevity, it does not do any error checking.

	   khttp_head(r, kresps[KRESP_STATUS],
	     "%s", khttps[KHTTP_200]);
	   khttp_head(r, kresps[KRESP_CONTENT_TYPE],
	     "%s", kmimetypes[KMIME_TEXT_HTML]);
	   khttp_body(r);
	   khtml_open(&req, r, 0);
	   khtml_elem(&req, KELEM_DOCTYPE);
	   khtml_elem(&req, KELEM_HTML);
	   pos = khtml_elemat(&req); /* save at html */
	   khtml_elem(&req, KELEM_HEAD);
	   khtml_elem(&req, KELEM_TITLE);
	   khtml_puts(&req, "Hello, world.");
	   khtml_closeto(&req, pos); /* to html */
	   khtml_closeelem(&req, 1); /* head */
	   khtml_elem(&req, KELEM_BODY);
	   khtml_puts(&req, "Hello, world");
	   khtml_close(&req);

SEE ALSO
     kcgihtml(3)

STANDARDS
     The referenced HTML5 standard is HTML5.2.

AUTHORS
     Written by Kristaps Dzonsons <kristaps@bsd.lv>.

CAVEATS
     If called in a scope that's subsequently closed, then a new scope	reopened
     and  filled  in,  a corresponding khtml_closeto(3) will unwind the stack to
     the new scope.  In other words this does not  identify  a	savepoint:  it's
     merely the scope depth.

FreeBSD ports 15.quarterly	   $Mdocdate$			 KHTML_ELEMAT(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=khtml_elemat&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help