summaryrefslogtreecommitdiffstats
path: root/dom/xml/resources
diff options
context:
space:
mode:
Diffstat (limited to 'dom/xml/resources')
-rw-r--r--dom/xml/resources/XMLMonoPrint.css11
-rw-r--r--dom/xml/resources/XMLPrettyPrint.css41
-rw-r--r--dom/xml/resources/XMLPrettyPrint.xml43
-rw-r--r--dom/xml/resources/XMLPrettyPrint.xsl137
-rw-r--r--dom/xml/resources/jar.mn9
-rw-r--r--dom/xml/resources/moz.build7
6 files changed, 248 insertions, 0 deletions
diff --git a/dom/xml/resources/XMLMonoPrint.css b/dom/xml/resources/XMLMonoPrint.css
new file mode 100644
index 000000000..598daba22
--- /dev/null
+++ b/dom/xml/resources/XMLMonoPrint.css
@@ -0,0 +1,11 @@
+@charset "UTF-8";
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@import url("chrome://global/content/xml/XMLPrettyPrint.css");
+
+#top > .expander-open {
+ font-family: monospace;
+ white-space: pre;
+}
diff --git a/dom/xml/resources/XMLPrettyPrint.css b/dom/xml/resources/XMLPrettyPrint.css
new file mode 100644
index 000000000..efc7ab5e5
--- /dev/null
+++ b/dom/xml/resources/XMLPrettyPrint.css
@@ -0,0 +1,41 @@
+@charset "UTF-8";
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@import url("resource://gre-resources/viewsource.css");
+
+#header {
+ background-color: #ccc;
+ border-bottom: 3px solid black;
+ padding: 0.5em;
+ margin-bottom: 1em;
+}
+
+.expander-content {
+ padding-left: 1em;
+}
+
+.expander {
+ cursor: pointer;
+ -moz-user-select: none;
+ text-align: center;
+ vertical-align: top;
+ width: 1em;
+ display: inline-block;
+ margin-left: -1em;
+}
+
+#top > .expander-open, #top > .expander-closed {
+ margin-left: 1em;
+}
+
+.expander-closed > .expander-content {
+ display: none;
+}
+
+.comment {
+ font-family: monospace;
+ white-space: pre;
+}
+
diff --git a/dom/xml/resources/XMLPrettyPrint.xml b/dom/xml/resources/XMLPrettyPrint.xml
new file mode 100644
index 000000000..522d37210
--- /dev/null
+++ b/dom/xml/resources/XMLPrettyPrint.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<bindings xmlns="http://www.mozilla.org/xbl"
+ xmlns:html="http://www.w3.org/1999/xhtml">
+
+ <binding id="prettyprint" bindToUntrustedContent="true">
+
+ <content><html:div id='top' class="highlight"/>
+ <html:span style="display: none;"><children/></html:span>
+ </content>
+
+ <handlers>
+ <handler event="click" button="0">
+ <![CDATA[
+ try {
+ var par = event.originalTarget;
+ if (par.nodeName == 'div' && par.className == 'expander') {
+ if (par.parentNode.className == 'expander-closed') {
+ par.parentNode.className = 'expander-open';
+ event.originalTarget.firstChild.data = '\u2212';
+ }
+ else {
+ par.parentNode.className = 'expander-closed';
+ event.originalTarget.firstChild.data = '+';
+ }
+ }
+ } catch (e) {
+ }
+ ]]>
+ </handler>
+ <handler event="prettyprint-dom-created" allowuntrusted="false">
+ <![CDATA[
+ document.getAnonymousNodes(this).item(0).appendChild(event.detail);
+ ]]>
+ </handler>
+ </handlers>
+
+ </binding>
+
+</bindings>
diff --git a/dom/xml/resources/XMLPrettyPrint.xsl b/dom/xml/resources/XMLPrettyPrint.xsl
new file mode 100644
index 000000000..bdd9b7287
--- /dev/null
+++ b/dom/xml/resources/XMLPrettyPrint.xsl
@@ -0,0 +1,137 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!DOCTYPE overlay [
+ <!ENTITY % prettyPrintDTD SYSTEM "chrome://global/locale/xml/prettyprint.dtd">
+ %prettyPrintDTD;
+ <!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd">
+ %globalDTD;
+]>
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method="xml"/>
+
+ <xsl:template match="/">
+ <link href="chrome://global/content/xml/XMLPrettyPrint.css" type="text/css" rel="stylesheet"/>
+ <link title="Monospace" href="chrome://global/content/xml/XMLMonoPrint.css" type="text/css" rel="alternate stylesheet"/>
+ <div id="header" dir="&locale.dir;">
+ <p>
+ &xml.nostylesheet;
+ </p>
+ </div>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="*">
+ <div>
+ <xsl:text>&lt;</xsl:text>
+ <span class="start-tag"><xsl:value-of select="name(.)"/></span>
+ <xsl:apply-templates select="@*"/>
+ <xsl:text>/&gt;</xsl:text>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="*[node()]">
+ <div>
+ <xsl:text>&lt;</xsl:text>
+ <span class="start-tag"><xsl:value-of select="name(.)"/></span>
+ <xsl:apply-templates select="@*"/>
+ <xsl:text>&gt;</xsl:text>
+
+ <span class="text"><xsl:value-of select="."/></span>
+
+ <xsl:text>&lt;/</xsl:text>
+ <span class="end-tag"><xsl:value-of select="name(.)"/></span>
+ <xsl:text>&gt;</xsl:text>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="*[* or processing-instruction() or comment() or string-length(.) &gt; 50]">
+ <div class="expander-open">
+ <xsl:call-template name="expander"/>
+
+ <xsl:text>&lt;</xsl:text>
+ <span class="start-tag"><xsl:value-of select="name(.)"/></span>
+ <xsl:apply-templates select="@*"/>
+ <xsl:text>&gt;</xsl:text>
+
+ <div class="expander-content"><xsl:apply-templates/></div>
+
+ <xsl:text>&lt;/</xsl:text>
+ <span class="end-tag"><xsl:value-of select="name(.)"/></span>
+ <xsl:text>&gt;</xsl:text>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="@*">
+ <xsl:text> </xsl:text>
+ <span class="attribute-name"><xsl:value-of select="name(.)"/></span>
+ <xsl:text>=</xsl:text>
+ <span class="attribute-value">"<xsl:value-of select="."/>"</span>
+ </xsl:template>
+
+ <xsl:template match="text()">
+ <xsl:if test="normalize-space(.)">
+ <xsl:value-of select="."/>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="processing-instruction()">
+ <div class="pi">
+ <xsl:text>&lt;?</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text>?&gt;</xsl:text>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="processing-instruction()[string-length(.) &gt; 50]">
+ <div class="expander-open">
+ <xsl:call-template name="expander"/>
+
+ <span class="pi">
+ <xsl:text> &lt;?</xsl:text>
+ <xsl:value-of select="name(.)"/>
+ </span>
+ <div class="expander-content pi"><xsl:value-of select="."/></div>
+ <span class="pi">
+ <xsl:text>?&gt;</xsl:text>
+ </span>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="comment()">
+ <div class="comment">
+ <xsl:text>&lt;!--</xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text>--&gt;</xsl:text>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="comment()[string-length(.) &gt; 50]">
+ <div class="expander-open">
+ <xsl:call-template name="expander"/>
+
+ <span class="comment">
+ <xsl:text>&lt;!--</xsl:text>
+ </span>
+ <div class="expander-content comment">
+ <xsl:value-of select="."/>
+ </div>
+ <span class="comment">
+ <xsl:text>--&gt;</xsl:text>
+ </span>
+ </div>
+ </xsl:template>
+
+ <xsl:template name="expander">
+ <div class="expander">&#x2212;</div>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/dom/xml/resources/jar.mn b/dom/xml/resources/jar.mn
new file mode 100644
index 000000000..4ad311385
--- /dev/null
+++ b/dom/xml/resources/jar.mn
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+toolkit.jar:
+ content/global/xml/XMLPrettyPrint.css (XMLPrettyPrint.css)
+ content/global/xml/XMLMonoPrint.css (XMLMonoPrint.css)
+ content/global/xml/XMLPrettyPrint.xml (XMLPrettyPrint.xml)
+ content/global/xml/XMLPrettyPrint.xsl (XMLPrettyPrint.xsl)
diff --git a/dom/xml/resources/moz.build b/dom/xml/resources/moz.build
new file mode 100644
index 000000000..eb4454d28
--- /dev/null
+++ b/dom/xml/resources/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file