{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-livelyenergy/src/client/xml.js"],"names":["XML","prettify","sourceXml","xmlDoc","DOMParser","parseFromString","xsltDoc","xsltProcessor","XSLTProcessor","importStylesheet","resultDoc","transformToDocument","resultXml","XMLSerializer","serializeToString"],"mappings":"AAAA;;;;;;;;;;AAEe,YAAMA,GAAN,CAAU;;AAEvB;AACA,eAAOC,QAAP,CAAgBC,SAAhB,EAA2B;AACzB,cAAIC,SAAS,IAAIC,SAAJ,GAAgBC,eAAhB,CAAgCH,SAAhC,EAA2C,iBAA3C,CAAb;AACA,cAAII,UAAU,IAAIF,SAAJ,GAAgBC,eAAhB;AACV;AACC;;;;;;;;;0BAFS,EAWU,iBAXV,CAAd;;AAaA,cAAIE,gBAAgB,IAAIC,aAAJ,EAApB;AACAD,wBAAcE,gBAAd,CAA+BH,OAA/B;AACA,cAAII,YAAYH,cAAcI,mBAAd,CAAkCR,MAAlC,CAAhB;AACA,cAAIS,YAAY,IAAIC,aAAJ,GAAoBC,iBAApB,CAAsCJ,SAAtC,CAAhB;AACA,iBAAOE,SAAP;AACD;;AAvBsB;;yBAAJZ,G","file":"xml.js","sourcesContent":["\"enable examples\";\n\nexport default class XML {\n  \n  // #CopiedFrom https://stackoverflow.com/questions/376373/pretty-printing-xml-with-javascript\n  static prettify(sourceXml) {\n    var xmlDoc = new DOMParser().parseFromString(sourceXml, 'application/xml');\n    var xsltDoc = new DOMParser().parseFromString(\n        // describes how we want to modify the XML - indent everything\n        `<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n          <xsl:strip-space elements=\"*\"/>\n          <xsl:template match=\"para[content-style][not(text())]\">\n            <xsl:value-of select=\"normalize-space(.)\"/>\n          </xsl:template>\n          <xsl:template match=\"node()|@*\">\n            <xsl:copy><xsl:apply-templates select=\"node()|@*\"/></xsl:copy>\n          </xsl:template>\n          <xsl:output indent=\"yes\"/>\n        </xsl:stylesheet>`, 'application/xml');\n\n    var xsltProcessor = new XSLTProcessor();    \n    xsltProcessor.importStylesheet(xsltDoc);\n    var resultDoc = xsltProcessor.transformToDocument(xmlDoc);\n    var resultXml = new XMLSerializer().serializeToString(resultDoc);\n    return resultXml;\n  }\n\n}"]}