What was the tag used for?</a></h1> </div> <div class="grid fw-wrap pb8 mb16 bb bc-black-075"> <div class="grid--cell ws-nowrap mr16 mb8" title="2016-01-12 19:07:53Z"> <span class="fc-light mr2">Asked</span> <time itemprop="dateCreated" datetime="2008-08-07T09:21:41.563" class="fromnow">Aug 07 '08 at 09:21</time> </div> <div class="grid--cell ws-nowrap mr16 mb8"> <span class="fc-light mr2">Active</span> <time class="fromnow" title="2018-12-17T15:49:59.753" datetime="2018-12-17T15:49:59.753">Dec 17 '18 at 15:49</a> </div> <div class="grid--cell ws-nowrap mb8" title="Viewed 53,652 times"> <span class="fc-light mr2">Viewed</span> 5.4k times </div> </div> <div id="mainbar" role="main" aria-label="questions and answers"> <div id="question" class="question" data-questionid="4545" data-ownerid="383" data-score="80"> <div class="post-layout"> <div class="votecell post-layout--left"> <div class="js-voting-container grid jc-center fd-column ai-stretch gs4 fc-black-200" data-post-id="4545"> <button class="js-vote-up-btn grid--cell s-btn s-btn__unset c-pointer"><svg aria-hidden="true" class="m0 svg-icon iconArrowUpLg" width="36" height="36" viewBox="0 0 36 36"><path d="M2 26h32L18 10 2 26z"></path></svg></button> <div class="js-vote-count grid--cell fc-black-500 fs-title grid fd-column ai-center" itemprop="upvoteCount" data-value="80">80</div> <button class="js-bookmark-btn s-btn s-btn__unset c-pointer py4"> <svg aria-hidden="true" class="svg-icon iconBookmark" width="18" height="18" viewBox="0 0 18 18"><path d="M6 1a2 2 0 00-2 2v14l5-4 5 4V3a2 2 0 00-2-2H6zm3.9 3.83h2.9l-2.35 1.7.9 2.77L9 7.59l-2.35 1.7.9-2.76-2.35-1.7h2.9L9 2.06l.9 2.77z"></path></svg> <div class="js-bookmark-count mt4" data-value="0">0</div> </button> </div> </div> <div class="postcell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"><p>Does anyone remember the <code>XMP</code> tag?</p> <p>What was it used for and why was it deprecated?</p></div> <div class="mt24 mb12"> <div class="post-taglist grid gs4 gsy fd-column"> <div class="grid ps-relative"> <a href="../../questions/tagged/html" class="post-tag js-gps-track" title="show questions tagged 'html'" rel="tag">html</a> <a href="../../questions/tagged/tags" class="post-tag js-gps-track" title="show questions tagged 'tags'" rel="tag">tags</a> </div> </div> </div> <div class="mb0"> <div class="mt16 grid gs8 gsy fw-wrap jc-end ai-start pt4 mb16"> <div class="grid--cell mr16 fl1 w96"></div> <div class="post-signature grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="edited May 26 '17 at 09:38">edited May 26 '17 at 09:38</time> <a href="../../users/1402846/pang" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/1402846.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="Pang" /> </a> <div class="s-user-card--info"> <a href="../../users/1402846/pang" class="s-user-card--link">Pang</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">9,564</li> <li class="s-award-bling s-award-bling__gold" title="146 gold badges">146</li> <li class="s-award-bling s-award-bling__silver" title="81 silver badges">81</li> <li class="s-award-bling s-award-bling__bronze" title="122 bronze badges">122</li> </ul> </div> </div> </div> <div class="post-signature owner grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="asked Aug 07 '08 at 09:21">asked Aug 07 '08 at 09:21</time> <a href="../../users/383/gatekiller" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/383.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="GateKiller" /> </a> <div class="s-user-card--info"> <a href="../../users/383/gatekiller" class="s-user-card--link">GateKiller</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">74,180</li> <li class="s-award-bling s-award-bling__gold" title="73 gold badges">73</li> <li class="s-award-bling s-award-bling__silver" title="171 silver badges">171</li> <li class="s-award-bling s-award-bling__bronze" title="204 bronze badges">204</li> </ul> </div> </div> </div> </div> </div> </div> <div class="post-layout--right js-post-comments-component"> <div id="comments-4545" class="comments js-comments-container bt bc-black-075 mt12 " data-post-id="4545" data-min-length="15"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> <li id="comment-100931105" class="comment js-comment " data-comment-id="100931105" data-comment-owner-id="2158002" data-comment-score="1"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> <span title="number of 'useful comment' votes received" class="warm">1</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment100931105_4545"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">Pretty sure it was used for annoying developers writing html parsers, considering this is valid (and used by google no less): `<xmp style="display:none"><!-- do not remove the plaintext nor xmp tags --><plaintext></plaintext><xmp>.` – Anon Jul 26 '19 at 03:43

8 Answers8

67

XMP and PRE differ. Content within PRE tags is formatted as follows:

  • Content is shown with a fixed font,
  • All whitespace is preserved, and
  • Each line break begins a new line.

If you want to include special characters such as <, > and & within PRE tags, they must be escaped so that they are not subject to special interpretation by the browser.

In contrast, content within XMP tags does not need to be escaped.

The only character sequence that cannot be included within XMP tags is the XMP end tag (</XMP>).

XMP is still supported by the browsers I have tested. You can try it with xmp.html. View the source to see the tags.

DavidRR
  • 18,291
  • 25
  • 109
  • 191
dadinck
  • 1,118
  • 1
  • 7
  • 8
  • 21
    I have presented four ways of representing code. Textarea seems to be the winner. Here is my evaluation: http://dadinck.x10.mx/code_example.html – dadinck May 31 '13 at 02:38
  • 2
    Security Note: XMP **is NOT** an XSS protection - its only purpose is when you are creating a **static** HTML page *by yourself* and you want to show some code without escaping it... – jave.web Sep 30 '14 at 13:17
  • @dadinck, Your xml.html link links to *"The web hosting account associated with this website has been temporarily suspended! "*.... – Pacerier May 24 '15 at 23:45
  • @Pacerier Sorry. That was only temporary. It is back again. – dadinck Jul 06 '15 at 19:29
  • You forgot ``. Same advantages as `<xmp>` without any disadvantages _apart from_ that _everything_ (including any `</xmp></plaintext>`) after the tag will be printed verbatim, including `<p>` and `</p></span> –&nbsp;<a href="../../users/113195/boldewyn" title="81,211 reputation" class="comment-user ">Boldewyn</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment62672667_11249786"><span title="2016-06-02T13:56:55.083 License: CC BY-SA 3.0" class="relativetime-clean">Jun 02 '16 at 13:56</span></a></span> </div> </div> </li> <li id="comment-98785414" class="comment js-comment " data-comment-id="98785414" data-comment-owner-id="380331" data-comment-score="1"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> <span title="number of 'useful comment' votes received" class="warm">1</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment98785414_11249786"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">@Boldewyn `<plaintext>` is deprecated as well as `<xmp>` tag, thus is a no-go. Probably best alternative is `<textarea>` tag.</textarea></xmp></plaintext></span> –&nbsp;<a href="../../users/380331/agnius-vasiliauskas" title="10,935 reputation" class="comment-user ">Agnius Vasiliauskas</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment98785414_11249786"><span title="2019-05-10T08:12:00.830 License: CC BY-SA 4.0" class="relativetime-clean">May 10 '19 at 08:12</span></a></span> </div> </div> </li> <li id="comment-104429464" class="comment js-comment " data-comment-id="104429464" data-comment-owner-id="2698167" data-comment-score="0"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment104429464_11249786"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">XMP is great for debugging raw html.</span> –&nbsp;<a href="../../users/2698167/tuntable" title="3,276 reputation" class="comment-user ">Tuntable</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment104429464_11249786"><span title="2019-11-29T02:49:05.590 License: CC BY-SA 4.0" class="relativetime-clean">Nov 29 '19 at 02:49</span></a></span> </div> </div> </li> </ul> </div> </div> </div> </div> <a name="4549"></a> <div id="answer-4549" class="answer accepted-answer" data-answerid="4549" data-ownerid="342" data-score="37" itemprop="acceptedAnswer" itemscope="" itemtype="https://schema.org/Answer"> <div class="post-layout"> <div class="votecell post-layout--left"> <div class="js-voting-container grid jc-center fd-column ai-stretch gs4 fc-black-200" data-post-id="4549"> <button class="js-vote-up-btn grid--cell s-btn s-btn__unset c-pointer"><svg aria-hidden="true" class="m0 svg-icon iconArrowUpLg" width="36" height="36" viewBox="0 0 36 36"><path d="M2 26h32L18 10 2 26z"></path></svg></button> <div class="js-vote-count grid--cell fc-black-500 fs-title grid fd-column ai-center" itemprop="upvoteCount" data-value="37">37</div> <div class="js-accepted-answer-indicator grid--cell fc-green-500 py6 mtn8"><div class="ta-center"><svg aria-hidden="true" class="svg-icon iconCheckmarkLg" width="36" height="36" viewBox="0 0 36 36"><path d="m6 14 8 8L30 6v8L14 30l-8-8v-8z"></path></svg></div></div> </div> </div> <div class="postcell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"><p>A quick Google search on W3C reveals that <code>XMP</code> was introduced for displaying <strong>preformatted text</strong> in HTML 3.2 and earlier. When W3C deprecated the <code>XMP</code> tag, it suggested using the <code>PRE</code> tag as a preferred alternative.</p> <p>Update: <a class="external-link" href="http://www.w3.org/TR/REC-html32#xmp" rel="noreferrer">http://www.w3.org/TR/REC-html32#xmp</a>, <a class="external-link" href="http://www.w3.org/MarkUp/html-spec/html-spec_5.html#SEC5.5.2.1" rel="noreferrer">http://www.w3.org/MarkUp/html-spec/html-spec_5.html#SEC5.5.2.1</a></p></div> <div class="mb0"> <div class="mt16 grid gs8 gsy fw-wrap jc-end ai-start pt4 mb16"> <div class="grid--cell mr16 fl1 w96"></div> <div class="post-signature grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="edited May 01 '15 at 18:18">edited May 01 '15 at 18:18</time> <a href="../../users/1497596/davidrr" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/1497596.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="DavidRR" /> </a> <div class="s-user-card--info"> <a href="../../users/1497596/davidrr" class="s-user-card--link">DavidRR</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">18,291</li> <li class="s-award-bling s-award-bling__gold" title="25 gold badges">25</li> <li class="s-award-bling s-award-bling__silver" title="109 silver badges">109</li> <li class="s-award-bling s-award-bling__bronze" title="191 bronze badges">191</li> </ul> </div> </div> </div> <div class="post-signature grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="answered Aug 07 '08 at 09:43">answered Aug 07 '08 at 09:43</time> <a href="../../users/342/graham-reeds" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/342.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="graham.reeds" /> </a> <div class="s-user-card--info"> <a href="../../users/342/graham-reeds" class="s-user-card--link">graham.reeds</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">16,230</li> <li class="s-award-bling s-award-bling__gold" title="17 gold badges">17</li> <li class="s-award-bling s-award-bling__silver" title="74 silver badges">74</li> <li class="s-award-bling s-award-bling__bronze" title="137 bronze badges">137</li> </ul> </div> </div> </div> </div> </div> </div> <div class="post-layout--right js-post-comments-component"> <div id="comments-4549" class="comments js-comments-container bt bc-black-075 mt12 " data-post-id="4549" data-min-length="15"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> <li id="comment-57392661" class="comment js-comment " data-comment-id="57392661" data-comment-owner-id="1016716" data-comment-score="1"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> <span title="number of 'useful comment' votes received" class="warm">1</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment57392661_4549"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">Actually they were already marked as "obsolete" in the HTML 3.0 reference. http://www.w3.org/MarkUp/html3/html3.dtd dating 1 August 1995. Which, incidentally, also quotes the exact reason why it was deprecated (this would be the answer to the OP's second question).</span> –&nbsp;<a href="../../users/1016716/mr-lister" title="45,515 reputation" class="comment-user ">Mr Lister</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment57392661_4549"><span title="2016-01-16T09:15:07.430 License: CC BY-SA 3.0" class="relativetime-clean">Jan 16 '16 at 09:15</span></a></span> </div> </div> </li> <li id="comment-79022821" class="comment js-comment " data-comment-id="79022821" data-comment-owner-id="2698167" data-comment-score="1"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> <span title="number of 'useful comment' votes received" class="warm">1</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment79022821_4549"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">pre is not an alternative xmp quotes all contained text. Great for debugging. Not secure though. Works everywhere AFAIK.</span> –&nbsp;<a href="../../users/2698167/tuntable" title="3,276 reputation" class="comment-user ">Tuntable</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment79022821_4549"><span title="2017-09-04T06:39:22.617 License: CC BY-SA 3.0" class="relativetime-clean">Sep 04 '17 at 06:39</span></a></span> </div> </div> </li> <li id="comment-114084056" class="comment js-comment " data-comment-id="114084056" data-comment-owner-id="242404" data-comment-score="0"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment114084056_4549"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">This page explains why `<xmp>` is not secure: https://html5sec.org/#134</xmp></span> –&nbsp;<a href="../../users/242404/julien" title="953 reputation" class="comment-user ">Julien</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment114084056_4549"><span title="2020-10-25T00:06:02.187 License: CC BY-SA 4.0" class="relativetime-clean">Oct 25 '20 at 00:06</span></a></span> </div> </div> </li> <li id="comment-115210797" class="comment js-comment " data-comment-id="115210797" data-comment-owner-id="5223757" data-comment-score="0"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment115210797_4549"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">@Julien It's not a secure way of concatenating user input into HTML (because it's still susceptible to XSS), but you shouldn't be doing it anyway. Afaik, using the tag _in general_ isn't a security vulnerability.</span> –&nbsp;<a href="../../users/5223757/wizzwizz4" title="6,140 reputation" class="comment-user ">wizzwizz4</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment115210797_4549"><span title="2020-12-06T13:04:17.333 License: CC BY-SA 4.0" class="relativetime-clean">Dec 06 '20 at 13:04</span></a></span> </div> </div> </li> </ul> </div> </div> </div> </div> <a name="13855455"></a> <div id="answer-13855455" class="answer " data-answerid="13855455" data-ownerid="1415603" data-score="18" itemprop="suggestedAnswer" itemscope="" itemtype="https://schema.org/Answer"> <div class="post-layout"> <div class="votecell post-layout--left"> <div class="js-voting-container grid jc-center fd-column ai-stretch gs4 fc-black-200" data-post-id="13855455"> <button class="js-vote-up-btn grid--cell s-btn s-btn__unset c-pointer"><svg aria-hidden="true" class="m0 svg-icon iconArrowUpLg" width="36" height="36" viewBox="0 0 36 36"><path d="M2 26h32L18 10 2 26z"></path></svg></button> <div class="js-vote-count grid--cell fc-black-500 fs-title grid fd-column ai-center" itemprop="upvoteCount" data-value="18">18</div> </div> </div> <div class="postcell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"><p>XMP does some things that PRE does not support. I still depend on XMP, there is <em>no</em> substitute.</p></div> <div class="mb0"> <div class="mt16 grid gs8 gsy fw-wrap jc-end ai-start pt4 mb16"> <div class="grid--cell mr16 fl1 w96"></div> <div class="post-signature grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="edited Dec 17 '18 at 15:49">edited Dec 17 '18 at 15:49</time> <a href="../../users/2036825/kleinfreund" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/2036825.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="kleinfreund" /> </a> <div class="s-user-card--info"> <a href="../../users/2036825/kleinfreund" class="s-user-card--link">kleinfreund</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">6,546</li> <li class="s-award-bling s-award-bling__gold" title="4 gold badges">4</li> <li class="s-award-bling s-award-bling__silver" title="30 silver badges">30</li> <li class="s-award-bling s-award-bling__bronze" title="60 bronze badges">60</li> </ul> </div> </div> </div> <div class="post-signature grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="answered Dec 13 '12 at 08:02">answered Dec 13 '12 at 08:02</time> <a href="../../users/1415603/thomas" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/1415603.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="Thomas" /> </a> <div class="s-user-card--info"> <a href="../../users/1415603/thomas" class="s-user-card--link">Thomas</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">269</li> <li class="s-award-bling s-award-bling__silver" title="2 silver badges">2</li> <li class="s-award-bling s-award-bling__bronze" title="4 bronze badges">4</li> </ul> </div> </div> </div> </div> </div> </div> <div class="post-layout--right js-post-comments-component"> <div id="comments-13855455" class="comments js-comments-container bt bc-black-075 mt12 " data-post-id="13855455" data-min-length="15"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> <li id="comment-19076210" class="comment js-comment " data-comment-id="19076210" data-comment-owner-id="687514" data-comment-score="25"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> <span title="number of 'useful comment' votes received" class="warm">25</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment19076210_13855455"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">Perhaps you could explain *why* PRE is not a substitute for XMP. As it stands, this is not really an answer.</span> –&nbsp;<a href="../../users/687514/anders-r-bystrup" title="15,729 reputation" class="comment-user ">Anders R. Bystrup</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment19076210_13855455"><span title="2012-12-13T08:24:05.510 License: CC BY-SA 3.0" class="relativetime-clean">Dec 13 '12 at 08:24</span></a></span> </div> </div> </li> <li id="comment-23006767" class="comment js-comment " data-comment-id="23006767" data-comment-owner-id="13508" data-comment-score="21"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> <span title="number of 'useful comment' votes received" class="warm">21</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment23006767_13855455"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">`<xmp>` ignores HTML tags and entities; `<pre>` doesn't.</pre></xmp></span> –&nbsp;<a href="../../users/13508/alvaro-gonzalez" title="142,137 reputation" class="comment-user ">Álvaro González</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment23006767_13855455"><span title="2013-04-19T17:46:40.157 License: CC BY-SA 3.0" class="relativetime-clean">Apr 19 '13 at 17:46</span></a></span> </div> </div> </li> <li id="comment-27437723" class="comment js-comment " data-comment-id="27437723" data-comment-owner-id="425180" data-comment-score="1"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> <span title="number of 'useful comment' votes received" class="warm">1</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment27437723_13855455"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">How about `<textarea></textarea>` as a substitute?</span> –&nbsp;<a href="../../users/425180/james-love" title="1,025 reputation" class="comment-user ">James Love</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment27437723_13855455"><span title="2013-09-05T12:54:18.677 License: CC BY-SA 3.0" class="relativetime-clean">Sep 05 '13 at 12:54</span></a></span> </div> </div> </li> <li id="comment-40939919" class="comment js-comment " data-comment-id="40939919" data-comment-owner-id="1835470" data-comment-score="1"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> <span title="number of 'useful comment' votes received" class="warm">1</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment40939919_13855455"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">How about using server-side-script escaping ? :P ..........................................................................................`<pre><?php echo htmlspecialchars("<a href='test'>Test", ENT_QUOTES); ?&gt;</pre>`</span> –&nbsp;<a href="../../users/1835470/jave-web" title="13,880 reputation" class="comment-user ">jave.web</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment40939919_13855455"><span title="2014-09-30T13:22:01.003 License: CC BY-SA 3.0" class="relativetime-clean">Sep 30 '14 at 13:22</span></a></span> </div> </div> </li> <li id="comment-43214327" class="comment js-comment " data-comment-id="43214327" data-comment-owner-id="976827" data-comment-score="2"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> <span title="number of 'useful comment' votes received" class="warm">2</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment43214327_13855455"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">Try debugging an XML output in browser using xmp and then pre. xmp will show the correct output.</span> –&nbsp;<a href="../../users/976827/serban-ghita" title="1,899 reputation" class="comment-user ">Șerban Ghiță</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment43214327_13855455"><span title="2014-12-09T15:38:53.523 License: CC BY-SA 3.0" class="relativetime-clean">Dec 09 '14 at 15:38</span></a></span> </div> </div> </li> <li id="comment-121261238" class="comment js-comment " data-comment-id="121261238" data-comment-owner-id="1415603" data-comment-score="0"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment121261238_13855455"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">Its been years, I'd forgotten about this post... but, XMP still comes up in some specialized cases where we've needed to present script markup as text (such as a code example) and then run that same script as code. Yes, its possible to do this in other ways now, but each has pros and cons. I guess I'm just giving a shout-out to the inventors of XMP, and a mild tsk tsk to the folks that wanted to take it away. ;-)</span> –&nbsp;<a href="../../users/1415603/thomas" title="269 reputation" class="comment-user ">Thomas</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment121261238_13855455"><span title="2021-08-01T22:00:01.367 License: CC BY-SA 4.0" class="relativetime-clean">Aug 01 '21 at 22:00</span></a></span> </div> </div> </li> </ul> </div> </div> </div> </div> <a name="45902139"></a> <div id="answer-45902139" class="answer " data-answerid="45902139" data-ownerid="3788772" data-score="6" itemprop="suggestedAnswer" itemscope="" itemtype="https://schema.org/Answer"> <div class="post-layout"> <div class="votecell post-layout--left"> <div class="js-voting-container grid jc-center fd-column ai-stretch gs4 fc-black-200" data-post-id="45902139"> <button class="js-vote-up-btn grid--cell s-btn s-btn__unset c-pointer"><svg aria-hidden="true" class="m0 svg-icon iconArrowUpLg" width="36" height="36" viewBox="0 0 36 36"><path d="M2 26h32L18 10 2 26z"></path></svg></button> <div class="js-vote-count grid--cell fc-black-500 fs-title grid fd-column ai-center" itemprop="upvoteCount" data-value="6">6</div> </div> </div> <div class="postcell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"><p><code>&lt;xmp&gt;</code> is used with <a class="external-link" href="http://strapdownjs.com/" rel="noreferrer">strapdown.js</a> in formatting markdown notation. The name <em>strapdown</em> combining the terms <em>bootstrap</em> and <em>markdown</em>.</p> <pre><code>&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;title&gt;Example&lt;/title&gt; &lt;xmp theme="united"&gt; ## Example - note one - note two - note three &lt;/xmp&gt; &lt;script src="http://strapdownjs.com/v/0.2/strapdown.js"&gt;&lt;/script&gt; &lt;/html&gt; </code></pre></div> <div class="mb0"> <div class="mt16 grid gs8 gsy fw-wrap jc-end ai-start pt4 mb16"> <div class="grid--cell mr16 fl1 w96"></div> <div class="post-signature grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="answered Aug 27 '17 at 06:04">answered Aug 27 '17 at 06:04</time> <a href="../../users/3788772/noobninja" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/3788772.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="noobninja" /> </a> <div class="s-user-card--info"> <a href="../../users/3788772/noobninja" class="s-user-card--link">noobninja</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">900</li> <li class="s-award-bling s-award-bling__silver" title="12 silver badges">12</li> <li class="s-award-bling s-award-bling__bronze" title="14 bronze badges">14</li> </ul> </div> </div> </div> </div> </div> </div> <div class="post-layout--right js-post-comments-component"> </div> </div> </div> <a name="8981120"></a> <div id="answer-8981120" class="answer " data-answerid="8981120" data-ownerid="855567" data-score="4" itemprop="suggestedAnswer" itemscope="" itemtype="https://schema.org/Answer"> <div class="post-layout"> <div class="votecell post-layout--left"> <div class="js-voting-container grid jc-center fd-column ai-stretch gs4 fc-black-200" data-post-id="8981120"> <button class="js-vote-up-btn grid--cell s-btn s-btn__unset c-pointer"><svg aria-hidden="true" class="m0 svg-icon iconArrowUpLg" width="36" height="36" viewBox="0 0 36 36"><path d="M2 26h32L18 10 2 26z"></path></svg></button> <div class="js-vote-count grid--cell fc-black-500 fs-title grid fd-column ai-center" itemprop="upvoteCount" data-value="4">4</div> </div> </div> <div class="postcell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"><p>I still use the <code>xmp</code> tag for debugging <code>var_dump();</code> in PHP. I just can't remember to use the <code>pre</code> tag for some reason.</p> <p>I think it doesn't really matter because if you really want to output text, you should use <code>textarea</code> with the <code>readonly</code> attribute.</p></div> <div class="mb0"> <div class="mt16 grid gs8 gsy fw-wrap jc-end ai-start pt4 mb16"> <div class="grid--cell mr16 fl1 w96"></div> <div class="post-signature grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="edited May 01 '15 at 18:40">edited May 01 '15 at 18:40</time> <a href="../../users/1497596/davidrr" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/1497596.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="DavidRR" /> </a> <div class="s-user-card--info"> <a href="../../users/1497596/davidrr" class="s-user-card--link">DavidRR</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">18,291</li> <li class="s-award-bling s-award-bling__gold" title="25 gold badges">25</li> <li class="s-award-bling s-award-bling__silver" title="109 silver badges">109</li> <li class="s-award-bling s-award-bling__bronze" title="191 bronze badges">191</li> </ul> </div> </div> </div> <div class="post-signature grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="answered Jan 24 '12 at 01:44">answered Jan 24 '12 at 01:44</time> <a href="../../users/855567/adam-fowler" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/855567.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="Adam Fowler" /> </a> <div class="s-user-card--info"> <a href="../../users/855567/adam-fowler" class="s-user-card--link">Adam Fowler</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">1,750</li> <li class="s-award-bling s-award-bling__gold" title="1 gold badge">1</li> <li class="s-award-bling s-award-bling__silver" title="17 silver badge">17</li> <li class="s-award-bling s-award-bling__bronze" title="18 bronze badge">18</li> </ul> </div> </div> </div> </div> </div> </div> <div class="post-layout--right js-post-comments-component"> <div id="comments-8981120" class="comments js-comments-container bt bc-black-075 mt12 " data-post-id="8981120" data-min-length="15"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> <li id="comment-23006845" class="comment js-comment " data-comment-id="23006845" data-comment-owner-id="13508" data-comment-score="4"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> <span title="number of 'useful comment' votes received" class="warm">4</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment23006845_8981120"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">It's very handy for this purpose. Since `var_dump()` doesn't return anything you need output buffer functions to HTML-encode its output. `<xmp>` is a quick alternative to writing a wrapper function and works everywhere.</xmp></span> –&nbsp;<a href="../../users/13508/alvaro-gonzalez" title="142,137 reputation" class="comment-user ">Álvaro González</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment23006845_8981120"><span title="2013-04-19T17:49:15.907 License: CC BY-SA 3.0" class="relativetime-clean">Apr 19 '13 at 17:49</span></a></span> </div> </div> </li> <li id="comment-115210822" class="comment js-comment " data-comment-id="115210822" data-comment-owner-id="5223757" data-comment-score="1"> <div class="js-comment-actions comment-actions"> <div class="comment-score js-comment-edit-hide"> <span title="number of 'useful comment' votes received" class="warm">1</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <a name="comment115210822_8981120"></a> <div class="comment-body js-comment-edit-hide"> <span class="comment-copy">Note that if there's any user input in the `var_dump()`, this method leaves you vulnerable to XSS attacks.</span> –&nbsp;<a href="../../users/5223757/wizzwizz4" title="6,140 reputation" class="comment-user ">wizzwizz4</a> <span class="comment-date" dir="ltr"><a class="comment-link" href="../../questions/4545/what-was-the-xmp-tag-used-for#comment115210822_8981120"><span title="2020-12-06T13:05:55.003 License: CC BY-SA 4.0" class="relativetime-clean">Dec 06 '20 at 13:05</span></a></span> </div> </div> </li> </ul> </div> </div> </div> </div> <a name="37593882"></a> <div id="answer-37593882" class="answer " data-answerid="37593882" data-ownerid="6415119" data-score="2" itemprop="suggestedAnswer" itemscope="" itemtype="https://schema.org/Answer"> <div class="post-layout"> <div class="votecell post-layout--left"> <div class="js-voting-container grid jc-center fd-column ai-stretch gs4 fc-black-200" data-post-id="37593882"> <button class="js-vote-up-btn grid--cell s-btn s-btn__unset c-pointer"><svg aria-hidden="true" class="m0 svg-icon iconArrowUpLg" width="36" height="36" viewBox="0 0 36 36"><path d="M2 26h32L18 10 2 26z"></path></svg></button> <div class="js-vote-count grid--cell fc-black-500 fs-title grid fd-column ai-center" itemprop="upvoteCount" data-value="2">2</div> </div> </div> <div class="postcell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"><p>I used <code>&lt;textarea&gt;</code>, which puts the html code into a neat box and clearly defines the code as different from the text before or after.</p> <p><code>&lt;textarea&gt;&lt;b&gt;boldtext&lt;/b&gt;&lt;textarea&gt;</code></p></div> <div class="mb0"> <div class="mt16 grid gs8 gsy fw-wrap jc-end ai-start pt4 mb16"> <div class="grid--cell mr16 fl1 w96"></div> <div class="post-signature grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="edited Jun 02 '16 at 14:08">edited Jun 02 '16 at 14:08</time> <a href="../../users/754456/mfitzp" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/754456.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="mfitzp" /> </a> <div class="s-user-card--info"> <a href="../../users/754456/mfitzp" class="s-user-card--link">mfitzp</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">15,275</li> <li class="s-award-bling s-award-bling__gold" title="7 gold badges">7</li> <li class="s-award-bling s-award-bling__silver" title="50 silver badges">50</li> <li class="s-award-bling s-award-bling__bronze" title="70 bronze badges">70</li> </ul> </div> </div> </div> <div class="post-signature grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="answered Jun 02 '16 at 13:52">answered Jun 02 '16 at 13:52</time> <a href="../../users/6415119/phil-busby" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/6415119.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="Phil Busby" /> </a> <div class="s-user-card--info"> <a href="../../users/6415119/phil-busby" class="s-user-card--link">Phil Busby</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">33</li> <li class="s-award-bling s-award-bling__bronze" title="5 bronze badges">5</li> </ul> </div> </div> </div> </div> </div> </div> <div class="post-layout--right js-post-comments-component"> </div> </div> </div> <a name="8313402"></a> <div id="answer-8313402" class="answer " data-answerid="8313402" data-ownerid="42585" data-score="2" itemprop="suggestedAnswer" itemscope="" itemtype="https://schema.org/Answer"> <div class="post-layout"> <div class="votecell post-layout--left"> <div class="js-voting-container grid jc-center fd-column ai-stretch gs4 fc-black-200" data-post-id="8313402"> <button class="js-vote-up-btn grid--cell s-btn s-btn__unset c-pointer"><svg aria-hidden="true" class="m0 svg-icon iconArrowUpLg" width="36" height="36" viewBox="0 0 36 36"><path d="M2 26h32L18 10 2 26z"></path></svg></button> <div class="js-vote-count grid--cell fc-black-500 fs-title grid fd-column ai-center" itemprop="upvoteCount" data-value="2">2</div> </div> </div> <div class="postcell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"><p>See <a class="external-link" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=12235" rel="nofollow">http://www.w3.org/Bugs/Public/show_bug.cgi?id=12235</a></p> <p>For HTML5. it was, according to the HTML5 editor (comments 11 and 12), a very close call either way.</p></div> <div class="mb0"> <div class="mt16 grid gs8 gsy fw-wrap jc-end ai-start pt4 mb16"> <div class="grid--cell mr16 fl1 w96"></div> <div class="post-signature grid--cell"> <div class="user-info "> <div class="user-action-time">edited <span title="2011-11-29T15:36:49.450" class="relativetime">Nov 29 '11 at 15:36</span></div> <div class="user-gravatar32"></div> <div class="user-details" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span class="d-none" itemprop="name">Alohci</span> <div class="-flair"></div> </div> </div> </div> <div class="post-signature grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="answered Nov 29 '11 at 15:30">answered Nov 29 '11 at 15:30</time> <a href="../../users/42585/alohci" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/42585.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="Alohci" /> </a> <div class="s-user-card--info"> <a href="../../users/42585/alohci" class="s-user-card--link">Alohci</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">78,296</li> <li class="s-award-bling s-award-bling__gold" title="16 gold badges">16</li> <li class="s-award-bling s-award-bling__silver" title="112 silver badges">112</li> <li class="s-award-bling s-award-bling__bronze" title="156 bronze badges">156</li> </ul> </div> </div> </div> </div> </div> </div> <div class="post-layout--right js-post-comments-component"> </div> </div> </div> <a name="5252111"></a> <div id="answer-5252111" class="answer " data-answerid="5252111" data-ownerid="295783" data-score="1" itemprop="suggestedAnswer" itemscope="" itemtype="https://schema.org/Answer"> <div class="post-layout"> <div class="votecell post-layout--left"> <div class="js-voting-container grid jc-center fd-column ai-stretch gs4 fc-black-200" data-post-id="5252111"> <button class="js-vote-up-btn grid--cell s-btn s-btn__unset c-pointer"><svg aria-hidden="true" class="m0 svg-icon iconArrowUpLg" width="36" height="36" viewBox="0 0 36 36"><path d="M2 26h32L18 10 2 26z"></path></svg></button> <div class="js-vote-count grid--cell fc-black-500 fs-title grid fd-column ai-center" itemprop="upvoteCount" data-value="1">1</div> </div> </div> <div class="postcell post-layout--right"> <div class="s-prose js-post-body" itemprop="text"><p>Still works to show raw html - if you use it in script, break the start tag.</p> <p></p><div class="snippet" data-babel="false" data-console="true" data-hide="false" data-lang="js"> <div class="snippet-code"> <pre class="snippet-code-js lang-js prettyprint-override"><code>var stuff='&lt;xmp'+'&gt;this is shown as is&lt;br/&gt;hello&lt;/xmp&gt;'; document.getElementById("x").innerHTML=stuff;</code></pre> <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div id="x"&gt;&lt;/div&gt;</code></pre> </div> </div> </div> <div class="mb0"> <div class="mt16 grid gs8 gsy fw-wrap jc-end ai-start pt4 mb16"> <div class="grid--cell mr16 fl1 w96"></div> <div class="post-signature grid--cell"> <div class="user-info "> <div class="user-action-time">edited <span title="2016-07-01T14:51:29.740" class="relativetime">Jul 01 '16 at 14:51</span></div> <div class="user-gravatar32"></div> <div class="user-details" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span class="d-none" itemprop="name">mplungjan</span> <div class="-flair"></div> </div> </div> </div> <div class="post-signature grid--cell"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="answered Mar 09 '11 at 21:01">answered Mar 09 '11 at 21:01</time> <a href="../../users/295783/mplungjan" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/295783.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="mplungjan" /> </a> <div class="s-user-card--info"> <a href="../../users/295783/mplungjan" class="s-user-card--link">mplungjan</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">169,008</li> <li class="s-award-bling s-award-bling__gold" title="28 gold badges">28</li> <li class="s-award-bling s-award-bling__silver" title="173 silver badges">173</li> <li class="s-award-bling s-award-bling__bronze" title="236 bronze badges">236</li> </ul> </div> </div> </div> </div> </div> </div> <div class="post-layout--right js-post-comments-component"> </div> </div> </div> </div> </div> <div id="sidebar" class="show-votes" role="complementary" aria-label="sidebar"> <div class="module sidebar-linked"> <h4 id="h-linked">Linked</h4> <div class="linked"> <div class="spacer"> <a title="Vote score (upvotes - downvotes)"><div class="answer-votes default">1</div></a> <a href="../../questions/34214612/prevent-html-code-from-being-executed" class="question-hyperlink">prevent html code from being executed</a> </div> </div> <div class="linked"> <div class="spacer"> <a title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">65</div></a> <a href="../../questions/638648/getting-linebreaks-in-pre-tags" class="question-hyperlink">getting linebreaks in &lt;pre&gt; tags</a> </div> </div> <div class="linked"> <div class="spacer"> <a title="Vote score (upvotes - downvotes)"><div class="answer-votes default">13</div></a> <a href="../../questions/8307846/why-was-the-xmp-html-tag-deprecated" class="question-hyperlink">Why was the xmp HTML tag deprecated?</a> </div> </div> <div class="linked"> <div class="spacer"> <a title="Vote score (upvotes - downvotes)"><div class="answer-votes default">2</div></a> <a href="../../questions/1872578/how-to-display-code-in-plain-text" class="question-hyperlink">How to display code in plain text?</a> </div> </div> <div class="linked"> <div class="spacer"> <a title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">2</div></a> <a href="../../questions/15156549/show-source-code-without-xmp-tag" class="question-hyperlink">Show source code without XMP tag</a> </div> </div> <div class="linked"> <div class="spacer"> <a title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">70</div></a> <a href="../../questions/16783708/how-to-display-raw-html-code-in-pre-or-something-like-it-but-without-escaping-" class="question-hyperlink">How to display raw HTML code in PRE or something like it but without escaping it</a> </div> </div> <div class="linked"> <div class="spacer"> <a title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">2</div></a> <a href="../../questions/18131084/html-code-tags-no-execute" class="question-hyperlink">HTML Code tags no execute</a> </div> </div> <div class="linked"> <div class="spacer"> <a title="Vote score (upvotes - downvotes)"><div class="answer-votes answered-accepted default">1</div></a> <a href="../../questions/21968290/print-html-tags-in-php-output" class="question-hyperlink">Print HTML tags in PHP output</a> </div> </div> <div class="linked"> <div class="spacer"> <a title="Vote score (upvotes - downvotes)"><div class="answer-votes default">1</div></a> <a href="../../questions/27033938/prevent-sql-injection-but-show-posted-data-as-it-is-on-the-page" class="question-hyperlink">Prevent Sql Injection but show posted data as it is on the page</a> </div> </div> </div> <div class="module sidebar-linked"> <h4 id="h-linked">Related</h4> <div class="linked"> <div class="spacer"> <a title="Vote score (upvotes - downvotes)"><div class="answer-votes default">13</div></a> <a href="../../questions/8307846/why-was-the-xmp-html-tag-deprecated" class="question-hyperlink">Why was the xmp HTML tag deprecated?</a> </div> </div> </div> </div> </div> </div> <script src="../../static/js/stack-icons.js"></script> <script src="../../static/js/fromnow.js"></script> </body> </html>