0.2.0 • Published 11 years ago

xml.jsx v0.2.0

Weekly downloads
1
License
-
Repository
github
Last release
11 years ago

xml.jsx

Synopsis

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

Code Example

DOM

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
    }
}

SAX

import "sax.jsx";

class Hanlder extends SAXHandler
{
    override function onopentag (tagname : string, attributes : 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
    }
}

Motivation

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

Installation

$ npm install xml.jsx

API Reference

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

Development

Repository

Run Test

$ grunt test

Build

# Generate API reference
$ grunt doc

Author

  • shibukawa / yoshiki@shibu.jp

License

MIT

Complete license is written in LICENSE.md.

0.2.0

11 years ago

0.1.1

11 years ago

0.1.0

11 years ago