[wp-hackers] p inside blockquote
elharo at metalab.unc.edu
Fri Mar 2 14:44:06 GMT 2007
Scot Hacker wrote:
> Why? div, blockquote, and p are block-level equals. No XHTML rule says
> that content inside a div or a blockquote must be in a p container. But
> WP apparently thinks it must be so.
Actually that's partially wrong, at least in XHTML strict. A blockquote
must contain block-level elements such as div or p. It cannot validly
contain raw text. I.e. this is invalid:
However this is valid:
as is this:
The relevant declarations are
<!ELEMENT blockquote %Block;>
<!ENTITY % block
"p | %heading; | div | %lists; | %blocktext; | fieldset | table">
<!ENTITY % Block "(%block; | form | %misc;)*">
Raw unparented PCDATA isn't allowed in a blockquote.
However in XHTML transitional this changes. Here the content model for
blockquote is different:
<!ELEMENT blockquote %Flow;>
Thus raw unparented PCDATA is allowed in a blockquote, so it depends on
which DTD you're using.
Interestingly in HTML 4.0.1 the raw data is not allowed:
<!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- long quotation -->
So this is a rare case in which XHTML Transitional is less strict than
classic HTML, not more.
Elliotte Rusty Harold elharo at metalab.unc.edu
Java I/O 2nd Edition Just Published!
More information about the wp-hackers