XHTML
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.
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 | )
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) |
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]
Histórico
editarNa é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.
Exemplos
editarUm 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;
}
}
Versões
editarXHTML 1.0
editarA 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>
XHTML 1.1
editarA 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)
editarEm 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- 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
editarUm 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
editarSuporte
editarO 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]
Ver também
editar- ↑ «Normas XHTML 1.0 do W3C». Maujor. Consultado em 19 de fevereiro de 2020
- ↑ a b «Introdução a Linguagens de Marcação: HTML, XHTML, SGML, XML.». IC UNICAMP. Consultado em 19 de fevereiro de 2020
- ↑ «The W3C Markup Validation Service». validator.w3.org. Consultado em 5 de maio de 2011
- ↑ a b c «XHTML». MDN Web Docs. Consultado em 19 de fevereiro de 2020
- ↑ XHTML Modularization
- ↑ XHTML Host Language Conforming Document
- ↑ «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
- ↑ «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
- ↑ HTML5 como um Working Draft
Ligações externas
editar- «The XML syntax» (em inglês). Especificação do HTML
- «Estruturando a web com HTML». Guia na MDN Web Docs