rendered paste body// ==UserScript==// @include *.xmlaa// @include *.xsl// ==/UserScript==//opera.postError('triggered');FeedView = { init: function() { } };opera.addEventListener('BeforeEvent.DOMContentLoaded' ,function(e) { opera.removeEventListener('BeforeEvent.DOMContentLoaded', arguments.callee, false); var eLoc = escape(location.href), processor = new XSLTProcessor(), xsl = '\<!DOCTYPE xsl:stylesheet [\n\ <!ENTITY xml.nostylesheet "This XML file does not appear to have any style information associated with it. The document tree is shown below.">\n\]>\n\<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">\n\ <xsl:output method="html"/>\n\ <xsl:template match="/">\n\ <link href="XMLPrettyPrint.css" type="text/css" rel="stylesheet"/>\n\ <link title="Monospace" href="XMLMonoPrint.css" type="text/css" rel="alternate stylesheet"/>\n\ <div id="header"><p>&xml.nostylesheet;</p></div>\n\ <xsl:apply-templates/>\n\ </xsl:template>\n\ <xsl:template match="*">\n\ <div class="indent">\n\ <span class="markup"><</span>\n\ <span class="start-tag"><xsl:value-of select="name(.)"/></span>\n\ <xsl:apply-templates select="@*"/>\n\ <span class="markup">/></span>\n\ </div>\n\ </xsl:template>\n\ <xsl:template match="*[node()]">\n\ <div class="indent">\n\ <span class="markup"><</span>\n\ <span class="start-tag"><xsl:value-of select="name(.)"/></span>\n\ <xsl:apply-templates select="@*"/>\n\ <span class="markup">></span>\n\ <span class="text"><xsl:value-of select="."/></span>\n\ <span class="markup"></</span>\n\ <span class="end-tag"><xsl:value-of select="name(.)"/></span>\n\ <span class="markup">></span>\n\ </div>\n\ </xsl:template>\n\ <xsl:template match="*[* or processing-instruction() or comment() or string-length(.) > 50]">\n\ <table>\n\ <tr>\n\ <xsl:call-template name="expander"/>\n\ <td>\n\ <span class="markup"><</span>\n\ <span class="start-tag"><xsl:value-of select="name(.)"/></span>\n\ <xsl:apply-templates select="@*"/>\n\ <span class="markup">></span>\n\ <div class="expander-content"><xsl:apply-templates/></div>\n\ <span class="markup"></</span>\n\ <span class="end-tag"><xsl:value-of select="name(.)"/></span>\n\ <span class="markup">></span>\n\ </td>\n\ </tr>\n\ </table>\n\ </xsl:template>\n\ <xsl:template match="@*">\n\ <xsl:text> </xsl:text>\n\ <span class="attribute-name"><xsl:value-of select="name(.)"/></span>\n\ <span class="markup">=</span>\n\ <span class="attribute-value">"<xsl:value-of select="."/>"</span>\n\ </xsl:template>\n\ <xsl:template match="text()">\n\ <xsl:if test="normalize-space(.)">\n\ <div class="indent text"><xsl:value-of select="."/></div>\n\ </xsl:if>\n\ </xsl:template>\n\ <xsl:template match="processing-instruction()">\n\ <div class="indent pi">\n\ <xsl:text><?</xsl:text>\n\ <xsl:value-of select="name(.)"/>\n\ <xsl:text> </xsl:text>\n\ <xsl:value-of select="."/>\n\ <xsl:text>?></xsl:text>\n\ </div>\n\ </xsl:template>\n\ <xsl:template match="processing-instruction()[string-length(.) > 50]">\n\ <table>\n\ <tr>\n\ <xsl:call-template name="expander"/>\n\ <td class="pi">\n\ <?<xsl:value-of select="name(.)"/>\n\ <div class="indent expander-content"><xsl:value-of select="."/></div>\n\ <xsl:text>?></xsl:text>\n\ </td>\n\ </tr>\n\ </table>\n\ </xsl:template>\n\ <xsl:template match="comment()">\n\ <div class="comment indent">\n\ <xsl:text><!--</xsl:text>\n\ <xsl:value-of select="."/>\n\ <xsl:text>--></xsl:text>\n\ </div>\n\ </xsl:template>\n\ <xsl:template match="comment()[string-length(.) > 50]">\n\ <table>\n\ <tr>\n\ <xsl:call-template name="expander"/>\n\ <td class="comment">\n\ <xsl:text><!--</xsl:text>\n\ <div class="indent expander-content"><xsl:value-of select="."/></div>\n\ <xsl:text>--></xsl:text>\n\ </td>\n\ </tr>\n\ </table>\n\ </xsl:template>\n\ <xsl:template name="expander">\n\ <td class="expander">−<div class="spacer"/></td>\n\ </xsl:template>\n\</xsl:stylesheet>'; xsl = (new DOMParser()).parseFromString(xsl,'text/xml'); processor.importStylesheet(xsl); var doc = processor.transformToDocument(document); if (!doc.documentElement) { return; } document.removeChild(document.documentElement); document.appendChild(doc.documentElement); } ,false);