Markup spec/BNF/Noparse-block

Several similar tags are grouped here.

Nowiki
The &lt;nowiki&gt; tag prevents special markup (like  ''  for italics) from being recognized.

             ::=     [ | (?=EOF) ]      ::= "&lt;nowiki" ( ) "&gt;"      ::= "&lt;/nowiki"  "&gt;"             ::=

In words, if a &lt;nowiki&gt; tag is not closed, then it is taken to run until the end. (?=EOF) is a look-ahead assertion, like in PCRE. It asserts that an EOF follows, but does not consume the EOF.

Translating to HTML
To translate a nowiki tag to HTML, perform the following transformations: , and each paragraph being trimed. --HappyDog 15:11, 18 June 2006 (UTC)
 *  is replaced with &lt;p&gt;
 *  is replaced with &lt;/p&gt;
 *  terminals within  are replaced with the appropriate  (see Fundamental elements).
 * The elements in the top-level <nowiki-tag> are discarded.
 * Actually, this is not true. The <nowiki-body> is treated as paragraphs of text, as in the main tag, with blank lines being replaced with

Pre
The &lt;pre&gt; tag behaves much like nowiki, but generates a literal &lt;pre> tag, which causes different output. Notably, a nowiki is treated literally inside a pre tag, and vice versa.

<pre-block>              ::= <pre-opening-tag>  <pre-body>  [<pre-closing-tag> | (?=EOF) ] <pre-opening-tag>        ::= "&lt;pre" ( ) "&gt;" <pre-closing-tag>        ::= "&lt;/pre"  "&gt;" <pre-body>               ::=

Translating to HTML

 * <html-unsafe-symbol> terminals are replaced.
 * New lines are retained literally.
 * The whole block is wrapped in