Saltar para o conteúdo

XHTML

Origem: Wikipédia, a enciclopédia livre.
XHTML
Extensão do arquivo .xhtml,.xht,.html,.htm
MIME application/xhtml+xml
Desenvolvido por World Wide Web Consortium
Lançamento 26 de janeiro de 2000 (24 anos)
Última versão 1.1 (23 de novembro de 2010; há 13 anos)
Tipo de formato Linguagem de marcação
Variante de HTML, XML
Padronização 1.0 (Recomendação),
1.1 (Recomendação),
1.1 SE (Working Draft),
5 (Working Draft),
2.0 (Working Draft)

eXtensible Hypertext Markup Language (abreviado XHTML) é uma reformulação da linguagem de marcação HTML, combinada com as regras da linguagem de marcação XML (tags), uma recomendação do W3C de janeiro de 2000,[1] sucessora do HTML 4.01, objetivando a melhoria da exibição das páginas Web em diversos dispositivos (televisão, palm, celular, etc), além da melhoraria da acessibilidade do conteúdo.

O HTML é derivado da linguagem de marcação SGML (Standard Generalized Markup Language) criado por Tim Berners Lee (idealizador da WWW) para a exibição de documentos na Web. A evolução cronológica das linguagens é a seguinte:[2]

SGML → HTML 1.0 → HTML xx → XML → HTML 4.01 → XHTML (padrões internacionais da W3C, independentes de fabricantes de hardware ou software, sancionados pelas organizações ANSI e ISO).[2]

A principal diferença entre XHTML e HTML, é que o primeiro é XML válido, enquanto o segundo possui uma sintaxe própria, mas ambos possuem sentido semântico. Para verificar se uma página foi construída corretamente no padrão XHTML, existem diversos validadores, como por exemplo: a W3C disponibiliza um validador online.[3]

O tipo de sintaxe de uma página Web (tipo MIME) é definida no cabeçalho HTTP com o códigoContent-Type: aplication/xhtml+xml, seguido por <html lang="pt-BR" xml:lang="pt-BR" xmlns="http://www.w3.org/1999/xhtml">.[4]

Na época do lançamento da tecnologia, considerava-se o XHTML como sendo o sucessor do HTML. Porém, está é uma recomendação separada; a W3C continua a recomendar o uso de XHTML 1.1, XHTML 1.0, e HTML 4.01, para publicação na web, assim como o HTML5.

Um exemplo simples de XHTML (observando dentro das tags <html></html>) seria:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html lang="pt-BR" xml:lang="pt-BR" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Título do Documento</title>
  </head>
  <body>
    <form action="." method="POST">
      <fieldset>
        <legend>Dados para cadastro</legend>

        <label for="name-input">Nome:</label>
        <input type="text" name="name" id="name-input" />

        <label for="birth-input">Data de nascimento:</label>
        <input type="date" name="birth" id="birth-input" />

        <button>Enviar</button>
      </fieldset>
    </form>
  </body>
</html>

O código CSS que formataria este código XHTML seria:

html {
  color-scheme: light dark;
}

form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
}

fieldset {
  display: flex;
  flex-direction: column;

  input:not(last-child) {
    margin-bottom: 12px;
  }
}

A Recomendação XHTML original da W3C, XHTML 1.0, foi simplesmente uma reformulação do HTML 4.01 em XML. Existem três diferentes "DTDs" de XHTML 1.0, cada qual com equivalência a uma versão em HTML 4.01.

  • XHTML 1.0 Strict é o mesmo que HTML 4.01 Strict, mas seguindo regras de sintaxe XML.

Declaração da XHTML 1.0 Strict:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html lang="pt-BR" xml:lang="pt-BR" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Título do Documento</title>
  </head>
  <body>
  </body>
</html>
  • XHTML 1.0 Transitional é o mesmo que HTML 4.01 Transitional, mas segue as regras de sintaxe XML. Ele suporta tudo encontrado no XHTML 1.0 Strict, mas também permite o uso de vários elementos e atributos que são julgados presencionais, para facilitar a transição de HTML 3.2 e mais recentes. Isso inclui<center>,<u>,<strike>, e<applet>.

Declaração da XHTML 1.0 Transitional:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html lang="pt-BR" xml:lang="pt-BR" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Título do Documento</title>
  </head>
  <body>
  </body>
</html>
  • XHTML 1.0 Frameset: é o mesmo que HTML 4.01 Frameset, mas seguindo as regras de sintaxe XML. Ele permite a definição de um frameset HTML, uma prática comum em versões de HTML anteriores ao HTML 4.01.

Declaração da XHTML 1.0 Frameset:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

<html lang="pt-BR" xml:lang="pt-BR" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Título do Documento</title>
  </head>
  <frameset>
  </frameset>
</html>

A mais recente Recomendação XHTML da W3C é o XHTML 1.1: Module-based XHTML, que é uma reformulação do XHTML 1.0 Strict, com pequenas modificações, usando alguns módulos de um conjunto definido em Modularização de XHTML,[5] uma Recomendação W3C que cria uma modularização de frames, um padrão de módulos, e várias outras definições. Todas as ferramentas depreciadas de HTML, como elementos presencionais e framesets, e até mesmo os atributoslang e o atributo de âncorasname, que ainda eram permitidos no XHTML 1.0 Strict, foram removidos desta versão. A apresentação é controlada puramente pelas Folhas de Estilo em Cascata (CSS). Esta versão também permite suporte à marcação rubi, necessária para línguas do Extremo Oriente (especialmente CJK).

Além da Modularização de XHTML permitir pequenas ferramentas XHTML serem reutilizadas por outras aplicações XML de uma maneira bem definida, e que o XHTML seja estendido para alguns propósitos, XHTML 1.1 adiciona o conceito de um documento "estritamente conformado": esses documentos definidos nos módulos requeridos para XHTML 1.1. Por exemplo, se um documento é estendido para usar o módulo XHTML Frames (frameset), ele também pode ser descrito como XHTML 1.1, mas não estritamente conforme o XHTML 1.1. Ao invés disso, ele deve ser descrito como um XHTML Host Language Conforming Document,[6] se a ferramenta for relevante e necessária.

Em 2007, uma segunda edição do XHTML 1.1 está em desenvolvimento pela W3C Working Draft.

HTML5 (esboço)

[editar | editar código-fonte]

Em 10 de abril de 2007, a Fundação Mozilla, Apple Inc. e Opera Software propuseram[7] que o novo grupo de trabalho HTML da W3C adotasse o HTML5 do WHATWG como ponto de início de seu trabalho e, nomeá-lo como "HTML5". Em 9 de Maio de 2007, o grupo de trabalho HTML aceitou a proposta.[8] Em 22 de janeiro de 2008, o grupo publicou HTML5 como um Working Draft.[9]

O HTML5 traça uma serialização paralela do XML, chamada XHTML5. Diferente do XHTML 2.0, este é compatível com XHTML 1.x.

Outros membros da família XHTML

[editar | editar código-fonte]
  • XHTML Basic: Uma versão especial "light" do XHTML para serviços que não podem suportar os grandes e complicados dialetos XHTML, principalmente celulares. Este deverá ser o substituto da WML e C-HTML.
  • XHTML Mobile Profile: Baseado em XHTML Basic, essa OMA tem como alvo celulares, devido ao fato de conter algumas ferramentas exclusivas para celulares do XHTML Basic.
  • XHTML+Voice: XHTML combinado com VoiceXML para suportar ambas visuais e sonoras interações.

Documentos XHTML válidos

[editar | editar código-fonte]

Um documento XHTML que está em conformidade com uma especificação XHTML, é dito válido. Validade garante consistência no código, que por sua vez facilita o processamento, mas não necessariamente garante renderização consistente nos navegadores. !--*/

p { color: green; }
/*]]>*/-- >

</style>   <script type="text/javascript">-->

Editores de HTML que suportam XHTML

[editar | editar código-fonte]

O XHTML é suportado na maioria dos navegadores modernos, como por exemplo: Firefox, Chrome, Safari, Opera, Internet Explorer suporta a partir da versão 9.[4]

Diversas bibliotecas de JavaScript não suportam XHTML, ou tem suporte limitado.[4]

Referências

  1. «Normas XHTML 1.0 do W3C». Maujor. Consultado em 19 de fevereiro de 2020 
  2. a b «Introdução a Linguagens de Marcação: HTML, XHTML, SGML, XML.». IC UNICAMP. Consultado em 19 de fevereiro de 2020 
  3. «The W3C Markup Validation Service». validator.w3.org. Consultado em 5 de maio de 2011 
  4. a b c «XHTML». MDN Web Docs. Consultado em 19 de fevereiro de 2020 
  5. XHTML Modularization
  6. XHTML Host Language Conforming Document
  7. «Proposal to Adopt HTML5 from Maciej Stachowiak on 2007-04-10 (public-html@w3.org from April 2007)». lists.w3.org. Consultado em 5 de maio de 2011 
  8. «results of HTML 5 text, editor, name questions from Dan Connolly on 2007-05-09 (public-html@w3.org from May 2007)». lists.w3.org. Consultado em 5 de maio de 2011 
  9. HTML5 como um Working Draft

Ligações externas

[editar | editar código-fonte]
Wikilivros
Wikilivros
O Wikilivros tem um livro chamado Curso de XHTML