- From: j.j. <moz@jeka.info>
- Date: Sun, 09 Dec 2007 09:03:20 +0100
- To: public-html@w3.org
Hello! There is some noise on the list about the revenant <xmp>. We should bring it back to real life. HISTORY The <xmp> element was part of the first HTML standard [1]. It has support of all mayor web browsers [2] back to the early days of the web. Actual browser support is as described in a footnote of HTML2 [3]. This gives a taste of the discussions 15 years ago [4]: >[...] I hope I've misunderstood, if you are proposing to replace >XMP with PRE. Another problem with this replacement is >the quoting problem. With XMP, you don't need to worry about whether >or not your arbitrary text contains something which looks like an HTML >tag. This is an important feature, and one which should be kept IMHO. [...] Even the XMP semantics are no good. In SGML, the string "</" is recognized as markup iff it's followed by a name start character (a letter). The above HTML documentation says </ is only markup if it's followed by XMP, i.e. "</XMP>" is the _only_ string that ends an XMP section. This is not expressible in SGML. Dan Connolly's arguments are invalid these days, so we should bring back <xmp> to the standard. USECASE 1. Clean and convenient replacement for the current <pre><code> construct in most cases. - Block container for HTML and XML code. Get it by innerHTML and use it [5]. - Block container for other computer code [6]. 2. Container for ASCII art (no need for the artist to care about characters like "<" or "&"). 3. Im sure, there are more... ATTRIBUTES 1. LANGUAGE If <xmp> contains computer code, an element-specific attribute "LANGUAGE" may/should/must specify the code type, eg. by using the MIME-type. "It would be a hook for specialised search engines or for specific code color rendering displays in UA" [7] 2. ALT If <xmp> contains ASCII art, an attribute "ALT" may/should/must be specified according to @alt for <img>. Furthermore a visual UA with small screen or lack of fixed fonts may display the value in place of the element's content. SEMANTICS Hmm, overlapping with <pre> should be avoided. Perhaps somehing like this: The xmp element represents a block of preformatted text, which is not expected to be readable literally by humans. PRO Very convenient for authors, widely implemented today. CON <xmp><![CDATA[ XHTML needs CDATA section. ]]></xmp> j.j. [1] <http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Tags.html#8> [2] An exeption is Opera. Opera3 supports <xmp>, Opera6 doesn't. Since Opera7.5 it's back again. Futhermore currently Opera ignores <xmp> if the closing tag is missing. Opera doesn't handle xmp.innerHTML properly. [3] <http://www.w3.org/MarkUp/html-spec/html-spec_foot.html#FOOT18> [4] <http://lists.w3.org/Archives/Public/www-talk/1992NovDec/0121.html> [5] <http://lists.w3.org/Archives/Public/public-html/2007May/0256.html> [6] <http://lists.w3.org/Archives/Public/public-html/2007Dec/0114.html> [7] <http://lists.w3.org/Archives/Public/public-html/2007Dec/0108.html> Related: <http://lists.w3.org/Archives/Public/public-html/2007Aug/0694.html> <http://lists.w3.org/Archives/Public/public-html/2007May/0060.html>
Received on Sunday, 9 December 2007 08:03:35 UTC