Skip to content

Latest commit

 

History

History

parser

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

npm (scoped)

@xml-tools/parser

A Fault Tolerant XML Parser which produces a Concrete Syntax Tree.

This means that the Parser will not stop on the first error and instead attempt to perform automatic error recovery. This also means that the CST outputted by the Parser may only have partial results. For example, In a valid XML an attribute must always have a value, however in the CST produced by this parser an attribute's value may be missing as the XML Text input is not necessarily valid.

The CST produced by this parser is often used as the input for other packages in the xml-tools scope, e.g:

Installation

With npm:

  • npm install @xml-tools/parser

With Yarn

  • yarn add @xml-tools/parser

Usage

Please see the TypeScript Definitions for full API details.

A simple usage example:

const { parse } = require("@xml-tools/parser");

const xmlText = `<note>
                     <to>Bill</to>
                     <from>Tim</from>
                 </note>
`;

const { cst, lexErrors, parseErrors } = parse(xmlText);
console.log(cst.children["element"][0].children["Name"][0].image); // -> note

Support

Please open issues on github.

Contributing

See CONTRIBUTING.md.