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

FreeBSD Manual Pages

  
 
  

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

NAME
       kcgixml -- XML output for kcgi

LIBRARY
       library "libkcgixml"

DESCRIPTION
       Produce	output	of  XML	 content  in  a	kcgi(3)	context	allocated with
       khttp_parse(3).

       To compile and link, use	pkg-config(1) as follows:

       % cc `pkg-config	--cflags kcgi-xml` -c sample.c
       % cc -o sample sample.o `pkg-config --libs kcgi-xml`

       All kcgixml sequences begin with	kxml_open(3), emit  the	 standard  XML
       prologue	  with	kxml_prologue(3),  create  XML	nodes,	and  end  with
       kxml_close(3).

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

	     const char	*const elems[] =
	       { "foo",	"bar", "baz" };
	     khttp_head(r, kresps[KRESP_STATUS],
	       "%s", khttps[KHTTP_200]);
	     khttp_head(r, kresps[KRESP_CONTENT_TYPE],
	       "%s", kmimetypes[KMIME_TEXT_XML]);
	     khttp_body(r);
	     kxml_open(&req, r,	elems, 3);
	     kxml_push(&req, 0); /* foo	*/
	     kxml_puts(&req, "Hello, world");
	     kxml_pop(&req);
	     kxml_pushattrs(&req, 1, "baz", "xyzzy", NULL); /* bar */
	     kxml_puts(&req, "Hello, world");
	     kxml_pop(&req);
	     kxml_close(&req);

SEE ALSO
       kxml_close(3),	  kxml_open(3),	     kxml_pop(3),      kxml_popall(3),
       kxml_prologue(3),    kxml_push(3),    kxml_pushnull(3),	 kxml_putc(3),
       kxml_puts(3), kxml_write(3)

STANDARDS
       The kcgixml functions conform to	the XML	1.0 mark-up specification.

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

FreeBSD	Ports 14.quarterly	  $Mdocdate$			    KCGIXML(3)

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

home | help