UNPKG

@nativescript/core

Version:

A JavaScript library providing an easy to use api for interacting with iOS and Android platform APIs.

113 lines (95 loc) 2.88 kB
/** * Contains the XmlParser class, which is a SAX parser using the easysax implementation. */ /** * Specifies the type of parser event. */ export class ParserEventType { /** * Specifies the StartElement event type. */ static StartElement: string; /** * Specifies the EndElement event type. */ static EndElement: string; /** * Specifies the Text event type. */ static Text: string; /** * Specifies the CDATA event type. */ static CDATA: string; /** * Specifies the Comment event type. */ static Comment: string; } /** * Defines a position within string, in line and column form. */ export interface Position { /** * The line number. The first line is at index 1. */ line: number; /** * The column number. The first character is at index 1. */ column: number; } /** * Provides information for a parser event. */ export interface ParserEvent { /** * Returns the type of the parser event. This is one of the ParserEventType static members. */ eventType: string; /** * Get the position in the xml string where the event was generated. */ position: Position; /** * If namespace processing is enabled, returns the prefix of the element in case the eventType is ParserEventType.StartElement or ParserEventType.EndElement. */ prefix?: string; /** * If namespace processing is enabled, returns the namespace of the element in case the eventType is ParserEventType.StartElement or ParserEventType.EndElement. */ namespace?: string; /** * Returns the name of the element in case the eventType is ParserEventType.StartElement or ParserEventType.EndElement. */ elementName?: string; /** * Returns a JSON object with the attributes of an element in case the eventType is ParserEventType.StartElement. */ attributes?: Object; /** * Returns the relevant data in case the eventType is ParserEventType.Text, ParserEventType.CDATA or ParserEventType.Comment. */ data?: string; /** * Returns a JSON string representation of this instance. */ toString(): string; } /** * A simple non-validating SAX parser based on https://github.com/vflash/easysax version 0.1.14 */ export class XmlParser { /** * Creates a new instance of the XmlParser class. * @param onEvent The callback to execute when a parser event occurs. The 'event' parameter contains information about the event. * @param onError The callback to execute when a parser error occurs. The 'error' parameter contains the error. * @param processNamespaces Specifies whether namespaces should be processed. */ constructor(onEvent: (event: ParserEvent) => void, onError?: (error: Error, position: Position) => void, processNamespaces?: boolean, angularSyntax?: boolean); /** * Parses the supplied xml string. * @param xmlString The string containing the xml to parse. */ parse(xmlString: string): void; }