<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>5039</bug_id>
          
          <creation_ts>2005-09-18 05:00:24 -0700</creation_ts>
          <short_desc>XSLT text output doesn&apos;t work</short_desc>
          <delta_ts>2005-09-24 04:44:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>XML</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>19853</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-18 05:00:24 -0700</bug_when>
    <thetext>This patch fixes several issues with xsl:output method=&quot;text&quot;. I couldn&apos;t find any circumstances under 
which it would work previously, thus a vague summary.

What is addressed:
1) Added an XML text declaration.
2) Corrected DTD URI.
3) Added a HEAD with a TITLE.
4) Got rid of a CDATA section. Safari wouldn&apos;t display it; besides, it wasn&apos;t used correctly (the output could 
contain &quot;]]&gt;&quot; itself). Instead, replaces &lt; and &amp; with entities.
5) Removed a newline after &lt;pre&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19854</commentid>
    <comment_count>1</comment_count>
      <attachid>3934</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-18 05:03:26 -0700</bug_when>
    <thetext>Created attachment 3934
test case

Unlike the patch, this test relies on bug 3418 being fixed (it uses non-ASCII
text).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19855</commentid>
    <comment_count>2</comment_count>
      <attachid>3935</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-18 05:04:08 -0700</bug_when>
    <thetext>Created attachment 3935
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19957</commentid>
    <comment_count>3</comment_count>
      <attachid>3935</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-09-18 12:42:36 -0700</bug_when>
    <thetext>Comment on attachment 3935
proposed patch

I agree w/ the doctype fix.  I&apos;m not entirely sure as why &quot;text output&quot;
wouldn&apos;t just get displayed as text.. instead of parsed as xhtml (hyatt might
know).

Also, why only replace amp and lt?  I would expect you would at least need to
replace gt as well.  And probably all of the predefined entities:
http://www.w3.org/TR/REC-xml/#sec-predefined-ent

I also think it makes sense to have a newline after &lt;pre&gt; unless it gets
displayed as part of the text.

Finally, it looks like you might have used tabs instead of spaces (or maybe the
whole method is tabs and you used spaces, which would be correct).

For the lack of gt replacement, I&apos;m going to review: -.  Hyatt and darin may
have further opinions as they are more familiar with the xslt code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19960</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-18 13:27:49 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Also, why only replace amp and lt?
If these two are replaced, nothing else can be mistakengly recognized as markup.

&gt; I also think it makes sense to have a newline after &lt;pre&gt; unless it gets
&gt; displayed as part of the text.
I removed it because it does get displayed (that&apos;s the primary function of &lt;pre&gt; :) )

Indentation also looks correct...

Resetting review? flag after discussing this with Eric on IRC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20045</commentid>
    <comment_count>5</comment_count>
      <attachid>3935</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-19 15:49:16 -0700</bug_when>
    <thetext>Comment on attachment 3935
proposed patch

Is it really OK to put the title in without any escaping at all? Are we somehow
guaranteed that the title won&apos;t have the string &quot;&lt;/title&gt;&quot; in it?

Otherwise, this looks fine to me. Feel free to move this back to review? if you
answer that question.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20063</commentid>
    <comment_count>6</comment_count>
      <attachid>3956</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-19 21:29:45 -0700</bug_when>
    <thetext>Created attachment 3956
patch that uses an empty title

My idea was that XML document&apos;s title is its file name - if so, a closing tag
cannot be in the title (because it includes a path separator). However,
1) an opening tag can, which I missed;
2) I&apos;ve just tested and saw that m_sourceDocument-&gt;title() comes empty in my
test - and that doesn&apos;t prevent Safari from displaying the file name in the
title.

So, I think that always setting an empty path is a safer solution than escaping
it - entities in the title will not look good, if a later change makes
m_sourceDocument-&gt;title() return the document&apos;s file name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20108</commentid>
    <comment_count>7</comment_count>
      <attachid>3956</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-20 16:52:12 -0700</bug_when>
    <thetext>Comment on attachment 3956
patch that uses an empty title

I don&apos;t understand the argument for the empty &lt;title&gt; element. How is this
different from any other XML document without a title? Is putting an empty
&lt;title&gt; in really the best way to get the result we&apos;re after?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20137</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-20 21:24:08 -0700</bug_when>
    <thetext>(In reply to comment #7)
The document must have a HEAD with a TITLE in it, because it&apos;s XHTML-strict (W3C validator rejected it 
otherwise, and the spec says the same IIRC).

The original XML has no intrinsic title other than its file name, and Safari still displays the file name in the 
window title in my test case. On the other hand, putting the file name in TITLE would probably be not very 
nice - it&apos;s not a real title, but a Safari courtesy. Unless I&apos;m missing something, it cannot be made any 
better :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20168</commentid>
    <comment_count>9</comment_count>
      <attachid>3956</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-21 11:56:59 -0700</bug_when>
    <thetext>Comment on attachment 3956
patch that uses an empty title

OK. I think &lt;title/&gt; would have been slightly more elegant, but I understand.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20433</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-24 03:03:46 -0700</bug_when>
    <thetext>The idea of just displaying text as text instead of making an XML document still seems like a good future 
possibility.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3934</attachid>
            <date>2005-09-18 05:03:26 -0700</date>
            <delta_ts>2005-09-18 05:03:26 -0700</delta_ts>
            <desc>test case</desc>
            <filename>xslt-text-test.zip</filename>
            <type>application/octet-stream</type>
            <size>1232</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">UEsDBBQACAAIAER/MjMAAAAAAAAAAAAAAAANABAAeHNsdC10ZXh0LnhtbFVYDAD4Vi1DT1YtQ/UB
9QGzsa/IzVEoSy0qzszPs1Uy1DNQUkjNS85PycxLt1UKDXHTtVCyt+OyASnTLS6pzEktzkhNLVEo
qSxItVUqSa0o0a8ozlFSyChKTbNVAjJLdEGCeiBBkL4Q1+AQu2D/0CBnV4UIXx8rBbWcEms4Tswt
sL7YdGHrxcaLTWCOnZ1aeom1jT5YGxcAUEsHCMXUk32IAAAAnQAAAFBLAwQKAAAAAAAcgDIzAAAA
AAAAAAAAAAAACQAQAF9fTUFDT1NYL1VYDAD4Vi1D+FYtQ/UB9QFQSwMEFAAIAAgARH8yMwAAAAAA
AAAAAAAAABgAEABfX01BQ09TWC8uX3hzbHQtdGV4dC54bWxVWAwA+FYtQ09WLUP1AfUBY2AVY2dg
YsAEIDFOIDYCYgUoPwgkEeIaEYJFPRwAAFBLBwjBzWWFHwAAAFIAAABQSwMEFAAIAAgAnX4yMwAA
AAAAAAAAAAAAAA0AEAB4c2x0LXRleHQueHNsVVgMAPhWLUMaVS1D9QH1AWWQz2qDQBDGz/Epli14
0430Ev/shhBSGlpaUAu9itloYNcVd4zm2LxT36O+UU2M0tDDwMzHzPebmWDZSoGOvNIHVVDs2HOM
eJGq3aHIKP6In6wFXjIjaLXwNJwE1znngPqhQnu9SHEOUHqENE1jN4+2qjLiuK5LPqNXEldJofeq
kviewIzBUNVQ1oAkh1ztKAbewl/6y/t2YYWY3PDAZSkS4EgmkOYUx5soxmz9vApX63gTRmj7hnpq
7CFTgD9FIku/O/98d1/d+VowZmbgD55JWYqTNTprwm6kFpj54Mz9gEz1mA6t4wnTUsyYza7KMRE1
t9QeaS54ChTbGF1O+DdO7n/KjF9QSwcIPfmdGQYBAACMAQAAUEsDBBQACAAIAJ1+MjMAAAAAAAAA
AAAAAAAYABAAX19NQUNPU1gvLl94c2x0LXRleHQueHNsVVgMAPhWLUMaVS1D9QH1AWNgFWNnYGLA
BCAxTiA2AmIFKD8IJBHiGhGCRT0cAABQSwcIwc1lhR8AAABSAAAAUEsBAhUDFAAIAAgARH8yM8XU
k32IAAAAnQAAAA0ADAAAAAAAAAAAQKSBAAAAAHhzbHQtdGV4dC54bWxVWAgA+FYtQ09WLUNQSwEC
FQMKAAAAAAAcgDIzAAAAAAAAAAAAAAAACQAMAAAAAAAAAABA/UHTAAAAX19NQUNPU1gvVVgIAPhW
LUP4Vi1DUEsBAhUDFAAIAAgARH8yM8HNZYUfAAAAUgAAABgADAAAAAAAAAAAQKSBCgEAAF9fTUFD
T1NYLy5feHNsdC10ZXh0LnhtbFVYCAD4Vi1DT1YtQ1BLAQIVAxQACAAIAJ1+MjM9+Z0ZBgEAAIwB
AAANAAwAAAAAAAAAAECkgX8BAAB4c2x0LXRleHQueHNsVVgIAPhWLUMaVS1DUEsBAhUDFAAIAAgA
nX4yM8HNZYUfAAAAUgAAABgADAAAAAAAAAAAQKSB0AIAAF9fTUFDT1NYLy5feHNsdC10ZXh0Lnhz
bFVYCAD4Vi1DGlUtQ1BLBQYAAAAABQAFAHUBAABFAwAAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3935</attachid>
            <date>2005-09-18 05:04:08 -0700</date>
            <delta_ts>2005-09-19 21:29:45 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>XSLTTextPatch.txt</filename>
            <type>text/plain</type>
            <size>1455</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IHhzbHRfcHJvY2Vzc29yaW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9y
b290L1dlYkNvcmUva2h0bWwveHNsL3hzbHRfcHJvY2Vzc29yaW1wbC5jcHAsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuOApkaWZmIC1wIC11IC1yMS44IHhzbHRfcHJvY2Vzc29yaW1wbC5jcHAKLS0t
IHhzbHRfcHJvY2Vzc29yaW1wbC5jcHAJMzEgQXVnIDIwMDUgMDc6MzQ6NTUgLTAwMDAJMS44Cisr
KyB4c2x0X3Byb2Nlc3NvcmltcGwuY3BwCTE4IFNlcCAyMDA1IDExOjM3OjM4IC0wMDAwCkBAIC0x
ODYsMTIgKzE4NiwxNCBAQCBEb2N1bWVudEltcGwgKlhTTFRQcm9jZXNzb3JJbXBsOjpkb2N1bWVu
CiAKICAgICAgICAgaWYgKHhtbFN0ckVxdWFsKG1ldGhvZCwgKGNvbnN0IHhtbENoYXIgKikidGV4
dCIpKSB7CiAgICAgICAgICAgICAvLyBNb2RpZnkgdGhlIG91dHB1dCBzbyB0aGF0IGl0IGlzIGEg
d2VsbC1mb3JtZWQgWEhUTUwgZG9jdW1lbnQgd2l0aCBhIDxwcmU+IHRhZyBlbmNsb3NpbmcgdGhl
IHRleHQuCi0gICAgICAgICAgICBtX3Jlc3VsdE91dHB1dCA9ICI8IURPQ1RZUEUgaHRtbCBQVUJM
SUMgXCItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTlwiIFwiaHR0cDovL3d3dy53My5v
cmcvVFIveGh0bWwxL0RURC9zdHJpY3QuZHRkXCI+XG4iCisgICAgICAgICAgICBtX3Jlc3VsdE91
dHB1dC5yZXBsYWNlKCcmJywgIiZhbXA7Iik7CisgICAgICAgICAgICBtX3Jlc3VsdE91dHB1dC5y
ZXBsYWNlKCc8JywgIiZsdDsiKTsKKyAgICAgICAgICAgIG1fcmVzdWx0T3V0cHV0ID0gIjw/eG1s
IHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCI/PlxuIgorICAgICAgICAgICAgICAg
ICI8IURPQ1RZUEUgaHRtbCBQVUJMSUMgXCItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9F
TlwiIFwiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZFwi
PlxuIgogICAgICAgICAgICAgICAgICI8aHRtbCB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGh0bWxcIj5cbiIKKyAgICAgICAgICAgICAgICAiPGhlYWQ+PHRpdGxlPiIgKyBtX3NvdXJj
ZURvY3VtZW50LT50aXRsZSgpLnFzdHJpbmcoKSArICI8L3RpdGxlPjwvaGVhZD5cbiIKICAgICAg
ICAgICAgICAgICAiPGJvZHk+XG4iCi0gICAgICAgICAgICAgICAgIjxwcmU+XG4iCi0gICAgICAg
ICAgICAgICAgIjwhW0NEQVRBWyIgKyBtX3Jlc3VsdE91dHB1dCArICJdXT5cbiIKLSAgICAgICAg
ICAgICAgICAiPC9wcmU+XG4iCisgICAgICAgICAgICAgICAgIjxwcmU+IiArIG1fcmVzdWx0T3V0
cHV0ICsgIjwvcHJlPlxuIgogICAgICAgICAgICAgICAgICI8L2JvZHk+XG4iCiAgICAgICAgICAg
ICAgICAgIjwvaHRtbD5cbiI7CiAgICAgICAgIH0K
</data>
<flag name="review"
          id="583"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3956</attachid>
            <date>2005-09-19 21:29:45 -0700</date>
            <delta_ts>2005-09-21 11:56:59 -0700</delta_ts>
            <desc>patch that uses an empty title</desc>
            <filename>XSLTTextPatch2.txt</filename>
            <type>text/plain</type>
            <size>1412</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IHhzbHRfcHJvY2Vzc29yaW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9y
b290L1dlYkNvcmUva2h0bWwveHNsL3hzbHRfcHJvY2Vzc29yaW1wbC5jcHAsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuOApkaWZmIC1wIC11IC1yMS44IHhzbHRfcHJvY2Vzc29yaW1wbC5jcHAKLS0t
IHhzbHRfcHJvY2Vzc29yaW1wbC5jcHAJMzEgQXVnIDIwMDUgMDc6MzQ6NTUgLTAwMDAJMS44Cisr
KyB4c2x0X3Byb2Nlc3NvcmltcGwuY3BwCTE4IFNlcCAyMDA1IDExOjM3OjM4IC0wMDAwCkBAIC0x
ODYsMTIgKzE4NiwxNCBAQCBEb2N1bWVudEltcGwgKlhTTFRQcm9jZXNzb3JJbXBsOjpkb2N1bWVu
CiAKICAgICAgICAgaWYgKHhtbFN0ckVxdWFsKG1ldGhvZCwgKGNvbnN0IHhtbENoYXIgKikidGV4
dCIpKSB7CiAgICAgICAgICAgICAvLyBNb2RpZnkgdGhlIG91dHB1dCBzbyB0aGF0IGl0IGlzIGEg
d2VsbC1mb3JtZWQgWEhUTUwgZG9jdW1lbnQgd2l0aCBhIDxwcmU+IHRhZyBlbmNsb3NpbmcgdGhl
IHRleHQuCi0gICAgICAgICAgICBtX3Jlc3VsdE91dHB1dCA9ICI8IURPQ1RZUEUgaHRtbCBQVUJM
SUMgXCItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTlwiIFwiaHR0cDovL3d3dy53My5v
cmcvVFIveGh0bWwxL0RURC9zdHJpY3QuZHRkXCI+XG4iCisgICAgICAgICAgICBtX3Jlc3VsdE91
dHB1dC5yZXBsYWNlKCcmJywgIiZhbXA7Iik7CisgICAgICAgICAgICBtX3Jlc3VsdE91dHB1dC5y
ZXBsYWNlKCc8JywgIiZsdDsiKTsKKyAgICAgICAgICAgIG1fcmVzdWx0T3V0cHV0ID0gIjw/eG1s
IHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCI/PlxuIgorICAgICAgICAgICAgICAg
ICI8IURPQ1RZUEUgaHRtbCBQVUJMSUMgXCItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9F
TlwiIFwiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZFwi
PlxuIgogICAgICAgICAgICAgICAgICI8aHRtbCB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGh0bWxcIj5cbiIKKyAgICAgICAgICAgICAgICAiPGhlYWQ+PHRpdGxlPjwvdGl0bGU+PC9o
ZWFkPlxuIgogICAgICAgICAgICAgICAgICI8Ym9keT5cbiIKLSAgICAgICAgICAgICAgICAiPHBy
ZT5cbiIKLSAgICAgICAgICAgICAgICAiPCFbQ0RBVEFbIiArIG1fcmVzdWx0T3V0cHV0ICsgIl1d
PlxuIgotICAgICAgICAgICAgICAgICI8L3ByZT5cbiIKKyAgICAgICAgICAgICAgICAiPHByZT4i
ICsgbV9yZXN1bHRPdXRwdXQgKyAiPC9wcmU+XG4iCiAgICAgICAgICAgICAgICAgIjwvYm9keT5c
biIKICAgICAgICAgICAgICAgICAiPC9odG1sPlxuIjsKICAgICAgICAgfQo=
</data>
<flag name="review"
          id="592"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>