Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    xml.jsxpublic

    xml.jsx

    Build Status

    Synopsis

    XML DOM/SAX implementation in JSX. Current version supports only limited API's. It doesn't include namespace 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'
     
            console.log(XMLSerializer.serializeToString(dom));
            // -> '<Hello>World</Hello>'
        }
    }

    SAX

    import "sax.jsx";
    import "console.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

    If you want to use this library from other JSX project, install like the following:

    $ npm install xml.jsx --save-dev

    or add like these lines to your parent project's package.json:

       devDependencies: {
           "xml.jsx": "~0.2.0"
       },
       peerDepenencies: {
           "xml.jsx": "~0.2.0"
       }

    And add node_modules/xml.jsx/src as a search path. You should add to peerDepenencies if your product is library.

    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

    License

    MIT

    Complete license is written in LICENSE.md.

    Keywords

    none

    install

    npm i xml.jsx

    Downloadsweekly downloads

    9

    version

    0.2.0

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar