RosettaCodeData/Task/XML-Input/Neko/xml-input-1.neko

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 */