@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
TypeScript
/**
* 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;
}