UNPKG

tag-soup

Version:

The fastest pure JS SAX/DOM XML/HTML parser.

41 lines (40 loc) 1.1 kB
import { decodeXML, escapeXML } from 'speedy-entities'; import { createDOMParser } from './createDOMParser.js'; import { createSAXParser } from './createSAXParser.js'; import { createSerializer } from './createSerializer.js'; import { createTokenizer } from './createTokenizer.js'; const xmlParserOptions = { areSelfClosingTagsRecognized: true, areProcessingInstructionsRecognized: true, areCDATASectionsRecognized: true, isStrict: true, decodeText: decodeXML, }; const xmlSerializerOptions = { areSelfClosingTagsSupported: true, encodeText: escapeXML, }; /** * Tokenizes XML markup as a stream of tokens. * * @group Tokenizer */ export const XMLTokenizer = createTokenizer(xmlParserOptions); /** * Parses XML markup as DOM. * * @group DOM */ export const XMLDOMParser = createDOMParser(xmlParserOptions); /** * Parses XML markup as a stream of tokens. * * @group SAX */ export const XMLSAXParser = createSAXParser(xmlParserOptions); /** * Serializes DOM node as XML string. * * @group DOM */ export const toXML = createSerializer(xmlSerializerOptions);