Options
All
  • Public
  • Public/Protected
  • All
Menu

Class SAXParser

Streaming SAX-style HTML parser. A transform stream (which means you can pipe through it, see example).

NOTE: This API is available only for Node.js.

example

const parse5 = require('parse5');
const http = require('http');
const fs = require('fs');

const file = fs.createWriteStream('/home/google.com.html');
const parser = new parse5.SAXParser();

parser.on('text', text => {
   // Handle page text content
   ...
});

http.get('http://google.com', res => {
   // SAXParser is the Transform stream, which means you can pipe
   // through it. So, you can analyze page content and, e.g., save it
   // to the file at the same time:
   res.pipe(parser).pipe(file);
});

Hierarchy

  • Transform
    • SAXParser

Implements

  • ReadableStream
  • Writable

Index

Constructors

constructor

Properties

readable

readable: boolean

readableHighWaterMark

readableHighWaterMark: number

writable

writable: boolean

writableHighWaterMark

writableHighWaterMark: number

Static defaultMaxListeners

defaultMaxListeners: number

Methods

_destroy

  • _destroy(err: Error, callback: Function): void
  • Parameters

    • err: Error
    • callback: Function

    Returns void

_final

  • _final(callback: Function): void
  • Parameters

    • callback: Function

    Returns void

_read

  • _read(size: number): void
  • Parameters

    • size: number

    Returns void

_transform

  • _transform(chunk: any, encoding: string, callback: Function): void
  • Parameters

    • chunk: any
    • encoding: string
    • callback: Function

    Returns void

_write

  • _write(chunk: any, encoding: string, callback: function): void
  • Parameters

    • chunk: any
    • encoding: string
    • callback: function
        • (err?: Error): void
        • Parameters

          • Optional err: Error

          Returns void

    Returns void

Optional _writev

  • _writev(chunks: Array<object>, callback: function): void
  • Parameters

    • chunks: Array<object>
    • callback: function
        • (err?: Error): void
        • Parameters

          • Optional err: Error

          Returns void

    Returns void

addListener

  • addListener(event: string, listener: function): this
  • addListener(event: string, listener: function): this
  • addListener(event: "close", listener: function): this
  • addListener(event: "data", listener: function): this
  • addListener(event: "end", listener: function): this
  • addListener(event: "readable", listener: function): this
  • addListener(event: "error", listener: function): this
  • Event emitter The defined events on documents including:

    1. close
    2. data
    3. end
    4. readable
    5. error

    Parameters

    • event: string
    • listener: function
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: string
    • listener: function
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: function
        • (chunk: Buffer | string): void
        • Parameters

          • chunk: Buffer | string

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: function
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns this

cork

  • cork(): void
  • Returns void

destroy

  • destroy(error?: Error): void
  • Parameters

    • Optional error: Error

    Returns void

emit

  • emit(event: string | symbol, ...args: any[]): boolean
  • emit(event: "close"): boolean
  • emit(event: "data", chunk: Buffer | string): boolean
  • emit(event: "end"): boolean
  • emit(event: "readable"): boolean
  • emit(event: "error", err: Error): boolean
  • Parameters

    • event: string | symbol
    • Rest ...args: any[]

    Returns boolean

  • Parameters

    • event: "close"

    Returns boolean

  • Parameters

    • event: "data"
    • chunk: Buffer | string

    Returns boolean

  • Parameters

    • event: "end"

    Returns boolean

  • Parameters

    • event: "readable"

    Returns boolean

  • Parameters

    • event: "error"
    • err: Error

    Returns boolean

end

  • end(cb?: Function): void
  • end(chunk: any, cb?: Function): void
  • end(chunk: any, encoding?: string, cb?: Function): void
  • Parameters

    • Optional cb: Function

    Returns void

  • Parameters

    • chunk: any
    • Optional cb: Function

    Returns void

  • Parameters

    • chunk: any
    • Optional encoding: string
    • Optional cb: Function

    Returns void

eventNames

  • eventNames(): Array<string | symbol>
  • Returns Array<string | symbol>

getMaxListeners

  • getMaxListeners(): number
  • Returns number

isPaused

  • isPaused(): boolean
  • Returns boolean

listenerCount

  • listenerCount(type: string | symbol): number
  • Parameters

    • type: string | symbol

    Returns number

listeners

  • listeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

on

  • on(event: "startTag", listener: function): this
  • on(event: "endTag", listener: function): this
  • on(event: "comment", listener: function): this
  • on(event: "text", listener: function): this
  • on(event: "doctype", listener: function): this
  • on(event: string, listener: Function): this
  • Raised when the parser encounters a start tag.

    Parameters

    • event: "startTag"
    • listener: function
        • Parameters

          • name: string

            Tag name.

          • attrs: Attribute[]

            List of attributes.

          • selfClosing: boolean

            Indicates if the tag is self-closing.

          • Optional location: StartTagLocation

            Start tag source code location info. Available if location info is enabled via Options.SAXParserOptions.

          Returns void

    Returns this

  • Raised then parser encounters an end tag.

    Parameters

    • event: "endTag"
    • listener: function
        • (name: string, location?: Location): void
        • Parameters

          Returns void

    Returns this

  • Raised then parser encounters a comment.

    Parameters

    • event: "comment"
    • listener: function
        • (text: string, location?: Location): void
        • Parameters

          Returns void

    Returns this

  • Raised then parser encounters text content.

    Parameters

    • event: "text"
    • listener: function
        • (text: string, location?: Location): void
        • Parameters

          Returns void

    Returns this

  • Raised then parser encounters a document type declaration.

    Parameters

    • event: "doctype"
    • listener: function
        • (name: string, publicId: string, systemId: string, location?: Location): void
        • Parameters

          • name: string

            Document type name.

          • publicId: string

            Document type public identifier.

          • systemId: string

            Document type system identifier.

          • Optional location: Location

            Document type declaration source code location info. Available if location info is enabled via Options.SAXParserOptions.

          Returns void

    Returns this

  • TransformStream events

    Parameters

    • event: string
    • listener: Function

    Returns this

once

  • once(event: string, listener: function): this
  • once(event: "close", listener: function): this
  • once(event: "data", listener: function): this
  • once(event: "end", listener: function): this
  • once(event: "readable", listener: function): this
  • once(event: "error", listener: function): this
  • Parameters

    • event: string
    • listener: function
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: function
        • (chunk: Buffer | string): void
        • Parameters

          • chunk: Buffer | string

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: function
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns this

pause

  • pause(): this
  • Returns this

pipe

  • pipe<T>(destination: T, options?: object): T
  • Type parameters

    • T: WritableStream

    Parameters

    • destination: T
    • Optional options: object
      • Optional end?: boolean

    Returns T

prependListener

  • prependListener(event: string, listener: function): this
  • prependListener(event: "close", listener: function): this
  • prependListener(event: "data", listener: function): this
  • prependListener(event: "end", listener: function): this
  • prependListener(event: "readable", listener: function): this
  • prependListener(event: "error", listener: function): this
  • Parameters

    • event: string
    • listener: function
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: function
        • (chunk: Buffer | string): void
        • Parameters

          • chunk: Buffer | string

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: function
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns this

prependOnceListener

  • prependOnceListener(event: string, listener: function): this
  • prependOnceListener(event: "close", listener: function): this
  • prependOnceListener(event: "data", listener: function): this
  • prependOnceListener(event: "end", listener: function): this
  • prependOnceListener(event: "readable", listener: function): this
  • prependOnceListener(event: "error", listener: function): this
  • Parameters

    • event: string
    • listener: function
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: function
        • (chunk: Buffer | string): void
        • Parameters

          • chunk: Buffer | string

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: function
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns this

push

  • push(chunk: any, encoding?: string): boolean
  • Parameters

    • chunk: any
    • Optional encoding: string

    Returns boolean

read

  • read(size?: number): any
  • Parameters

    • Optional size: number

    Returns any

removeAllListeners

  • removeAllListeners(event?: string | symbol): this
  • Parameters

    • Optional event: string | symbol

    Returns this

removeListener

  • removeListener(event: string, listener: function): this
  • removeListener(event: "close", listener: function): this
  • removeListener(event: "data", listener: function): this
  • removeListener(event: "end", listener: function): this
  • removeListener(event: "readable", listener: function): this
  • removeListener(event: "error", listener: function): this
  • Parameters

    • event: string
    • listener: function
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: function
        • (chunk: Buffer | string): void
        • Parameters

          • chunk: Buffer | string

          Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: function
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: function
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns this

resume

  • resume(): this
  • Returns this

setDefaultEncoding

  • setDefaultEncoding(encoding: string): this
  • Parameters

    • encoding: string

    Returns this

setEncoding

  • setEncoding(encoding: string): this
  • Parameters

    • encoding: string

    Returns this

setMaxListeners

  • setMaxListeners(n: number): this
  • Parameters

    • n: number

    Returns this

stop

  • stop(): void
  • Stops parsing. Useful if you want the parser to stop consuming CPU time once you've obtained the desired info from the input stream. Doesn't prevent piping, so that data will flow through the parser as usual.

    example
    
    const parse5 = require('parse5');
    const http = require('http');
    const fs = require('fs');
    
    const file = fs.createWriteStream('google.com.html');
    const parser = new parse5.SAXParser();
    
    parser.on('doctype', (name, publicId, systemId) => {
       // Process doctype info ans stop parsing
       ...
       parser.stop();
    });
    
    http.get('http://google.com', res => {
       // Despite the fact that parser.stop() was called whole
       // content of the page will be written to the file
       res.pipe(parser).pipe(file);
    });
    

    Returns void

uncork

  • uncork(): void
  • Returns void

unpipe

  • unpipe<T>(destination?: T): this
  • Type parameters

    • T: WritableStream

    Parameters

    • Optional destination: T

    Returns this

unshift

  • unshift(chunk: any): void
  • Parameters

    • chunk: any

    Returns void

wrap

  • wrap(oldStream: ReadableStream): this
  • Parameters

    • oldStream: ReadableStream

    Returns this

write

  • write(chunk: any, cb?: Function): boolean
  • write(chunk: any, encoding?: string, cb?: Function): boolean
  • Parameters

    • chunk: any
    • Optional cb: Function

    Returns boolean

  • Parameters

    • chunk: any
    • Optional encoding: string
    • Optional cb: Function

    Returns boolean

Static listenerCount

  • listenerCount(emitter: EventEmitter, event: string | symbol): number
  • Parameters

    • emitter: EventEmitter
    • event: string | symbol

    Returns number

Generated using TypeDoc