Package Exports
- @xml-tools/parser
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@xml-tools/parser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@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:
- @xml-tools/ast As the input for building an XML AST.
- @xml-tools/content-assist As part of the input for the content assist APIs.
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.