/saxen/
parser ![](https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Coat_of_arms_of_Saxony.svg/220px-Coat_of_arms_of_Saxony.svg.png)
![Build Status](https://travis-ci.org/nikku/saxen.svg?branch=master)
A tiny, super fast, namespace aware sax-style XML parser written in plain JavaScript.
Features
- (optional) entity decoding and attribute parsing
- (optional) namespace aware
- element / attribute normalization in namespaced mode
- tiny (
4Kb
minified + gzipped)
Usage
var Parser = require('saxen');
var parser = new Parser();
parser.ns({
'http://foo': 'foo',
'http://bar': 'bar'
});
parser.on('openTag', function(elementName, getAttrs, decodeEntity, selfClosing, getContext) {
elementName;
var attrs = getAttrs();
});
parser.on('closeTag', function(elementName, decodeEntity, selfClosing, getContext) {
...
});
parser.on('error', function(err, getContext) {
});
parser.parse('<blub xmlns="http://foo" xmlns:bar="http://bar" bar:aa="A" />');
Credits
This library builds on the awesome work done by easysax and adds anonymous namespace handling and an object mode.
It is named after Sachsen, a federal state of Germany. So geht sächsisch!
LICENSE
MIT