Índice:
Vídeo: Transmissão ao vivo de TV Justiça Oficial 2024
A dicotomia entre pensamento linear e pensamento holístico separa (respectivamente) SAX de DOM.
SAX (Simple API for XML) trata um documento XML linearmente, trabalhando através de um documento peça por peça, do início ao fim. Mas com o DOM (o Document Object Model), você pula e examina todo o documento. Um pouco mais tarde, você aumenta o zoom no elemento raiz e, em seguida, se concentra mais de perto em um elemento dentro do elemento raiz. Em algumas situações, saltar é exatamente o que você precisa fazer.
nós DOM
Com DOM, você pensa em um documento XML como tendo vários nós . Exemplos de nós incluem elementos, atributos, comentários e os caracteres entre um par de tags de início e fim. Um documento XML inteiro é em si um nó. Em suma, um documento XML pode ter 12 tipos diferentes de nós.
Os nós de uma árvore
Tomados em conjunto, todos os nós DOM em um documento XML formam uma árvore. Pegue, por exemplo, o documento no Listado 1. A árvore DOM deste documento se parece com a árvore mostrada na Figura 1.
Listagem 1: The Anchovy Lovers Club
Fundador, Presidente, Secretário, Publicity Manager
A árvore possui onze nós. Para contá-los, comece contando os ramos da árvore (convenientemente exibidos na Figura 1). Então conte o primeiro nome do membro = "Herbert" uma segunda vez. (Este ramo tem dois nós DOM nela. O elemento chamado Membro é um nó e o atributo do elemento firstname = "Herbert" é um nó.)
Um tratado sobre árvores
Há algumas coisas que você descobrirá olhando para a árvore na Figura 1.
- Alguns nós são filhos de outros nós. Por exemplo, o nó Membro é uma criança do nó AnchovyLoversClub. Isso ocorre porque, na Listagem 1, o elemento Membro está aninhado dentro do elemento AncoverLoversClub.Da mesma forma, o nó Standing é um filho do nó Membro. Esta analogia familiar continua e continua. O nó Membro é o pai do nó Permanente, e o AncoverLoversClub é o pai do nó Membro.
- O documento inteiro é um nó. Este é um ponto importante, e é fácil esquecer. Na Listagem 1, o elemento raiz do documento é AnchovyLoversClub. Mas na Figura 1, o nome AnchovyLoversClub não está no topo da árvore. Em vez disso, a palavra #documento está no topo da árvore.O nó mais alto de uma árvore DOM representa um documento XML completo. Erros ocorrem quando os programadores pensam que o elemento raiz do documento inicia a árvore.(Não.)
- Comentários e partes de texto são nós. Na Figura 1, o comentário é um nó filho do nó do documento. Isso porque, na Listagem 1, o comentário faz parte do documento. O comentário não está aninhado dentro de nenhum dos elementos do documento.Mais uma vez, tocamos a genealogia. Dizemos que o nó #document tem dois filhos - um nó de comentário e um nó AnchovyLoversClub. Estes dois nós - o comentário e o AnchovyLoversClub - são chamados irmãos .Também na Figura 1, o texto Fundador, Presidente, Secretário, Publicity Manager faz parte de um nó. Na Listagem 1, o texto Fundador, Presidente, Secretário, Gerente de Publicidade está dentro do elemento Permanente. Assim, na Figura 1, este nó de texto é um filho do nó Standing.
- Mesmo o texto ignorável faz parte de um nó. De acordo com a Figura 1, o nó AnchovyLoversClub possui três nós diretos para crianças - dois nós rotulados com #text e outro nó chamado Membro. Isso ocorre porque, no que diz respeito ao DOM, o nó AnchovyLoversClub tem três coisas nele.
retorno do carro e três espaços em branco
Elemento do membro
retorno do carro
-
A situação está ilustrada na Figura 2.
-
Os três crianças do nó Membro - dois pedaços de espaço em branco e um elemento Permanente - são todos irmãos.Agora, observe os pontos e o [cr] nas Figuras 1 e 2. No diagrama da árvore, um ponto representa um espaço em branco e [cr] representa um retorno de carro. Com o DOM, todos os espaços brancos ignoráveis entre a marca de início AnchovyLoversClub e a marca de início do membro formam um nó. Começando com o suporte angular que termina a tag de início AnchovyLoversClub, você vai para a próxima linha e, em seguida, você tem três espaços em branco antes do ângulo que abre a marca de início do membro. Tudo isso é um nó DOM.
- As tags de fim não são nós. Com o SAX, você pode estar pensando em começar o elemento Membro e depois encerrar o elemento Membro. Em DOM, você não pensa assim. Em vez disso, você visita o elemento Membro apenas uma vez. Dentro dessa visita, você visita o elemento Permanente e algum texto. O DOM não possui nenhum método correspondente ao método SAE endElement.