As tags de extensão aninhadas estão OK em XHTML?

150

Isso será validado em XHTML?

<span>hello<span>world</span></span>
Rick
fonte
Eu me pergunto como essa pergunta conseguiu coletar centenas de votos ao longo dos anos.
Sr. Lister
1
@MrLister Acho que é porque eu tenho apenas pesquisei a questão e este artigo mostrou-se ... :)
Andrew Truckle

Respostas:

142

Sim vai. Você pode se ajudar usando a opção de entrada direta do validador do w3 :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
        <head>
          <title>Title</title>
        </head>

        <body>
           <p>
               <span>Test<span>Nest span</span></span>
           </p>
        </body>
      </html>
RichardOD
fonte
2
Isso responderá à parte "validar" da pergunta, mas não à parte "OK". O DTD pode descrever apenas um subconjunto da especificação.
Quentin
87

Absolutamente.

Aqui está a definição de um DOCTYPE restrito a XHTML para um elemento de abrangência.

<!ELEMENT span %Inline;> <!-- generic language/style container -->
<!ATTLIST span
  %attrs;
  >

A parte "% Inline" informa que pode ter nós filhos do "% Inline;" lista de elementos de entidades.

O elemento span está incluído na lista de elementos classificados como "% Inline", que combinado com o span permitindo elementos filho "% Inline", informa que span é um filho válido de span.

joebert
fonte
29

O SPAN pode conter apenas elementos embutidos, como SPAN etc.

dusoft
fonte
6
Span fará o que eu mandar! span { display:block }: D
greaterKing
Bem, ele ainda não pode conter elementos no nível do bloco, mesmo se você o definir como um bloco. BTW, verifique também se minha resposta foi postada 8 anos atrás.
dusoft 29/05
Eu sei que estava apenas tentando criar lol ... e sim, você "pode" colocar elementos de bloco dentro de vãos, não é como se o navegador explodisse ou algo assim ... mas é alguns que você não deve fazer como regra geral para seguir corretamente padrões da web é tudo.
greaterKing
Esse é o ponto. Graças aos padrões da web, você não precisa mais invadir a web. Brincadeiras à parte, sou grato por tê-las.
dusoft 2/06
1
Sim, colocar H fora do intervalo e período de dentro H.
dusoft