зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1204553 - xml:space="preserve" isn’t respected in the no-style-information "document tree" presentation of an XML document. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D203747
This commit is contained in:
Родитель
24650fb87f
Коммит
dc75effc05
|
@ -0,0 +1,67 @@
|
|||
<out>
|
||||
<div id="top" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<link href="chrome://global/content/xml/XMLPrettyPrint.css" type="text/css" rel="stylesheet"/>
|
||||
<div id="header">
|
||||
<p>
|
||||
This XML file does not appear to have any style information associated with it. The document tree is shown below.
|
||||
</p>
|
||||
</div>
|
||||
<main id="tree" class="highlight">
|
||||
<div>
|
||||
<details open="" class="expandable-body">
|
||||
<summary class="expandable-opening">
|
||||
<<span class="start-tag">out</span>>
|
||||
</summary>
|
||||
<div class="expandable-children">
|
||||
<span class="text">Here be sea hags. </span>
|
||||
<div>
|
||||
<details open="" class="expandable-body">
|
||||
<summary class="expandable-opening">
|
||||
<<span class="start-tag">b</span> <span class="attribute-name">xml:space</span>=<span class="attribute-value">"preserve"</span>>
|
||||
</summary>
|
||||
<div class="expandable-children">
|
||||
<span class="text" style="white-space: pre-wrap">They need a lot of space, this much: .</span>
|
||||
<div>
|
||||
<details open="" class="expandable-body">
|
||||
<summary class="expandable-opening">
|
||||
<<span class="start-tag">c</span>>
|
||||
</summary>
|
||||
<div class="expandable-children">
|
||||
<span class="text" style="white-space: pre-wrap">At least, most of them do: .</span>
|
||||
<div>
|
||||
<details open="" class="expandable-body">
|
||||
<summary class="expandable-opening">
|
||||
<<span class="start-tag">d</span> <span class="attribute-name">xml:space</span>=<span class="attribute-value">"default"</span>>
|
||||
</summary>
|
||||
<div class="expandable-children">
|
||||
<span class="text" style="white-space: normal">But some of them don't, they only need one: . </span>
|
||||
<div>
|
||||
<<span class="start-tag">e</span> <span class="attribute-name">xml:space</span>=<span class="attribute-value">"preserve"</span>><span class="text" style="white-space: pre-wrap">But their children might need more: .</span></<span class="end-tag">e</span>>
|
||||
</div>
|
||||
</div>
|
||||
</details>
|
||||
<span class="expandable-closing">
|
||||
</<span class="end-tag">d</span>>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</details>
|
||||
<span class="expandable-closing">
|
||||
</<span class="end-tag">c</span>>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</details>
|
||||
<span class="expandable-closing">
|
||||
</<span class="end-tag">b</span>>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</details>
|
||||
<span class="expandable-closing">
|
||||
</<span class="end-tag">out</span>>
|
||||
</span>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
</out>
|
|
@ -0,0 +1 @@
|
|||
<out>Here be sea hags. <b xml:space="preserve">They need a lot of space, this much: . <c>At least, most of them do: . <d xml:space="default">But some of them don't, they only need one: . <e xml:space="preserve">But their children might need more: .</e></d></c></b></out>
|
|
@ -12,3 +12,4 @@ fuzzy(0-1,0-5) == bug559996.html bug559996-ref.html
|
|||
== bug592366-2.xhtml bug592366-ref.xhtml
|
||||
== bug798068.xhtml bug798068-ref.xhtml
|
||||
== bug1389406.xml bug1389406-ref.xml
|
||||
== prettyprint-space.xml prettyprint-space-ref.xhtml
|
||||
|
|
|
@ -56,3 +56,11 @@
|
|||
font-family: monospace;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
.space-default {
|
||||
white-space: initial;
|
||||
}
|
||||
|
||||
.space-preserve {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
</xsl:template>
|
||||
|
||||
<xsl:template match="*[node()]">
|
||||
<div>
|
||||
<div><xsl:apply-templates mode="space" select="@xml:space"/>
|
||||
<xsl:text><</xsl:text>
|
||||
<span class="start-tag"><xsl:value-of select="name(.)"/></span>
|
||||
<xsl:apply-templates select="@*"/>
|
||||
|
@ -48,7 +48,7 @@
|
|||
</xsl:template>
|
||||
|
||||
<xsl:template match="*[* or processing-instruction() or comment() or string-length(.) > 50]">
|
||||
<div>
|
||||
<div><xsl:apply-templates mode="space" select="@xml:space"/>
|
||||
<details open="" class="expandable-body">
|
||||
<summary class="expandable-opening">
|
||||
<xsl:text><</xsl:text>
|
||||
|
@ -68,6 +68,13 @@
|
|||
</div>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="@xml:space[string() = 'default']" mode="space">
|
||||
<xsl:attribute name="class">space-default</xsl:attribute>
|
||||
</xsl:template>
|
||||
<xsl:template match="@xml:space[string() = 'preserve']" mode="space">
|
||||
<xsl:attribute name="class">space-preserve</xsl:attribute>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="@*">
|
||||
<xsl:text> </xsl:text>
|
||||
<span class="attribute-name"><xsl:value-of select="name(.)"/></span>
|
||||
|
|
Загрузка…
Ссылка в новой задаче