31 lines
825 B
Plaintext
31 lines
825 B
Plaintext
/**
|
|
XML/Input in Neko
|
|
Tectonics:
|
|
nekoc xml-input.neko
|
|
neko xml-input | recode html
|
|
*/
|
|
|
|
/* Get the Neko XML parser function */
|
|
var parse_xml = $loader.loadprim("std@parse_xml", 2);
|
|
|
|
/* Load the student.xml file as string */
|
|
var file_contents = $loader.loadprim("std@file_contents", 1);
|
|
var xmlString = file_contents("students.xml");
|
|
|
|
/* Build up a (very specific) XML event processor object */
|
|
/* Needs functions for xml, done, pcdata, cdata and comment */
|
|
var events = $new(null);
|
|
events.xml = function(name, attributes) {
|
|
if name == "Student" {
|
|
$print(attributes.Name, "\n");
|
|
}
|
|
}
|
|
events.done = function() { }
|
|
events.pcdata = function(x) { }
|
|
events.cdata = function(x) { }
|
|
events.comment = function(x) { }
|
|
|
|
parse_xml(xmlString, events);
|
|
|
|
/* Entities are not converted, use external recode program for that */
|