Pergunta
Alguém se lembra do XMP
marcação?
Para que foi usado e por que foi descontinuado?
Solução
Uma rápida pesquisa no Google sobre o W3C revela que XMP
foi introduzido para exibir texto pré-formatado em HTML 3.2 e anteriores.Quando o W3C descontinuou o XMP
tag, sugeriu usar o PRE
tag como alternativa preferida.
Atualizar: http://www.w3.org/TR/REC-html32#xmp, http://www.w3.org/MarkUp/html-spec/html-spec_5.html#SEC5.5.2.1
Outras dicas
XMP
e PRE
diferem.Conteúdo dentro PRE
tags são formatadas da seguinte maneira:
- O conteúdo é mostrado com uma fonte fixa,
- Todos os espaços em branco são preservados e
- Cada quebra de linha inicia uma nova linha.
Se você quiser incluir caracteres especiais como <
, >
e &
dentro de PRE
tags, elas devem ter escape para que não estejam sujeitas a interpretação especial por parte do navegador.
Em contraste, o conteúdo dentro XMP
tags faz não precisa ser escapado.
A única sequência de caracteres que não pode ser incluída XMP
tags é o XMP
etiqueta final (</XMP>
).
XMP
ainda é compatível com os navegadores que testei.Você pode tentar com xmp.html.Veja a fonte para ver as tags.
O XMP faz algumas coisas que o PRE não suporta.Eu ainda dependo do XMP, existe não substituto.
<xmp>
é usado com strapdown.js na formatação da notação de redução.O nome amarrar combinando os termos inicialização e redução.
<!DOCTYPE html>
<html>
<title>Example</title>
<xmp theme="united">
## Example
- note one
- note two
- note three
</xmp>
<script src="http://strapdownjs.com/v/0.2/strapdown.js"></script>
</html>
Eu ainda uso o xmp
tag para depuração var_dump();
em PHP.Eu simplesmente não consigo me lembrar de usar o pre
etiqueta por algum motivo.
Eu acho que isso realmente não importa porque se você realmente deseja gerar texto, você deve usar textarea
com o readonly
atributo.
eu usei <textarea>
, que coloca o código HTML em uma caixa organizada e define claramente o código como diferente do texto antes ou depois.
<textarea><b>boldtext</b><textarea>
Ainda funciona para mostrar html bruto - se você usá-lo no script, quebre a tag inicial.
var stuff='<xmp'+'>this is shown as is<br/>hello</xmp>';
document.getElementById("x").innerHTML=stuff;
<div id="x"></div>
Ver http://www.w3.org/Bugs/Public/show_bug.cgi?id=12235
Para HTML5.foi, de acordo com o editor HTML5 (comentários 11 e 12), uma decisão muito difícil de qualquer maneira.