Last active
April 18, 2018 08:17
-
-
Save 13xforever/cb24b9e2f3335c296eb2 to your computer and use it in GitHub Desktop.
TypeScript typings for IXMLDOMDocument and IXMLDOMSchemaCollection ActiveX objects
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
declare module ActiveX { | |
export interface IXMLDOMNode { | |
attributes: IXMLDOMNamedNodeMap; | |
baseName?: string; | |
childNodes: IXMLDOMNodeList; | |
dataType?: string; | |
definition?: IXMLDOMNode; | |
firstChild: IXMLDOMNode; | |
lastChild: IXMLDOMNode; | |
namespaceURI?: string; | |
nextSibling: IXMLDOMNode; | |
nodeName: string; | |
nodeType: IXMLDOMNodeType; | |
nodeTypedValue?: any; | |
nodeTypeString?: string; | |
nodeValue: any; | |
ownerDocument: IXMLDOMDocument; | |
parentNode: IXMLDOMNode; | |
parsed?: boolean; | |
prefix?: string; | |
previousSibling: IXMLDOMNode; | |
specified?: boolean; | |
text?: string; | |
xml?: string; | |
appendChild(newChild: IXMLDOMNode): IXMLDOMNode; | |
cloneNode(deep: boolean): IXMLDOMNode; | |
hasChildNodes(): boolean; | |
insertBefore(newChild: IXMLDOMNode, refChild: IXMLDOMNode): IXMLDOMNode; //todo: refChild supposed to be variant | |
removeChild(childNode: IXMLDOMNode): IXMLDOMNode; | |
replaceChild(newChild: IXMLDOMNode, oldChild: IXMLDOMNode): IXMLDOMNode; | |
selectNodes?(expression: string): IXMLDOMNodeList; | |
selectSingleNode?(query: string): IXMLDOMNode; | |
transformNode?(stylesheet: IXMLDOMNode): string; | |
transformNodeToObject?(stylesheet: IXMLDOMNode, outputObject: any): void; | |
} | |
export interface IXMLDOMDocument extends IXMLDOMNode { | |
async?: boolean; | |
doctype: IXMLDOMDocumentType; | |
documentElement: IXMLDOMElement; | |
implementation: IXMLDOMImplementation; | |
parseError?: IXMLDOMParseError; | |
preserveWhiteSpace?: boolean; | |
readyState?: XmlDocumentReadyState; | |
resolveExternals?: boolean; | |
url?: string; | |
validateOnParse?: boolean; | |
abort?(): void; | |
createAttribute(name: string): IXMLDOMAttribute; | |
createCDATASection(data: string): IXMLDOMCDATASection; | |
createComment(data: string): IXMLDOMComment; | |
createDocumentFragment(): IXMLDOMDocumentFragment; | |
createElement(tagName: string): IXMLDOMElement; | |
createEntityReference(name: string): IXMLDOMEntityReference; | |
createNode?(type: IXMLDOMNodeType|string, name: string, namespaceURI: string): IXMLDOMNode; | |
createProcessingInstruction(target: string, data: string): IXMLDOMProcessingInstruction; | |
createTextNode(data: string): IXMLDOMText; | |
getElementsByTagName(tagName: string): IXMLDOMNodeList; | |
load?(xmlSource: any): boolean; | |
loadXML?(bstrXML: string): boolean; | |
nodeFromID?(idString: string): IXMLDOMNode; | |
save?(destination: any): void; | |
ondataavailable?: () => void; | |
onreadystatechange?: () => void; | |
ontransformnode?: (nodeCode: IXMLDOMNode, nodeData: IXMLDOMNode) => boolean; | |
} | |
export interface IXMLDOMElement extends IXMLDOMNode { | |
tagName: string; | |
getAttribute(name: string): string; | |
getAttributeNode(name: string): IXMLDOMAttribute; | |
getElementsByTagName(tagName: string): IXMLDOMNodeList; | |
normalize(): void; | |
removeAttribute(name: string): void; | |
removeAttributeNode(attribute: IXMLDOMAttribute): IXMLDOMAttribute; | |
setAttribute(name: string, value: any): void; | |
setAttributeNode(attribute: IXMLDOMAttribute): IXMLDOMAttribute; | |
} | |
export interface IXMLDOMCharacterData extends IXMLDOMNode { | |
data: string; | |
length: number; | |
appendData(data: string): void; | |
deleteData(offset: number, count: number): void; | |
insertData(offset: number, data: string): void; | |
replaceData(offset: number, count: number, data: string): void; | |
substringData(offset: number, count: number): string; | |
} | |
export interface IXMLDOMDocumentType extends IXMLDOMNode { | |
entities: IXMLDOMNamedNodeMap; | |
name: string; | |
notations: IXMLDOMNamedNodeMap; | |
} | |
export interface IXMLDOMAttribute extends IXMLDOMNode { | |
name: string; | |
value: any; | |
} | |
export interface IXMLDOMProcessingInstruction extends IXMLDOMNode { | |
data: string; | |
target: string; | |
} | |
export interface IXMLDOMDocumentFragment extends IXMLDOMNode { | |
} | |
export interface IXMLDOMEntityReference extends IXMLDOMNode { | |
} | |
export interface IXMLDOMDocument2 extends IXMLDOMDocument { | |
namespaces: IXMLDOMSchemaCollection; | |
schemas: IXMLDOMSchemaCollection; | |
getProperty(name: string): any; | |
setProperty(name: string, value: any): void; | |
validate(): IXMLDOMParseError; | |
} | |
export interface IXMLDOMText extends IXMLDOMCharacterData { | |
splitText(offset: number): IXMLDOMText; | |
} | |
export interface IXMLDOMComment extends IXMLDOMCharacterData { | |
} | |
export interface IXMLDOMCDATASection extends IXMLDOMText { | |
} | |
export interface IXMLDOMNodeList { | |
length: number; | |
item(index: number): IXMLDOMNode; | |
nextNode?(): IXMLDOMNode; | |
reset?(): void; | |
} | |
export interface IXMLDOMNamedNodeMap { | |
length: number; | |
getNamedItem(name: string): IXMLDOMNode; | |
getQualifiedItem?(baseName: string, namespaceURI: string): IXMLDOMNode; | |
item(index: number): IXMLDOMNode; | |
nextNode?(): IXMLDOMNode; | |
removeNamedItem(name: string): IXMLDOMNode; | |
removeQualifiedItem(baseName: string, namespaceURI: string): IXMLDOMNode; | |
reset(): void; | |
setNamedItem(newItem: IXMLDOMNode): IXMLDOMNode; | |
} | |
export interface IXMLDOMImplementation { | |
hasFeature(feature: string, version: string): boolean; | |
} | |
export interface IXMLDOMParseError { | |
errorCode: number; | |
filepos: number; | |
line: number; | |
linepos: number; | |
reason: string; | |
srcText: string; | |
url: string; | |
} | |
export interface IXMLDOMSchemaCollection { | |
length: number; | |
namespaceURI(index: number): string; | |
validateOnLoad: boolean; | |
add(namespaceURI: string, schema: string|IXMLDOMNode): void; | |
addCollection(collection: IXMLDOMSchemaCollection): void; | |
get(namespaceURI: string): IXMLDOMNode; | |
getDeclaration(node: IXMLDOMNode): ISchemaItem; | |
getSchema(namespaceURI: string): ISchema; | |
remove(namespaceURI: string): void; | |
validate(): void; | |
} | |
export interface IXMLDOMSchemaCollection2 extends IXMLDOMSchemaCollection { | |
validate(): boolean; | |
} | |
export interface ISchema { | |
attributeGroups: ISchemaItemCollection; | |
attributes: ISchemaItemCollection; | |
elements: ISchemaItemCollection; | |
modelGroups: ISchemaItemCollection; | |
notations: ISchemaItemCollection; | |
schemaLocations: ISchemaStringCollection; | |
targetNamespace: string; | |
types: ISchemaItemCollection; | |
version: string; | |
} | |
export interface ISchemaItem { | |
id: string; | |
itemType: SOMItemType; | |
name: string; | |
namespaceURI: string; | |
schema: ISchema; | |
unhandledAttributes: ISAXAttributes; | |
writeAnnotation(...annotationSink: any[]): boolean; | |
} | |
export interface ISchemaItemCollection { | |
item(index: number): ISchemaItem; | |
length: number; | |
itemByName(name: string): ISchemaItem; | |
itemByQName(name: string, namespaceURI: string): ISchemaItem; | |
} | |
export interface ISchemaStringCollection { | |
item(index: number): string; | |
length: number; | |
} | |
export interface ISAXAttributes { | |
length: number; | |
getIndexFromName(uri: string, localName: string): number; | |
getIndexFromQName(qName: string): number; | |
getLength(): number; | |
getLocalName(index: number): string; | |
getName(index: number): any; //uri, localName, qName | |
getQName(index: number): string; | |
getType(index: number): string; | |
getTypeFromName(uri: string, localName: string): string; | |
getTypeFromQName(qName: string): string; | |
getURI(index: number): string; | |
getValue(index: number): string; | |
getValueFromName(uri: string, localName: string): string; | |
getValueFromQName(qName: string): string; | |
} | |
export interface IXSLProcessor { | |
input: any; | |
output: any; | |
readyState: XslProcessorReadyState; | |
startMode: string; | |
startModeURI: string; | |
stylesheet: IXMLDOMNode; | |
ownerTemplate: IXSLTemplate; | |
addObject(obj: any, namespaceURI: string): void; | |
addParameter(baseName: string, parameter: number|boolean|string|IXMLDOMNode|IXMLDOMNodeList, namespaceURI?: string): void; | |
reset(): void; | |
setStartMode(mode: string, namespaceURI?: string): void; | |
transform(): boolean; | |
} | |
export interface IXSLTemplate { | |
stylesheet: IXMLDOMNode; | |
createProcessor(): IXSLProcessor; | |
} | |
export const enum XmlDocumentReadyState { | |
Loading = 1, | |
Loaded = 2, | |
Interactive = 3, | |
Completed = 4, | |
} | |
export const enum IXMLDOMNodeType { | |
NODE_ELEMENT = 1, //element | |
NODE_ATTRIBUTE = 2, //attribute | |
NODE_TEXT = 3, //text | |
NODE_CDATA_SECTION = 4, //cdatasection | |
NODE_ENTITY_REFERENCE = 5, //entityreference | |
NODE_ENTITY = 6, //entity | |
NODE_PROCESSING_INSTRUCTION = 7, //processinginstruction | |
NODE_COMMENT = 8, //comment | |
NODE_DOCUMENT = 9, //document | |
NODE_DOCUMENT_TYPE = 10, //documenttype | |
NODE_DOCUMENT_FRAGMENT = 11, //documentfragment | |
NODE_NOTATION = 12, //notation | |
} | |
export const enum SOMItemType { | |
SOMITEM_SCHEMA = 0x1000, | |
SOMITEM_ATTRIBUTE = 0x1001, | |
SOMITEM_ATTRIBUTEGROUP = 0x1002, | |
SOMITEM_NOTATION = 0x1003, | |
//Identity Constraints | |
SOMITEM_IDENTITYCONSTRAINT = 0x1100, | |
SOMITEM_KEY = 0x1101, | |
SOMITEM_KEYREF = 0x1102, | |
SOMITEM_UNIQUE = 0x1103, | |
//Types | |
SOMITEM_ANYTYPE = 0x2000, // also type mask | |
SOMITEM_DATATYPE = 0x2100, // built-in type mask | |
SOMITEM_DATATYPE_ANYTYPE = 0x2101, | |
SOMITEM_DATATYPE_ANYURI = 0x2102, | |
SOMITEM_DATATYPE_BASE64BINARY = 0x2103, | |
SOMITEM_DATATYPE_BOOLEAN = 0x2104, | |
SOMITEM_DATATYPE_BYTE = 0x2105, | |
SOMITEM_DATATYPE_DATE = 0x2106, | |
SOMITEM_DATATYPE_DATETIME = 0x2107, | |
SOMITEM_DATATYPE_DAY = 0x2108, | |
SOMITEM_DATATYPE_DECIMAL = 0x2109, | |
SOMITEM_DATATYPE_DOUBLE = 0x210A, | |
SOMITEM_DATATYPE_DURATION = 0x210B, | |
SOMITEM_DATATYPE_ENTITIES = 0x210C, | |
SOMITEM_DATATYPE_ENTITY = 0x210D, | |
SOMITEM_DATATYPE_FLOAT = 0x210E, | |
SOMITEM_DATATYPE_HEXBINARY = 0x210F, | |
SOMITEM_DATATYPE_ID = 0x2110, | |
SOMITEM_DATATYPE_IDREF = 0x2111, | |
SOMITEM_DATATYPE_IDREFS = 0x2112, | |
SOMITEM_DATATYPE_INT = 0x2113, | |
SOMITEM_DATATYPE_INTEGER = 0x2114, | |
SOMITEM_DATATYPE_LANGUAGE = 0x2115, | |
SOMITEM_DATATYPE_LONG = 0x2116, | |
SOMITEM_DATATYPE_MONTH = 0x2117, | |
SOMITEM_DATATYPE_MONTHDAY = 0x2118, | |
SOMITEM_DATATYPE_NAME = 0x2119, | |
SOMITEM_DATATYPE_NCNAME = 0x211A, | |
SOMITEM_DATATYPE_NEGATIVEINTEGER = 0x211B, | |
SOMITEM_DATATYPE_NMTOKEN = 0x211C, | |
SOMITEM_DATATYPE_NMTOKENS = 0x211D, | |
SOMITEM_DATATYPE_NONNEGATIVEINTEGER = 0x211E, | |
SOMITEM_DATATYPE_NONPOSITIVEINTEGER = 0x211F, | |
SOMITEM_DATATYPE_NORMALIZEDSTRING = 0x2120, | |
SOMITEM_DATATYPE_NOTATION = 0x2121, | |
SOMITEM_DATATYPE_POSITIVEINTEGER = 0x2122, | |
SOMITEM_DATATYPE_QNAME = 0x2123, | |
SOMITEM_DATATYPE_SHORT = 0x2124, | |
SOMITEM_DATATYPE_STRING = 0x2125, | |
SOMITEM_DATATYPE_TIME = 0x2126, | |
SOMITEM_DATATYPE_TOKEN = 0x2127, | |
SOMITEM_DATATYPE_UNSIGNEDBYTE = 0x2128, | |
SOMITEM_DATATYPE_UNSIGNEDINT = 0x2129, | |
SOMITEM_DATATYPE_UNSIGNEDLONG = 0x212A, | |
SOMITEM_DATATYPE_UNSIGNEDSHORT = 0x212B, | |
SOMITEM_DATATYPE_YEAR = 0x212C, | |
SOMITEM_DATATYPE_YEARMONTH = 0x212D, | |
SOMITEM_SIMPLETYPE = 0x2200, | |
SOMITEM_COMPLEXTYPE = 0x2400, | |
SOMITEM_PARTICLE = 0x4000, // particle mask | |
SOMITEM_ANY = 0x4001, | |
SOMITEM_ANYATTRIBUTE = 0x4002, | |
SOMITEM_ELEMENT = 0x4003, | |
SOMITEM_GROUP = 0x4100, // group mask | |
SOMITEM_ALL = 0x4101, | |
SOMITEM_CHOICE = 0x4102, | |
SOMITEM_SEQUENCE = 0x4103, | |
SOMITEM_EMPTYPARTICLE = 0x4104, | |
SOMITEM_NULL = 0x0800, // null items | |
SOMITEM_NULL_TYPE = 0x2800, | |
SOMITEM_NULL_ANY = 0x4801, | |
SOMITEM_NULL_ANYATTRIBUTE = 0x4802, | |
SOMITEM_NULL_ELEMENT = 0x4803, | |
} | |
export const enum XslProcessorReadyState { | |
READYSTATE_UNINITIALIZED = 0, | |
READYSTATE_LOADING = 1, | |
READYSTATE_LOADED = 2, | |
READYSTATE_INTERACTIVE = 3, | |
READYSTATE_COMPLETE = 4, | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
You may be interested to know that there is now a place for ActiveX Typescript definitions on DefinitelyTyped. I've also written a tool to generate Typescript definitions from type libraries.