opensheetmusicdisplay
Version:
An open source JavaScript engine for displaying MusicXML based on VexFlow.
54 lines (53 loc) • 1.51 kB
TypeScript
/**
* IXmlAttribute is just the standard Attr
*/
export type IXmlAttribute = Attr;
/**
* Just a wrapper for an XML Element object.
* It facilitates handling of XML elements by OSMD
*/
export declare class IXmlElement {
name: string;
value: string;
hasAttributes: boolean;
firstAttribute: IXmlAttribute;
hasElements: boolean;
private attrs;
private elem;
/**
* Wraps 'elem' Element in a IXmlElement
* @param elem
*/
constructor(elem: Element);
/**
* Get the attribute with the given name
* @param attributeName
* @returns {Attr}
*/
attribute(attributeName: string): IXmlAttribute;
/**
* Get all attributes
* @returns {IXmlAttribute[]}
*/
attributes(): IXmlAttribute[];
/**
* Get the first child element with the given node name
* @param elementName
* @returns {IXmlElement}
*/
element(elementName: string): IXmlElement;
/**
* Get the children with the given node name (if given, otherwise all child elements)
* @param nodeName
* @returns {IXmlElement[]}
*/
elements(nodeName?: string): IXmlElement[];
/**
* Get the first child element with the given node name
* with all the children of consequent child elements with the same node name.
* for example two <notations> tags will be combined for better processing
* @param elementName
* @returns {IXmlElement}
*/
combinedElement(elementName: string): IXmlElement;
}