Для чего использовался тег <XMP>? - PullRequest
64 голосов
/ 07 августа 2008

Кто-нибудь помнит тег XMP?

Для чего он использовался и почему он устарел?

Ответы [ 8 ]

53 голосов
/ 28 июня 2012

XMP и PRE отличаются. Содержимое тегов PRE форматируется следующим образом:

  • Контент показывается с фиксированным шрифтом,
  • Все пробелы сохранены, а
  • Каждый разрыв строки начинается с новой строки.

Если вы хотите включить специальные теги, такие как <, > и & в теги PRE, их необходимо экранировать, чтобы они не подвергались специальной интерпретации браузером.

Напротив, содержимое в тегах XMP не должно экранироваться.

Единственная последовательность символов, которую нельзя включить в теги XMP, это конечный тег XMP (</XMP>).

XMP все еще поддерживается браузерами, которые я тестировал. Вы можете попробовать это с xmp.html . Просмотрите источник, чтобы увидеть теги.

27 голосов
/ 07 августа 2008

Быстрый поиск в Google на W3C показывает, что XMP был введен для отображения предварительно отформатированного текста в HTML 3.2 и более ранних версиях. Когда W3C устарел тег XMP, он предложил использовать тег PRE в качестве предпочтительной альтернативы.

Обновление: http://www.w3.org/TR/REC-html32#xmp, http://www.w3.org/MarkUp/html-spec/html-spec_5.html#SEC5.5.2.1

16 голосов
/ 13 декабря 2012

XMP делает некоторые вещи, которые PRE не поддерживает. Я все еще зависим от XMP, там есть нет замены.

5 голосов
/ 27 августа 2017

<xmp> используется с strapdown.js в форматировании обозначений уценки. Название strapdown объединяет термины bootstrap и markdown .

<!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>
2 голосов
/ 02 июня 2016

Я использовал <textarea>, который помещает HTML-код в аккуратный блок и четко определяет код, отличный от текста до или после.

<textarea><b>boldtext</b><textarea>

2 голосов
/ 24 января 2012

Я все еще использую тег xmp для отладки var_dump(); в PHP. Я просто не помню, чтобы по какой-то причине использовать тег pre.

Я думаю, это не имеет значения, потому что если вы действительно хотите выводить текст, вы должны использовать textarea с атрибутом readonly.

2 голосов
/ 10 марта 2011

По-прежнему работает, чтобы показать необработанный HTML - если вы используете его в сценарии, сломайте стартовый тег.

var stuff='<xmp'+'>this is shown as is<br/>hello</xmp>';
document.getElementById("x").innerHTML=stuff;
<div id="x"></div>
1 голос
/ 29 ноября 2011

См. http://www.w3.org/Bugs/Public/show_bug.cgi?id=12235

Для HTML5. согласно редактору HTML5 (комментарии 11 и 12), это был очень близкий вызов в любом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...