mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-14 10:01:08 +08:00
113 lines
2.8 KiB
TypeScript
113 lines
2.8 KiB
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;
|
|
}
|