xml.jsx

XML implementation in JSX

xml.jsx

XML DOM/SAX implementation in JSX. Current version supports only limited API's. It doesn't include namespace and serialization support.

import "dom.jsx";
import "console.jsx";
 
class _Main
{
    static function main (argv : string[])
    {
        var dom = DOMParser.parseFromString('<Hello>World</Hello>');
        var root = dom.documentElement();
        console.log(root.tagName()); // -> Hello 
        console.log(root.firstChild().data()); // -> World 
    }
}
import "sax.jsx";
 
class Hanlder extends SAXHandler
{
    override function onopentag (tagname : stringattributes : Map.<string>) : void
    {
        console.log(tagname);
    }
}
 
class _Main
{
    static function main (argv : string[])
    {
        var handler = new Handler();
        var parser = SAXParser(handler);
        parser.parse('<Hello><World/></Hello>');
        // -> Hello 
        // -> World 
    }
}

It provides the feature parsing XML/HTML fragments. SAX was implemented for search engine Oktavia's HTML indexer. DOM was implemented for jsduck2jsx.

$ npm install xml.jsx

See doc folder. Refer W3C DOM spec to know detail methods/attributes description.

This library modifies API like this:

  • No attributes. All attributes become methods (e.g. length becomes length() method);
  • No variable argument
  • Repository: git://github.com/shibukawa/xml.jsx.git
  • Issues: https://github.com/shibukawa/xml.jsx/issues
$ grunt test
# Generate API reference 
$ grunt doc
  • shibukawa / yoshiki@shibu.jp

MIT

Complete license is written in LICENSE.md.