ref: fc012e4dcc216d33f07262e64e3417043a7aa564
dir: /xslt.c/
#include <u.h>
#include <libc.h>
#include <xml.h>
#include <xpath.h>
Xml *xml = nil;
Xml *style = nil;
void
usage(void)
{
fprint(2, "usage: %s\n", argv0);
exits(nil);
}
void
main(int argc, char **argv)
{
int fd;
char *s = nil;
ARGBEGIN{
case 'h':
usage();
break;
case 's':
s = EARGF(usage());
break;
}ARGEND;
if (argc && *argv[0]) {
fd = open(argv[0], OREAD);
if (fd < 0)
sysfatal("unable to open file: %r");
xml = xmlparse(fd, 8192, 0);
close(fd);
} else {
xml = xmlparse(0, 8192, 0);
}
xmldebug = 1;
if (s) {
fd = open(s, OREAD);
if (fd < 0)
sysfatal("unable to open file: %r");
style = xmlparse(fd, 8192, 0);
close(fd);
}
if (!style)
sysfatal("err: %r");
xmlprint(style, 2);
Ns *ns;
for (ns = style->ns; ns; ns = ns->next) {
fprint(2, "ns: %s → %s\n", ns->name, ns->decl);
}
}