Lendo os DTDs XHTML Um Guia para XML DeclaraçõesLendo os DTDs XHTML: Guia para XML Declarações Apesar de o W3C há muito tempo tem definições do tipo de documento (DTDs) para HTML, alguns desenvolvedores realmente usar os DTDs como uma fundação para aprender HTML. XHTML 1.0 simplifica as DTDs com a sintaxe XML ligeiramente Unidos - que anteriormente utilizados SGML sintaxe mais complexa - e da maior ênfase na validação pode levar os desenvolvedores a explorá-los mais de perto. Fazendo bom uso do XHTML 1.1 requer algum nível de compreensão de DTDs, assim começando agora é uma boa idéia. Felizmente, XHTML não usar todas as ferramentas XML fornece; descobrir XHTML é mais fácil do que aprender tudo sobre XML. NotaO W3C está se movendo lentamente em direção ao seu novo padrão de esquemas XML para descrever estruturas de documentos. Você quer aprender esquemas XML quando estão prontos, mas o DTDs descritos nesta estrutura de fornecer uma base sólida para figurar para fora. Você pode trabalhar com XHTML 1.0, sem qualquer compreensão do DTD, porque as regras de uso do elemento e atributo são as mesmas para o HTML 4.0. No entanto, se você planeja usar parsers validação com XHTML 1.0, você deve saber sobre DTDs para descobrir algumas das mensagens de erro que você pode encontrar. Além disso, DTDs entendimento pode ajudá-lo consideravelmente com XHTML 1.1 e sua abordagem modular. NotaPorque você não precisa necessariamente entender a sintaxe DTD usar XHTML, você está livre para socorrer deste artigo, se preferir, e voltar a ele, se e quando você precisar dele. O W3C escreveu os DTDs XHTML para seu próprio conveniência, tornando-os mais fáceis de gerenciar (e em um nível abstrato, mais legível) - mas à custa de requerer alguma referência cruzada para descobrir exatamente o que está incluído em um determinado elemento ou atributo. Como resultado, os DTDs XHTML não são leitura recomendada para desenvolvedores sem um XML ou SGML fundo. As seções seguintes introduzem os diferentes tipos de declarações utilizadas no DTDs XHTML em suas formas mais simples, até às mais complexas as regras usadas para montar o XHTML 1.0 DTDs.
Dica Se você quiser um guia para criar e ler DTDs XML em toda a sua glória, tente XML: APrimer, 2nd Edition por Simon St. Laurent (IDG artigos, 1999). Para detalhes mais técnicos sobre XML, consulte XML Elements of Style (McGraw-Hill, 1999), também por Simon St.Laurent. Element Type DeclarationsCada documento tem validade de um ou mais tipo de declarações de elementos, que descrevem os nomes dos elementos usados dentro de um documento e conteúdo que aparece dentro de um determinado elemento. Se um nome de elemento aparece em um documento e não há nenhum tipo de declaração correspondente elemento, validando parsers relatório um erro. (Alguns analisadores também parar o processamento, embora isso não é necessário.) Do mesmo modo, se um elemento aparece em um contexto onde não é suposto que apareça, validando erros parsers relatório. A sintaxe de declarações de tipo de elemento é simples: ContentModel elementName> Os nomes dos elementos devem começar com letras, sublinhados, ou dois pontos, e podem conter letras, underscores, dois pontos, dígitos, hífens e pontos. Os nomes dos elementos que começam com xml (ou qualquer variação nesse caso, como o XML ou XML) são reservadas para o uso do W3C. O uso da vírgula é desencorajado exceto para uso com espaços, que o artigo 4 descreve. modelos de conteúdo podem ser muito mais complicadas, permitindo aos designers especificar combinações intrincadas de elementos e texto. Há quatro tipos básicos de modelos de conteúdo disponível: vazia, qualquer, modelos de conteúdo estruturado e modelos de conteúdo misturado. NotaTipo de declarações Element não fornecer todo o fundo sobre o que o elemento é a favor, que contextos que podem ser utilizados, ou que a sua aparição em um determinado contexto pode significar. Você tem que fornecer as informações separadamente, normalmente na documentação. Declarações de tipo único elemento descrever um pequeno, mas importante, conjunto de propriedades de elementos: nome e os conteúdos permitidos. O modelo de conteúdo vazioO VAZIO modelo de conteúdo é o modelo mais simples disponível. VAZIO elementos podem utilizar tags elemento vazio ou um conjunto de início e fim, sem conteúdo algum (nem mesmo em branco) entre eles. No entanto, podem (e geralmente o fazem) armazenar as informações de atributos, que são declaradas separadamente. Elementos IMG e br são exemplos de elementos com EMPTY modelos de conteúdo, e suas declarações são muito semelhantes:
O modelo de conteúdo ANYO QUALQUER modelo de conteúdo é quase tão simples como o modelo vazio. Elementos declarado como qualquer pode conter qualquer combinação de texto e (declarada) elementos. O modelo de conteúdo ANY nunca é usado no XHTML 1.0, mas às vezes aparece em documentos XML que contenham conteúdo XHTML (talvez seguida de um comentário): Desenvolvedores XML frown sobre a utilização generalizada de QUALQUER, vendo-a como a introdução de deficiências graves, mas você pode usá-la adequadamente em seu próprio DTDs no início de um projeto ou para preservar espaços para futuras ampliações. Usando esta chave de descodificação, você pode traduzir a modelo de conteúdo da declaração do tipo de elemento tabela e suas peças em Inglês. O exterior parênteses apenas coloque o modelo de conteúdo inteiro - a exigência de declarações modelo estruturado de conteúdo. O primeiro item entre parênteses, a legenda?, Indica que um elemento da legenda pode aparecer uma vez como o primeiro elemento dentro do elemento (tabela, mas é opcional) . A vírgula seguinte legenda? Indica que os outros itens a seguir deve aparecer em seqüência. O bloco seguinte oferece algumas opções: (COL * | colgroup *) Este agrupamento significa que ou elementos col ou colgroup pode aparecer após a legenda e antes do thead (se aparecer), mas que os elementos COL e colgroup não podem ser misturados dentro de um elemento da tabela dada. Este pedaço de marcação diz que cada zero ou mais elementos COL ou zero ou mais elementos colgroup pode aparecer neste momento. Se os desenvolvedores do padrão XHTML queria permitir que elementos COL e colgroup para ser misturado, eles poderiam ter escrito: (col | colgroup) * Isto diz que zero ou mais instâncias dos elementos col ou colgroup podem aparecer, sem que proíbe tanto de aparecer em uma única seqüência. Uma vírgula segue o col (* | * colgroup agrupamento), seguido pelo thead?. Como legenda?, Isso permite que o elemento thead a aparecer zero ou uma vez. A vírgula a seguir, em seguida, permite tfoot? para indicar o possível surgimento de um elemento tfoot zero ou uma vez. A última parte do modelo de conteúdo é semelhante ao col (* | * colgroup agrupamento), mas com uma ligeira alteração: (tbody + | TR +) Novamente, os elementos ou qualquer tbody tr podem aparecer neste local dentro do modelo de conteúdo. Entretanto, pelo menos uma instância de um desses elementos é necessária para um documento válido. Este é o conteúdo exigido somente dentro de um elemento da tabela. No caso de o elemento da tabela pode aparecer sem que contenham pelo menos um ou um elemento tbody tr. Mixed modelos de conteúdoA maioria dos elementos HTML contêm mista modelos de conteúdo, Que permitem que os autores de documentos para misturar texto e elementos juntos para criar páginas na web. Mixed modelos de conteúdo em XML vêm em duas variedades. A variedade mais simples permite criar elementos que podem conter apenas texto: O elemento título, por exemplo, pode conter apenas texto: PCDATA significa analisados dados de caráter, O único dos tipos textuais SGML é que o XML suporta. Você pode escrever a mesma declaração como esta: O asterisco é opcional, quando um texto único elemento é declarado, mas o asterisco faz com que seja mais compatível com outros modelos de conteúdo misturado. Misto modelos de conteúdo que descrevem a mistura de texto e elementos são mais complicadas. Eles se parecem com modelos estruturados de conteúdo, utilizando o | * e indicadores, mas você está muito limitado em como você pode usá-los. A sintaxe geral de uma declaração do tipo de elemento com conteúdo misto deste tipo parecido com este: elementName (# PCDATA | child1 | child2 | ...) *> Mixed modelos de conteúdo só permitem que você lista um conjunto de elementos que podem aparecer misturados com texto, mas você não pode especificar sua seqüência ou o número de vezes que podem aparecer. Por exemplo, se um elemento de parágrafo muito simples só contém texto misto, com elementos em negrito e itálico, as declarações pôde olhar como este: Com base nessas declarações, todos os pontos mostrados aqui são legais:
Declarações mistos são utilizados em todo o DTD XHTML 1,0, para compreender o seu uso lá, você precisa saber sobre entidades de parâmetro (que abrangem mais adiante neste artigo). Lista de declarações de atributoLista de declarações de atributo permitem que você especifique os atributos que você pode usar em tipos de elemento em particular. Cada elemento em XHTML tem pelo menos um conjunto de atributos tão atributo declarações lista (por vezes abreviado declarações ATTLIST) são uma parte importante do XHTML 1.0 DTDs. Você tem mais opções para as declarações de atributo lista do tipo de declarações de elementos em XML, mas felizmente a especificação XHTML 1.0 permanece longe dos tipos mais complicados de atributos. A sintaxe básica para uma declaração de lista de atributos é assim: elementName padrão attType attName padrão attType attName ... > Múltiplas declarações lista atributo pode aparecer para um tipo de elemento único, embora a primeira definição de um atributo específico de um determinado elemento é a que começa usado nas definições repetidas. Qualquer número de atributos podem ser definidos para um determinado elemento em uma declaração dada lista de atributos, mesmo que nenhum: Os nomes de atributos estão sujeitos às mesmas regras que os nomes dos elementos: eles devem começar com letras, sublinhados, ou dois pontos, e pode conter letras, underscores, dois pontos, dígitos, hífens e pontos. Atributo nomes que começam com xml (ou qualquer variação de caso sobre que, como o XML ou XML) são reservadas para o uso do W3C. Além disso, o uso da vírgula é desencorajado exceto para uso com namespaces. O tipo mais simples de atributo é do tipo CDATA, uma abreviatura para Dados de caracteres. O mais simples é a palavra chave default # IMPLIED, que não fornece qualquer valor padrão para o atributo. Uma declaração de atributo muito simples pode ter este aspecto: As seguintes seções discutem os tipos de atributos e opções padrão em mais detalhes. Tipos de atributosVamos dar uma olhada em como esses atributos são usados por explorar subconjuntos das declarações de empregados no DTD XHTML. O DTD usa entidades parâmetro, coberto mais tarde neste artigo, e os exemplos mais pequenos são mais fáceis de trabalhar, por isso vamos criar exemplos que são fáceis de ler, mas não citar o exato da DTD XHTML. Além disso, como você verá, o W3C usa entidades parâmetro para especificar as expectativas para o índice de atributo que não pode ser expressa usando os tipos básicos. Atributos do tipo CDATA aparecer em todo o DTD XHTML. CDATA é o modelo mais frouxo, acomodando todos os tipos de necessidades e definição de expectativas muito poucos. Tipos de atributos CDATA pode conter URLs, informações numéricas informações de estilo, - basicamente tudo que pode ser expresso como texto. Um subconjunto da declaração de lista de atributos para o elemento img, por exemplo, pode ter este aspecto: O atributo src, que tem uma URL, é representado como CDATA. O atributo alt, que contém o texto para mostrar se a imagem não é carregada, também é representado como CDATA apesar das diferenças entre o seu conteúdo e de que o atributo src. Os atributos de altura e largura, que aceitam comprimentos, também usar CDATA. CDATA pode lidar com todos esses tipos diferentes porque coloca restrições tão poucos em seu conteúdo. XHTML 1.0 A Recomendação, todos os nomes dos seus atributos do tipo ID as id e torna-los disponíveis para cada elemento na DTD. Para adicionar o elemento de identificação para o elemento img, é só usar essa: Ou adicionar este à lista anterior: O atributo IDREF e IDREF tipos são usados com mais parcimônia. O elemento de rótulo, que permite a criação de rótulos para todos os elementos em um documento, tem um para o atributo que deve conter um valor de identificação descrevendo o conteúdo a ser marcada:
|
|||||
| Online: 212 users browsing the articles directory |
|
|