GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
KCGIXML(3) FreeBSD Library Functions Manual KCGIXML(3)

kcgixml
XML output for kcgi

library “libkcgixml”

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).

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);

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)

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

Written by Kristaps Dzonsons <kristaps@bsd.lv>.
June 12, 2022 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.