export default function getAttribute(tag, attributeName, options) { const debug = (options && options.debug) || false; if (debug) console.log("[xml-utils] getting " + attributeName + " in " + tag); const xml = typeof tag === "object" ? tag.outer : tag; // only search for attributes in the opening tag const opening = xml.slice(0, xml.indexOf(">") + 1); const quotechars = ['"', "'"]; for (let i = 0; i < quotechars.length; i++) { const char = quotechars[i]; const pattern = attributeName + "\\=" + char + "([^" + char + "]*)" + char; if (debug) console.log("[xml-utils] pattern:", pattern); const re = new RegExp(pattern); const match = re.exec(opening); if (debug) console.log("[xml-utils] match:", match); if (match) return match[1]; } }