Buscar

Aula 12 - Profs Pedro Freitas e Raphael Lacerda

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula 12 - Profs. Pedro
Freitas e Raphael
Lacerda
Informática Avançada (TI) p/ Banco do
Brasil (Escriturário) - 2021 - Pré-Edital
Autores:
Diego Carvalho, Renato da Costa,
Thiago Rodrigues Cavalcanti,
Pedro Henrique Chagas Freitas,
Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e
Raphael Lacerda
12 de Abril de 2021
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 1 
38 
Sumário 
1 JSON (JAVASCRIPT OBJECT NOTATION) ...................................................................................... 2 
1.1 CAIU NA PROVA - JSON ...................................................................................................... 4 
2 XML ........................................................................................................................................... 7 
2.1 INTRODUÇÃO ..................................................................................................................... 7 
2.2 EXERCÍCIOS COMENTADOS: XML ...................................................................................... 21 
3 LISTAS DE EXERCÍCIOS .............................................................................................................. 32 
3.1 LISTA DE EXERCÍCIOS - JSON ............................................................................................. 32 
3.2 LISTA DE EXERCÍCIOS: XML ............................................................................................... 33 
4 GABARITOS .............................................................................................................................. 38 
4.1 – JSON.............................................................................................................................. 38 
4.2 GABARITO: XML ............................................................................................................... 38 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 2 
38 
1 JSON (JAVASCRIPT OBJECT NOTATION) 
 
Hoje, na aula, falaremos sobre... 
 
 
 
Pois é, nós falaremos sobre JSON! Professor, o que é isso? Trata-se de um formato 
para intercâmbio de dados! Aí a primeira coisa que você tem que pensar é: Ué, 
professor! Para quê? Nós já temos o XML! Bem, se você pensou isso: excelente 
raciocínio! De fato, o XML é o “pai” do JSON, mas o JSON ganhou muito espaço 
nos sistemas WEB por trabalhar de uma forma mais simples, sem burocracia, e 
integrado com o JavaScript. 
 
JSON é o acrônimo para JavaScript Object Notation – trata-se de um subconjunto 
da linguagem JavaScript, porém não se limita ao JavaScript (apesar de usar a mesma 
sintaxe, ele é completamente independente de linguagem). Professor, mas qual a 
vantagem do JSON sobre o XML? Bem, ele é um formato muito mais leve e muito 
mais fácil de ler/entender. Vejam o exemplo abaixo em XML: 
 
<?xml version="1.0" encoding="UTF-8"?> 
 <id>1</id> 
 <nome>Diego Carvalho</nome> 
 <endereco> Asa Norte </endereco> 
 
Em JSON, esse mesmo código seria: 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 3 
38 
 
{"id":1,"nome":"Diego Carvalho", "endereco":"Asa Norte"} 
 
Além disso, o JSON possui parsing mais fácil; suporta classes e objetos; é mais rápido 
na execução e transporte de dados; cria arquivos menores; não é uma linguagem 
de marcação nem esquemas de validação; e é atualmente utilizado pelo Google, 
Facebook, etc! Vamos ver como seria a definição de três músicos de uma orquestra 
sinfônica, utilizando três registros no XML e um vetor no JSON: 
 
<orquestra> 
 <musico> 
 <primeiroNome>Tom</primeiroNome> <ultimoNome>Jobim</ultimoNome> 
 </musico> 
 <musico> 
 <primeiroNome>Vinicius</primeiroNome> <ultimoNome>Morais</ultimoNome> 
 </musico> 
 <musico> 
 <primeiroNome>Chico</primeiroNome> <ultimoNome>Buarque</ultimoNome> 
 </musico> 
</orquestra> 
 
É equivalente a: 
 
{"orquestra":[ 
 {"primeiroNome":"Tom", "ultimoNome":"Jobim"}, 
 {"primeiroNome":"Vinicius", "ultimoNome":"Morais"}, 
 {"primeiroNome":"Chico", "ultimoNome":"buarque"} 
]} 
 
Pessoal, praticamente não existe limitação com relação ao uso do JSON com relação 
ao XML. Em outras palavras, tudo que você faz com um, pode fazer com o outro. 
Existem duas grandes diferenças. A primeira é que, em XML, a Análise Sintática (ou 
Parsing) deve ser feita necessariamente por um Parser XML; no JSON, basta uma 
função JavaScript. A segunda, é que o XML possui mecanismos para validação dos 
seus elementos (DTD e XSD), e não existe nada semelhante no JSON. 
 
Para deixar mais claro, com XML eu posso escrever um DTD/XSD definindo que a 
tag <pessoa> precisa obrigatoriamente de um <nome>, e o próprio parser sabe 
que existe um erro no XML caso o elemento <nome> não exista. Existe a validação 
dos elementos, além da validação da forma. No JSON, só existe validação da forma, 
e caberá à aplicação validar as estruturas. Pensem em um erro comum de caixa-alta 
– ao invés de escrever o elemento <nome>, o desenvolvedor escreve <Nome> com 
“N” maiúsculo... no XML o Parser perceberia esse erro antes de passar para a 
aplicação, pois apesar de estar com a forma correta, o elemento está errado de 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 4 
38 
acordo com a sua definição no DTD/XSD. No JSON, se a forma está correta, cabe à 
aplicação fazer as validações. 
 
Pessoal, há também semelhanças: ambos são formatos texto (plain text), ambos são 
autodescritivo e facilmente entendíveis; ambos são hierárquicos; e ambos são 
independentes de linguagens. 
 
JSON está constituído em duas estruturas: 
 
▪ Uma coleção de pares nome/valor. Em várias linguagens, isto é chamado de 
object, record, struct, dicionário, hash table, keyed list, ou arrays associativas. Os 
identificadores em JSON devem estar definidos entre aspas, podendo ser aspas 
simples ou duplas. 
 
▪ Uma lista ordenada de valores. Na maioria das linguagens, isto é caracterizado 
como uma array, vetor, lista ou sequência. 
 
Estas são estruturas de dados universais. Virtualmente todas as linguagens de 
programação modernas as suportam, de uma forma ou de outra. É aceitável que 
um formato de troca de dados que seja independente de linguagem de 
programação se baseie nestas estruturas. Pessoal, viram que é bem simples? Em três 
páginas conseguimos ver tudo que precisamos! 
 
1.1 CAIU NA PROVA - JSON 
 
1. (CESGRANRIO - 2011 – BNDES – Analista de Sistemas) Um programador, ao 
analisar determinado sistema WB, observa o arquivo a seguir. 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aquio nome do Curso 
www.estrategiaconcursos.com.br 
 5 
38 
 
 
Qual o formato desse arquivo? 
 
a) JSON 
b) REST 
c) SOAP 
d) XSLT 
e) XML 
 
Comentários: 
 
JSON está constituído em duas estruturas: 
 
▪ Uma coleção de pares nome/valor. Em várias linguagens, isto é chamado de 
object, record, struct, dicionário, hash table, keyed list, ou arrays associativas. 
 
Percebe-se que se trata de um menu com algumas ações possíveis e um conjunto 
de pares nome/valor (Título: X, Desconto A), logo se trata do JSON! 
 
Gabarito: A 
 
2. (CESPE - 2010 – ABIN – Analista de Sistemas) O formato JSON (javascript object 
notation) permite representar objetos e classes como estruturas de dados e 
arrays associativos, sendo possível seu uso em combinação com Ajax e PHP, por 
meio de bibliotecas diversas, como DOJO. 
 
Comentários: 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 6 
38 
 
Vamos por partes: ele permite representar objetos e classes como estruturas de dados 
e arrays associativos? Sim, ele permite representar objetos e classes como estruturas 
de dados; é possível seu uso em combinação com Ajax e PHP? Sim, ele é 
independente de linguagem de programação; por meio de bibliotecas diversas, 
como DOJO? Sim, isso é um assunto de JavaScript! DOJO é uma biblioteca JavaScript 
com diversas funções e pode ser combinada com JSON! 
 
Gabarito: C 
 
3. (CESPE - 2016 – TCE/SC – Analista de Sistemas) Em navegadores que não 
possuem apoio para a função JavaScript JSON.parse, pode-se utilizar a função 
eval para converter um texto JSON em um objeto JavaScript, por meio da sintaxe 
apresentada a seguir. var obj = eval (“(” + text + “)”); 
 
Comentários: 
 
Há navegadores que realmente não suportam JSON.parse( ). A solução de contorno 
realmente é usar eval( ) e converter o texto JSON em um objeto JS – você deixará o 
sistema mais vulnerável a ataques, por isso não é a solução ideal. Galera, fiquem 
tranquilos! Essa questão foi feita para que ninguém acertasse mesmo – eu tive que 
pesquisar! 
 
Gabarito: C 
 
ACERTEI ERREI 
 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 7 
38 
2 XML 
2.1 INTRODUÇÃO 
O eXtensible Markup Language (XML) é uma metalinguagem de marcação, 
especificada pela W3C, que define um conjunto de regras para codificar 
documentos em um formato que seja legível tanto por humanos quanto por 
máquinas. Galera, já vi muita gente errando questão de prova por confundir HTML 
com XML! Que tal diferenciá-las? 
 
Bem, o propósito principal do primeiro é exibir dados com foco em sua aparência. 
Já o segundo busca transportar e armazenar dados, além de ser capaz de 
desenvolver e definir outras linguagens1. Portanto – grosso modo – HTML serve para 
deixar a página bonita e organizada, e XML serve para transportar e armazenar 
dados! 
 
Existe outra diferença extremamente importante! HTML é uma linguagem de 
marcação e XML é uma metalinguagem de marcação! Professor, o que quer dizer 
marcação? Quer dizer que ela possui tags capazes de marcar início e fim de 
instruções, além de definir seus significados. E qual a diferença entre linguagem e 
metalinguagem de marcação? 
 
HTML possui tags predefinidas por seus criadores com o objetivo de fazer a 
marcação de cada parte do documento. XML não possui tags predefinidas, i.e., você 
cria suas próprias tags e o resultado disso é uma nova linguagem de marcação. 
Portanto, XML não é uma linguagem em si, mas uma metalinguagem, i.e., uma 
linguagem usada para criar outras linguagens. Bacana, né?! 
 
Outra característica é que o XML é capaz de prover o intercâmbio de documentos 
através da web, além de suportar uma grande gama de aplicações, permitindo a 
definição de elementos pelo usuário ou aplicação para estruturar o documento. 
Curiosidade: XML depende de alguma plataforma? Não, ela é completamente 
independente de plataforma – não caiam nessa pegadinha! 
 
Algumas questões dizem que XML é uma evolução, uma melhoria ou um avanço 
sobre o HTML! Isso está correto, pessoal? Claro que não! Não é evolução coisa 
nenhuma, são tecnologias complementares. Outras questões dizem que XML é uma 
linguagem de marcação! Ahh, professor... nessa pegadinha eu não caio – é claro que 
está errado; XML é uma metalinguagem de marcação! 
 
1 WSDL é um exemplo de linguagem baseada em XML. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 8 
38 
 
Calma aí, pessoal! Vocês não devem brigar com a banca, porque é provável que 
vocês perderão! A não ser que o foco da questão seja na dualidade entre linguagem 
e metalinguagem, aceitem como uma linguagem, porque a banca não voltará atrás! 
Continuando, XML permite busca e processamento de informações de maneira 
otimizada, inteligente e simplificada – guardem essa informação! 
 
Vamos definir algumas coisas importantes: 
 
▪ Elementos: é tudo que se encontra entre a tag inicial e final, incluindo a própria 
tag do elemento. Pode conter outros elementos, texto, atributos, etc. Além disso, 
pode ser vazio e escrito de duas maneiras diferentes: 
 
 
 
▪ Atributos: são informações adicionais sobre um elemento. No exemplo abaixo, 
o tipo do arquivo é irrelevante para o dado, mas pode ser importante para o 
software que deseja manipular o elemento. Deve vir com aspas ou apóstrofos. 
 
 
 
▪ Namespaces: eventualmente ocorrem conflitos com nomes iguais de elementos 
de arquivos diferentes (Ex: XML e HTML). Para tal, utiliza-se um prefixo para 
diferenciar os elementos, como mostra a imagem abaixo (h:table ≠ f:table). 
 
 
 
Ao utilizar um prefixo, um namespace deve ser definido para esse prefixo. Ele é 
definido pelo atributo xmlns na tag inicial de um elemento. A declaração do 
namespace segue a sintaxe mostrada abaixo (xmlns:prefix=”URI”). 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 9 
38 
 
 
Observem que o atributo xmlns na tag <table> dá aos prefixos h: e f: um namespace 
qualificado. Quando um namespace é definido para um elemento, todos os 
elementos filhos com o mesmo prefixo são associados àquele namespace. Pode-se 
declarar os namespaces nos elementos em que são utilizados (como do exemplo 
acima) ou no elemento-raiz do documento (como do exemplo abaixo): 
 
 
 
Professor, espera um pouco! Bagunçou tudo na minha cabeça agora! O que é esse 
site aí? Calma, galera! Isso é um URI (Uniform Resource Identifier), i.e., um 
identificador único. É comum a utilização dele para evitar de ter dois identificadores 
de namespace com o mesmo nome, noentanto é possível colocar qualquer 
identificador – você pode colocar seu CPF por exemplo! 
 
Observem agora no exemplo acima: existem dois namespaces relacionados aos dois 
prefixos. Dessa forma, é possível usar o elemento <table> do HTML com o elemento 
<table> do XML em um único documento sem dar conflitos! O namespace 
referente ao prefixo h: está relacionado aos elementos do HTML e o namespace 
referente ao prefixo f: está relacionado aos elementos do XML. Bacana? 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 10 
38 
XML apresenta diversas características importantes, tais como: é uma 
metalinguagem extremamente extensível; é capaz de separar dados da aparência; 
simplifica o compartilhamento de dados; simplifica o transporte de dados; simplifica 
asw mudanças de plataforma; torna os dados mais disponíveis; auxilia a criação de 
novas linguagens; entre outras vantagens. 
 
 
 
O XML não faz nada! Como assim? Ora, ele simplesmente estrutura, armazena e 
transporta informações. A imagem acima mostra um exemplo de um recado de 
uma pessoa chamada Tove para Jani, armazenada como um XML! O recado é 
autodescritivo2: tem um destinatário, um remetente e um corpo, mas não faz nada, 
i.e., alguém deve escrever um software para enviá-lo, recebê-lo ou exibi-lo. 
 
 
 
A primeira linha contém a Declaração XML! O que é isso, professor? É como um 
cabeçalho que apresenta, dentro outras informações, a versão do XML e o tipo de 
codificação. A linha seguinte descreve o elemento-raiz do documento (“<note>”): 
 
 
 
As quatro linhas seguintes descrevem elementos-filhos do elemento-raiz: 
 
 
 
Finalmente, a última linha define o fim do elemento-raiz: 
 
 
 
Por que o primeiro elemento é chamado elemento-raiz? Ora, porque ele é a raiz de 
uma árvore. O elemento-raiz descende até suas folhas em uma hierarquia! 
Professor, o que é um elemento? É tudo que está entre a tag de início e final, incluindo 
 
2 Isso significa que suas tags, por si só, fornecem uma ideia do conteúdo do documento. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 11 
38 
estas! Professor, não entendi essa parte da árvore! Então vamos ver seu desenho – 
o código acima pode ser transformado na árvore abaixo: 
 
 
 
Agora vamos mudar um pouco o assunto: diferença entre Documento XML Bem 
Formado e Documento XML Válido! Um Documento XML bem formado é aquele 
que obedece suas regras de construção! Um documento que não siga 
categoricamente essas regras não pode sequer ser chamado de Documento XML. 
E que regras são essas? Existem oito regras principais, bastante intuitivas: 
 
1. Documentos XML devem possuir um único elemento-raiz: 
 
 
ERRADO: POSSUI DUAS RAÍZES 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 12 
38 
 
CORRETO: POSSUI UMA RAIZ 
 
2. Todos elementos devem conter uma tag de fechamento: 
 
Em um Documento HTML, é possível ter elementos sem tag de fechamento: 
 
 
ERRADO: FALTA FECHAR <NOME> 
 
 
CORRETO: TODAS AS TAGS FECHADAS 
 
Professor, espera um pouco! Aquela primeira tag não foi fechada! É verdade, no 
entanto considera-se que a declaração XML (ou cabeçalho XML) não faz parte do 
Documento XML. Captaram minha mensagem? Bacana! 
 
3. Elementos devem estar corretamente aninhados: 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 13 
38 
 
ERRADO: TAGS FECHADAS NA ORDEM INCORRETA 
 
 
CORRETO: TAGS FECHADAS NA ORDEM CORRETA 
 
Professor, o que você quer dizer exatamente com elementos corretamente 
aninhados? Quero dizer que as tags fecham em ordem oposta a ordem em que 
foram abertas, i.e., a primeira tag aberta deve ser a última tag fechada. 
 
4. Atributos devem possuir valor entre aspas simples ou duplas: 
 
Todos os atributos devem possuir valores. Além disso, esses valores devem vir entre 
aspas simples ou duplas. 
 
 
 
 
ERRADO: ATRIBUTO <MERCOSUL> NÃO POSSUI VALOR 
 
 
CORRETO: ATRIBUTO <MERCOSUL> POSSUI VALOR E ENTRE ASPAS 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 14 
38 
5. Nomes de tags e atributos são Case-Sensitive: 
 
 
ERRADO: <NOME> É DIFERENTE DE <NOME> 
 
 
CORRETO: <NOME> É IGUAL A <NOME> 
 
6. Caracteres especiais 
 
Alguns caracteres possuem significado especial em XML. Por exemplo, o caractere 
“<” dentro de um elemento irá gerar um erro, porque o parser da linguagem 
interpretará o caractere como o início de um novo elemento. Para evitar esse erro, 
deve-se substituir o caractere por uma referência de entidade, como mostram as 
imagens abaixo: 
 
 
ERRADO: CONTÉM ELEMENTO & 
 
 
CORRETO: CONTÉM O ELEMENTO &AMP; 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 15 
38 
 
 
7. Atributos não podem se repetir dentro de um elemento: 
 
Dentro de um mesmo elemento, não é permitido inserir dois elementos com o 
mesmo nome. Simples, não? 
 
 
ERRADO: ATRIBUTOS COM O MESMO NOME 
 
 
CORRETO: ATRIBUTOS COM NOMES DIFERENTES 
 
 
 
8. Atributos devem seguir regras de nomenclatura: 
 
Nomes de tags não podem conter espaços em branco nem os caracteres 
!"#$%&'()*+,/;<=>?@[\]^`{|}~. Além disso, não podem começar com um número, 
ponto ou hífen. 
 
 
ERRADO: ATRIBUTO COMEÇA COM NÚMERO 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 16 
38 
 
CORRETO: ATRIBUTO COM NOMENCLATURA PERFEITA 
 
Galera, nem todo Documento XML bem formado é válido! Isso ocorre porque, para 
que ele seja válido, ele deve ser consistente com seu esquema. Como é, professor? 
Pois é,um esquema é um modelo que descreve como devem ser os elementos, 
atributos, dados, etc. Um Documento XML é validado a partir do momento que ele 
obedece às regras de seu esquema. 
 
Vamos abstrair um pouco? Imaginem o seguinte: eu quero construir um carro! 
Portanto, para que seja um carro bem formado, é preciso que tenha quatro rodas, 
um único volante, um sistema elétrico e hidráulico, entre outras regras ou 
características! Qualquer veículo que contenha essas características (entre outras) 
será considerado um carro bem formado. 
 
Mas eu não quero qualquer carro... eu 
quero uma Ferrari Califórnia! Logo, 
para que esse carro seja validado 
como uma Ferrari Califórnia, é preciso 
que tenha um motor 3.9L de 560 cv, 
torque de 77kgfm, 8 cilindros, 
suspensão esportiva, design como o 
da imagem ao lado! Qualquer veículo 
que contenha essas características, e 
que seja um carro bem formado, será considerado um carro válido. 
 
Ora, percebam uma coisa importante: nem todo carro é uma Ferrari Califórnia, no 
entanto toda Ferrari Califórnia é um carro. Colocando de outra maneira: nem todo 
Documento XML bem formado é válido, todavia todo Documento XML válido é 
necessariamente bem formado! Legal, não?! Agora vamos falar um pouco mais 
sobre esse tal de esquema! 
 
Antes de tudo: é obrigatória a utilização desse esquema? Não! Em geral, quando se 
trabalha com documentos pequenos ou se deseja apenas realizar alguns testes, criar 
esquemas pode ser uma perda de tempo. Caso contrário, ele serve para facilitar a 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 17 
38 
vida do desenvolvedor, ajuda a padronizar documentos para diversos usuários, 
auxilia o compartilhamento, e fornece uma boa referência para outros. 
 
Existem dois tipos principais de Arquivos de Definição: DTD e XSD! Um Documento 
XML válido é um Documento XML bem-formado, que também segue as regras de 
um DTD (Document Type Definition)! Arquivos de Definição são obrigatórios? Não! 
São declarações opcionais que informam quais tags são válidas no Documento XML 
e como elas devem ser estruturadas. Podemos ver um exemplo abaixo: 
 
 
 
O Documento XML acima apresenta – em vermelho – uma Declaração DOCTYPE. 
O que é isso, professor? Cara, essa declaração é uma referência a um Arquivo DTD 
externo. O conteúdo do Arquivo DTD é apresentado abaixo: 
 
 
 
O propósito de um Arquivo DTD é definir uma estrutura de um Documento XML. 
Ele define a estrutura com uma lista de elementos legais. A interpretação do Arquivo 
DTD ocorre da seguinte maneira: 
 
 
 
 
 
 
 
 
Pessoal! O DTD é mais antigo, já está em desuso há bastante tempo e é provável 
que nem caia em prova. Já o XSD (XML Schema Document): 
 
▪ suporta a criação de namespaces; 
▪ !DOCTYPE note define que note é o elemento-raiz 
▪ !ELEMENT note define que note contém quatro elementos 
▪ !ELEMENT to define que to é do tipo #PCDATA 
▪ !ELEMENT from define que from é do tipo #PCDATA 
▪ !ELEMENT heading define que heading é do tipo #PCDATA 
▪ !ELEMENT body define que body é do tipo #PCDATA 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 18 
38 
▪ suporta a definição de novos tipos; 
▪ suporta a definição de restrições; 
▪ suporta a conversão de dados; 
▪ permite manipular schemas com DOM; 
▪ permite utilizar o parser do XML; 
▪ permite utilizar o editor XML; 
▪ é escrito em XML (não precisa aprender outra linguagem); 
▪ é bastante extensível por adições; 
 
 
 
 
 
 
 
 
 
 
Por fim, vamos falar sobre o Document Object Model (DOM). O que é isso, professor? 
É a especificação de uma interface independente de linguagem de programação e 
plataforma que permite acessar e alterar dinamicamente a estrutura, conteúdo e 
estilo de documentos eletrônicos, permitindo que ele seja mais tarde processado e 
os resultados desse processamento, incorporados de volta no próprio documento. 
 
O DOM representa como as marcações em HTML, XHTML e XML são organizadas 
e lidas pelo navegador que você usa. Uma vez indexadas, estas marcações se 
transformam em elementos de uma árvore em que se pode manipular via API – que 
é o que se faz quando usamos programas ou scripts para alterar funcionalidades de 
uma página: conteúdo, estrutura ou folha de estilo. 
 
Calma, professor! Viajei agora, explica de novo? Vamos lá! Vocês sabem que 
linguagens de script (Ex: Javascript) conseguem manipular dinamicamente a 
estrutura de uma página. Ela faz isso por meio do DOM – que oferece uma maneira 
▪ <xs:element name=”note”> define um elemento chamado “note”; 
▪ <xs:complexType> “note” é um elemento do tipo complexo; 
▪ <xs:sequence> o tipo complexo é uma sequência de elementos; 
▪ <xs:element name=”to” type=”xs:string”> o elemento é uma string; 
▪ <xs:element name=”from” type=”xs:string”> o elemento é uma string; 
▪ <xs:element name=”heading” type=”xs:string”> o elemento é uma string; 
▪ <xs:element name=”body” type=”xs:string”> o elemento é uma string; 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 19 
38 
padronizada de se acessar elementos de um documento e manipulá-los 
separadamente. 
 
O Javascript por si só não tem capacidade de acessar elementos específicos de um 
documento de forma padronizada! E como o DOM permite isso? Por meio de uma 
Árvore DOM! Essa árvore é composta por nós que contêm elementos, textos, 
atributos, etc. Galera, o grande truque do DOM é que ele permite acessar facilmente 
elementos de uma página web. A imagem abaixo apresenta uma Árvore DOM: 
 
 
 
 
Atualmente, os Analisadores XML estão divididos de acordo com a abordagem que 
eles utilizam para processar o documento. Há uma abordagem hierárquica (DOM) 
e uma abordagem orientada a eventos (SAX). O Simple API for XML é a principal 
tecnologia quando se fala em leitura de dados por meio de eventos de um 
Documento XML. 
 
DOM opera sobre o documento como um todo, já o SAX opera sobre cada parte 
do documento sequencialmente. O SAX desencadeia eventos durante a análise do 
documento XML. Um aplicativo utilizando SAX geralmente implementa 
gerenciadores de eventos, permitindo que ele realize operações de acordo com o 
tipo de elemento encontrado. Vejamos um exemplo de documento XML: 
 
<pessoa> 
<sobrenome>Pereira</sobrenome> 
<nome>Antonio</nome> 
</pessoa> 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 20 
38 
Uma interface de eventos, como o API SAX gera eventos a partir da leitura do 
documento acima. Os eventos gerados serão: 
 
start document 
start element: pessoa 
start element: sobrenome 
characters:Pereira 
end element: sobrenome 
start element: nome 
characters: Antonio 
end element: nome 
end element: pessoa 
end document 
 
Assim, um aplicativo baseado no SAX pode gerar apenas os elementos que ele 
precisa, sem ter que construir uma estrutura na memória com o documento inteiro 
– utiliza memória constante. Os analisadores que usam a interface DOM sofrem 
porque esta API impõe a construção de uma árvore, com todos os elementos do 
documento na memória, seja qual for o aplicativo. 
 
Assim, para os documentos de grandes dimensões (cujo tamanho é próximo à 
quantidade de memória da máquina) o DOM torna-se insuficiente. Além disso, o 
uso do DOM se torna lento, esta é a razão do padrão DOM ser, algumas vezes, 
pouco respeitado, pois cada editor o implementa de acordo com suas necessidades, 
provocando o aparecimento de muitos parsers usando interfaces proprietárias. 
 
Assim, cada vez mais os aplicativos se voltam para aplicativos de eventos, como o 
SAX, para processar apenas o necessário. 
 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 21 
38 
2.2 EXERCÍCIOS COMENTADOS: XML 
1. (FCC - 2012 - TST - Técnico Judiciário - Programação) A linguagem XML: 
 
a) é considerada uma linguagem de marcação que tem uma biblioteca de tags 
muito rica e finita, a ponto de atender a todos os segmentos de negócios ligados 
a indústria, comércio e serviços. 
 
b) foi concebida para trabalhar com metadados, que descrevem os dados do 
documento XML. 
 
c) permite realizar diretamente no código diferentes formatações para exibir os 
dados de forma personalizada aos usuários. 
 
d) cria uma DTD - Dados para Transferência de Documentos - que define a 
estrutura do documento XML. 
 
e) está na versão 5.0 já que a XML 4.0 estava obsoleta e, gradativamente, sendo 
substituída pela WML. 
 
Comentários: 
 
(a) Na verdade, são infinitas; (b) Perfeito, é exatamente isso; (c) Não, permite 
formatações sem alterar o código; (d) Não! DTD é Data Type Definition e define a 
estrutura do documento XML; (e) Está na Versão 1.0 e não vem sendo substituída 
pela WML (Wireless Markup Language), que é um formato para dispositivos móveis. 
 
Gabarito: B 
 
2. (FCC - 2012 - MPE-AP - Analista Ministerial - Tecnologia da Informação) Um 
documento XML bem formatado é aquele que apresenta uma sintaxe XML 
correta. Sobre as regras de sintaxe em documentos XML bem formatados é 
correto afirmar: 
 
a) Os elementos XML não podem ter mais que um atributo e o valor desse 
atributo pode estar vazio. 
 
b) Não é necessário que um documento XML tenha um elemento raiz. 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 22 
38 
c) Os elementos XML não precisam ser fechados por tag, exceto o que define a 
versão da XML usada. 
 
d) Tags XML são case sensitive e os valores dos atributos devem aparecer entre 
aspas. 
 
e) Elementos XML não precisam ser aninhados corretamente, sendo assim, o 
primeiro que abre sempre será o primeiro que fecha. 
 
Comentários: 
 
(a) Pode, sim, ter mais de um atributo; (b) É obrigatório que tenha um elemento 
raiz; (c) Precisa, sim, ser fechados por tag; (d) Sim, perfeito! (e) Precisam, sim, ser 
aninhados corretamente – primeiro que abre é o último que fecha. 
 
Gabarito: D 
 
3. (FCC - 2012 - MPE-PE - Técnico Ministerial - Informática) Para que um 
documento XML seja considerado válido, ele precisa ter um conjunto de 
instruções que define a estrutura do documento, ou seja, quais elementos e 
atributos são permitidos. Esse conjunto de instruções (que pode ser declarado 
dentro de um documento XML ou em um arquivo à parte) é denominado: 
 
a) Extensible Stylesheet Language Transformations. 
b) Document Type Definition. 
c) XML Description Elements and Attributes. 
d) Cascading Style Sheets. 
e) Standard Description Library. 
 
Comentários: 
 
Trata-se do DTD (Document Type Definition). Opcionalmente, pode ser também o 
XML Schema. 
 
Gabarito: B 
 
4. (FCC - 2010 - BAHIAGÁS - Analista de Processos Organizacionais - Análise de 
Sistemas) O elemento raiz é declarado em um arquivo XML pelo elemento: 
 
 a) !DOCTYPE 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 23 
38 
 b) !ELEMENT 
 c) #PCDATA 
 d) CDATA 
 e) IDREF 
 
Comentários: 
 
A questão pede o elemento que declara um elemento-raiz. Esse elemento está em 
um validador e a questão não falou qual deve ser utilizado: DTD ou XSD. 
Presumindo-se que se trata do DTD, podemos afirmar que é o <!DOCTYPE>. Em 
geral, quando não se declara nada, o elemento-raiz é declarado por um !ELEMENT, 
mas nós podemos declarar o elemento-raiz de um Arquivo XML no <!DOCTYPE>. 
 
Gabarito: A 
 
5. (FCC - 2010 - TCE-SP - Agente da Fiscalização Financeira - Informática - Suporte 
de Web) NÃO se trata de uma regra para que um arquivo XML possa ser 
considerado bem formatado: 
 
a) Só deve haver um elemento raiz. 
b) Todo elemento XML deve ser fechado, exceto o que define a versão do XML 
usada. 
c) Os elementos XML devem ser aninhados adequadamente seguindo o padrão: 
primeiro que abre, último que fecha. 
d) Os valores de atributos devem aparecer entre aspas. 
e) A sintaxe deve ser escrita toda em maiúscula. 
 
Comentários: 
 
Todos os itens tratam de regras para criação de um documento bem formado, 
exceto o último: a sintaxe pode ser escrita em maiúscula ou minúscula. 
 
Gabarito: E 
 
6. (FCC - 2008 - METRÔ-SP - Analista Treinee - Análise de Sistemas) NÃO é um 
dos quatro tipos de declarações em XML: 
 
a) Elementos. 
b) Instâncias. 
c) Entidades. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 24 
38 
d) Notações. 
e) Listas de atributos. 
 
Comentários: 
 
Galera, é possível declarar várias coisas em XML. Eu posso declarar elementos, 
entidades, notações e listas de atributos, mas instâncias não são um conceito em 
XML – não há declaração de instâncias. 
 
Gabarito: B 
 
7. (FCC - 2007 - TRF - 4ª REGIÃO - Técnico Judiciário - Programação de Sistemas) 
Define a construção de blocos válidos para um documento XML, bem como a 
estrutura desse documento, usando uma lista de elementos válidos, 
 
a) o ASP. 
b) a GML. 
c) o DTD. 
d) a SHTML. 
e) a PHP. 
 
Comentários: 
 
Trata-se do DTD! PHP e GML são linguagens de programação; SHTML é um Arquivo 
HTML com instruções de servidor; ASP é uma estrutura de bibliotecas básicas para 
criação de páginas web dinâmicas. 
 
Gabarito: C 
 
8. (FCC - 2005 – TRF/11 – Analista de Sistemas) Uma das principais características 
do XML é: 
 
a) descrever a aparência e as açõesde uma página. 
b) usar tags e atributos com objetivos predefinidos. 
c) separar a interface de apresentação dos dados estruturados. 
d) interpretar possíveis erros de sintaxe das especificações oficiais. 
e) ser escrito em arquivo texto destinado à leitura pelas pessoas. 
 
Comentários: 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 25 
38 
(a) XML não descreve aparência – esse é o HTML; (b) tags não tem objetivos 
predefinidos; (c) Perfeito, é isso; (d) Não, isso não é característica do XML; (e) Não, 
não é destinado à leitura de pessoas. 
 
Gabarito: C 
 
9. (FCC - 2007 – TRF/3 – Analista de Sistemas) Um documento XML, composto de 
marcas e conteúdos, possui um tipo de marcação que inicia com <!-- e termina 
com --> denominado: 
 
a) declarações de tipos de documento. 
b) instruções de processamento. 
c) referências a entidades. 
d) elementos. 
e) comentários. 
 
Comentários: 
 
Bastava ver a sintaxe e perceber que são os comentários. 
 
Gabarito: E 
 
10. (FCC - 2008 – MPE/RS – Analista de Sistemas) Em XML pode-se definir um 
atributo, como informação adicional ao elemento, conforme o exemplo abaixo: 
 
a) <funcionario> <sexo> masculino ... 
b) <funcionario sexo=masculino> ... 
c) <funcionario sexo="masculino"> ... 
d) <funcionario> <sexo> "masculino" ... 
e) <funcionario <sexo>= "masculino"> ... 
 
Comentários: 
 
Trata-se da terceira opção: <funcionário sexo=”masculino”>. 
 
Gabarito: C 
 
11. (FCC - 2013 – DPE/SP – Analista de Sistemas) Uma das operações mais comuns 
realizadas em documentos XML na web é a leitura de dados por meio de scripts 
JavaScript e a exibição desses dados na tela do navegador em páginas HTML. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
==1c090b==
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 26 
38 
Essa leitura pode ser feita utilizando uma especificação da W3C que define uma 
forma padrão para acessar e manipular documentos, visualizando-os como uma 
estrutura em forma de árvore onde os elementos, seu texto, e seus atributos são 
conhecidos como nós. Além de ler o conteúdo de elementos de um documento 
XML essa especificação define como alterar, adicionar ou apagar elementos. 
 
A especificação definida no texto é conhecida pela sigla: 
 
a) DOM. 
b) JSON. 
c) XSLT. 
d) XPath. 
e) DTD. 
 
Comentários: 
 
Por fim, vamos falar sobre o Document Object Model (DOM). O que é isso, professor? 
É a especificação de uma interface independente de linguagem de programação e 
plataforma que permite acessar e alterar dinamicamente a estrutura, conteúdo e 
estilo de documentos eletrônicos, permitindo que ele seja mais tarde processado e os 
resultados desse processamento, incorporados de volta no próprio documento. 
 
O Javascript por si só não tem capacidade de acessar elementos específicos de um 
documento de forma padronizada! E como o DOM permite isso? Por meio de uma 
Árvore DOM! Essa árvore é composta por nós que contêm elementos, textos, 
atributos, etc. Galera, o grande truque do DOM é que ele permite acessar facilmente 
elementos de uma página web. A imagem abaixo apresenta uma Árvore DOM: (...) 
 
Evidentemente, trata-se do DOM! 
 
Gabarito: A 
 
 
12. (VUNESP - 2011 – TJM/SP - Analista de Sistemas) Considere as afirmações sobre 
a formatação de um documento XML. 
 
I. As tags XML são case sensitive. 
II. Documentos XML devem conter um elemento-raiz. 
III. Atributos de valor devem estar entre aspas. 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 27 
38 
Sobre as afirmações, está correto o contido em 
 
a) I, apenas. 
b) III, apenas. 
c) I e II, apenas. 
d) II e III, apenas. 
e) I, II e III. 
 
Comentários: 
 
I. 
 
Nomes de tags e atributos são Case-Sensitive: 
 
 
ERRADO: <NOME> É DIFERENTE DE <NOME> 
 
 
CORRETO: <NOME> É IGUAL A <NOME> 
 
II. 
 
Documentos XML devem possuir um único elemento-raiz: 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 28 
38 
 
ERRADO: POSSUI DUAS RAÍZES 
 
 
 
CORRETO: POSSUI UMA RAIZ 
III. 
 
Atributos devem possuir valor entre aspas simples ou duplas: 
 
Todos os atributos devem possuir valores. Além disso, esses valores devem vir entre 
aspas simples ou duplas. 
 
 
ERRADO: ATRIBUTO <MERCOSUL> NÃO POSSUI VALOR 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 29 
38 
 
CORRETO: ATRIBUTO <MERCOSUL> POSSUI VALOR E ENTRE ASPAS 
 
Perfeito, todas são verdadeiras! 
 
Gabarito: E 
 
13. (ESAF - 2013 – STN - Analista de Sistemas) Assinale a opção correta relativa a 
XML. 
 
a) É uma linguagem de metamodificação. 
b) Especifica um sistema de avaliação de programas por semânticas de acesso. 
c) É uma linguagem de metatransformação. 
d) É uma sintaxe e uma estrutura. 
e) Especifica uma sintaxe e uma semântica. 
 
Comentários: 
 
(a) Não existe esse conceito; (b) Einh? Não faz sentido algum! (c) Não existe esse 
conceito; (d) Perfeito, trata-se de uma sintaxe e uma estrutura; (e) Não, ela não lida 
com a semântica. 
 
Gabarito: D 
 
14. (CESGRANRIO - 2006 – EPE - Analista de Sistemas) Sobre as tecnologias Internet 
são feitas duas afirmativas. 
 
I - Um parser XML pode utilizar um _________ para validar um documento XML. 
_______ , por sua vez, é uma interface baseada em eventos que pode ser utilizada 
para escrever aplicações para ler dados contidos em um documento XML. 
 
II - Arquivos ________ podem ser utilizados para transformar arquivos XML em 
HTML. 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 30 
38 
Para que as afirmativas acima sejam verdadeiras, as lacunas devem ser 
preenchidas, respectivamente, com: 
 
a) DTD, SAX e XSL. 
b) DTD, XSL e SAX. 
c) SAX, IDL e ORB. 
d) SAX, XSL e ORB. 
e) ORB, IDL e DTD. 
 
Comentários: 
 
Um parser XML pode utilizar um DTD para validar um documento XML (Comentário: 
outra resposta que caberia, seria XSD); SAX, por sua vez, é uma interface baseada 
em eventosque pode ser utilizada para escrever aplicações para ler dados contidos 
em um documento XML (Comentário: só cabe o SAX, tendo em vista que o DOM 
não é orientado a eventos); Arquivos XSL podem ser utilizados para transformar 
arquivos XML em HTML (Comentário: a princípio, só caberia XSL). 
 
Gabarito: A 
 
15. (CESGRANRIO - 2008 – PETROBRÁS - Analista de Sistemas) Ao ler e processar 
arquivos XML, é interessante considerar o desempenho em duas dimensões: 
tempo e memória. Examine, a seguir, as afirmativas sobre os padrões de 
consumo de memória, tanto no SAX quanto no DOM. 
 
I - O consumo de memória do SAX é uma constante, independente do tamanho 
do documento XML. 
 
II - O consumo de memória de uma implementação DOM depende do tamanho 
do documento XML. 
 
III - SAX sempre consome mais memória do que DOM. 
 
Está(ão) correta(s) a(s) afirmativa(s) 
 
a) I, apenas. 
b) I e II, apenas. 
c) I e III, apenas. 
d) II e III, apenas. 
e) I, II e III. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 31 
38 
 
Comentários: 
 
I. Conforme vimos em aula, o consumo do SAX é constante, independentemente 
do tamanho do documento; II. Conforme vimos em aula, realmente o consumo de 
memória de uma implementação DOM depende do tamanho do documento – 
quanto maior o documento, maior o consumo; III. Não, em geral SAX consome 
menos memória do que o DOM. 
 
Gabarito: B 
 
ACERTEI ERREI 
 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 32 
38 
 
3 LISTAS DE EXERCÍCIOS 
3.1 LISTA DE EXERCÍCIOS - JSON 
1. (CESGRANRIO - 2011 – BNDES – Analista de Sistemas) Um programador, ao 
analisar determinado sistema WB, observa o arquivo a seguir. 
 
 
Qual o formato desse arquivo? 
 
a) JSON 
b) REST 
c) SOAP 
d) XSLT 
e) XML 
 
2. (CESPE - 2010 – ABIN – Analista de Sistemas) O formato JSON (javascript object 
notation) permite representar objetos e classes como estruturas de dados e 
arrays associativos, sendo possível seu uso em combinação com Ajax e PHP, por 
meio de bibliotecas diversas, como DOJO. 
 
3. (CESPE - 2016 – TCE/SC – Analista de Sistemas) Em navegadores que não 
possuem apoio para a função JavaScript JSON.parse, pode-se utilizar a função 
eval para converter um texto JSON em um objeto JavaScript, por meio da sintaxe 
apresentada a seguir. var obj = eval (“(” + text + “)”); 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 33 
38 
3.2 LISTA DE EXERCÍCIOS: XML 
1. (FCC - 2012 - TST - Técnico Judiciário - Programação) A linguagem XML: 
 
a) é considerada uma linguagem de marcação que tem uma biblioteca de tags 
muito rica e finita, a ponto de atender a todos os segmentos de negócios ligados 
a indústria, comércio e serviços. 
 
b) foi concebida para trabalhar com metadados, que descrevem os dados do 
documento XML. 
 
c) permite realizar diretamente no código diferentes formatações para exibir os 
dados de forma personalizada aos usuários. 
 
d) cria uma DTD - Dados para Transferência de Documentos - que define a 
estrutura do documento XML. 
 
e) está na versão 5.0 já que a XML 4.0 estava obsoleta e, gradativamente, sendo 
substituída pela WML. 
 
2. (FCC - 2012 - MPE-AP - Analista Ministerial - Tecnologia da Informação) Um 
documento XML bem formatado é aquele que apresenta uma sintaxe XML 
correta. Sobre as regras de sintaxe em documentos XML bem formatados é 
correto afirmar: 
 
a) Os elementos XML não podem ter mais que um atributo e o valor desse 
atributo pode estar vazio. 
 
b) Não é necessário que um documento XML tenha um elemento raiz. 
 
c) Os elementos XML não precisam ser fechados por tag, exceto o que define a 
versão da XML usada. 
 
d) Tags XML são case sensitive e os valores dos atributos devem aparecer entre 
aspas. 
 
e) Elementos XML não precisam ser aninhados corretamente, sendo assim, o 
primeiro que abre sempre será o primeiro que fecha. 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 34 
38 
3. (FCC - 2012 - MPE-PE - Técnico Ministerial - Informática) Para que um 
documento XML seja considerado válido, ele precisa ter um conjunto de 
instruções que define a estrutura do documento, ou seja, quais elementos e 
atributos são permitidos. Esse conjunto de instruções (que pode ser declarado 
dentro de um documento XML ou em um arquivo à parte) é denominado: 
 
a) Extensible Stylesheet Language Transformations. 
b) Document Type Definition. 
c) XML Description Elements and Attributes. 
d) Cascading Style Sheets. 
e) Standard Description Library. 
 
4. (FCC - 2010 - BAHIAGÁS - Analista de Processos Organizacionais - Análise de 
Sistemas) O elemento raiz é declarado em um arquivo XML pelo elemento: 
 
 a) !DOCTYPE 
 b) !ELEMENT 
 c) #PCDATA 
 d) CDATA 
 e) IDREF 
 
5. (FCC - 2010 - TCE-SP - Agente da Fiscalização Financeira - Informática - Suporte 
de Web) NÃO se trata de uma regra para que um arquivo XML possa ser 
considerado bem formatado: 
 
a) Só deve haver um elemento raiz. 
b) Todo elemento XML deve ser fechado, exceto o que define a versão do XML 
usada. 
c) Os elementos XML devem ser aninhados adequadamente seguindo o padrão: 
primeiro que abre, último que fecha. 
d) Os valores de atributos devem aparecer entre aspas. 
e) A sintaxe deve ser escrita toda em maiúscula. 
 
6. (FCC - 2008 - METRÔ-SP - Analista Treinee - Análise de Sistemas) NÃO é um 
dos quatro tipos de declarações em XML: 
 
a) Elementos. 
b) Instâncias. 
c) Entidades. 
d) Notações. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 35 
38 
e) Listas de atributos. 
 
7. (FCC - 2007 - TRF - 4ª REGIÃO - Técnico Judiciário - Programação de Sistemas) 
Define a construção de blocos válidos para um documento XML, bem como a 
estrutura desse documento, usando uma lista de elementos válidos, 
 
a) o ASP. 
b) a GML. 
c) o DTD. 
d) a SHTML. 
e) a PHP. 
 
8. (FCC - 2005 – TRF/11 – Analista de Sistemas) Uma das principais características 
do XML é: 
 
a) descrever a aparência e as ações de uma página. 
b) usar tags e atributos com objetivos predefinidos. 
c) separar a interface de apresentação dos dados estruturados. 
d) interpretar possíveis erros de sintaxe das especificações oficiais. 
e) ser escrito em arquivotexto destinado à leitura pelas pessoas. 
 
9. (FCC - 2007 – TRF/3 – Analista de Sistemas) Um documento XML, composto de 
marcas e conteúdos, possui um tipo de marcação que inicia com <!-- e termina 
com --> denominado: 
 
a) declarações de tipos de documento. 
b) instruções de processamento. 
c) referências a entidades. 
d) elementos. 
e) comentários. 
 
10. (FCC - 2008 – MPE/RS – Analista de Sistemas) Em XML pode-se definir um 
atributo, como informação adicional ao elemento, conforme o exemplo abaixo: 
 
a) <funcionario> <sexo> masculino ... 
b) <funcionario sexo=masculino> ... 
c) <funcionario sexo="masculino"> ... 
d) <funcionario> <sexo> "masculino" ... 
e) <funcionario <sexo>= "masculino"> ... 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 36 
38 
11. (FCC - 2013 – DPE/SP – Analista de Sistemas) Uma das operações mais comuns 
realizadas em documentos XML na web é a leitura de dados por meio de scripts 
JavaScript e a exibição desses dados na tela do navegador em páginas HTML. 
Essa leitura pode ser feita utilizando uma especificação da W3C que define uma 
forma padrão para acessar e manipular documentos, visualizando-os como uma 
estrutura em forma de árvore onde os elementos, seu texto, e seus atributos são 
conhecidos como nós. Além de ler o conteúdo de elementos de um documento 
XML essa especificação define como alterar, adicionar ou apagar elementos. 
 
A especificação definida no texto é conhecida pela sigla: 
 
a) DOM. 
b) JSON. 
c) XSLT. 
d) XPath. 
e) DTD. 
 
12. (VUNESP - 2011 – TJM/SP - Analista de Sistemas) Considere as afirmações sobre 
a formatação de um documento XML. 
 
I. As tags XML são case sensitive. 
II. Documentos XML devem conter um elemento-raiz. 
III. Atributos de valor devem estar entre aspas. 
 
Sobre as afirmações, está correto o contido em 
 
a) I, apenas. 
b) III, apenas. 
c) I e II, apenas. 
d) II e III, apenas. 
e) I, II e III. 
 
13. (ESAF - 2013 – STN - Analista de Sistemas) Assinale a opção correta relativa a 
XML. 
 
a) É uma linguagem de metamodificação. 
b) Especifica um sistema de avaliação de programas por semânticas de acesso. 
c) É uma linguagem de metatransformação. 
d) É uma sintaxe e uma estrutura. 
e) Especifica uma sintaxe e uma semântica. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 37 
38 
 
14. (CESGRANRIO - 2006 – EPE - Analista de Sistemas) Sobre as tecnologias Internet 
são feitas duas afirmativas. 
 
I - Um parser XML pode utilizar um _________ para validar um documento XML. 
_______ , por sua vez, é uma interface baseada em eventos que pode ser utilizada 
para escrever aplicações para ler dados contidos em um documento XML. 
 
II - Arquivos ________ podem ser utilizados para transformar arquivos XML em 
HTML. 
 
Para que as afirmativas acima sejam verdadeiras, as lacunas devem ser 
preenchidas, respectivamente, com: 
 
a) DTD, SAX e XSL. 
b) DTD, XSL e SAX. 
c) SAX, IDL e ORB. 
d) SAX, XSL e ORB. 
e) ORB, IDL e DTD. 
 
15. (CESGRANRIO - 2008 – PETROBRÁS - Analista de Sistemas) Ao ler e processar 
arquivos XML, é interessante considerar o desempenho em duas dimensões: 
tempo e memória. Examine, a seguir, as afirmativas sobre os padrões de 
consumo de memória, tanto no SAX quanto no DOM. 
 
I - O consumo de memória do SAX é uma constante, independente do tamanho 
do documento XML. 
 
II - O consumo de memória de uma implementação DOM depende do tamanho 
do documento XML. 
 
III - SAX sempre consome mais memória do que DOM. 
 
Está(ão) correta(s) a(s) afirmativa(s) 
 
a) I, apenas. 
b) I e II, apenas. 
c) I e III, apenas. 
d) II e III, apenas. 
e) I, II e III. 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira
 
 
 
Inserir aqui o nome do Curso 
www.estrategiaconcursos.com.br 
 38 
38 
 
4 GABARITOS 
4.1 – JSON 
 
1 2 3 4 5 6 7 8 9 10 
A C C 
 
4.2 GABARITO: XML 
1 2 3 4 5 6 7 8 9 10 
B D B A E B C C E C 
11 12 13 14 15 16 17 18 19 20 
A E D A B 
 
 
 
Diego Carvalho, Renato da Costa, Thiago Rodrigues Cavalcanti, Pedro Henrique Chagas Freitas, Raphael Henrique Lacerda
Aula 12 - Profs. Pedro Freitas e Raphael Lacerda
Informática Avançada (TI) p/ Banco do Brasil (Escriturário) - 2021 - Pré-Edital
www.estrategiaconcursos.com.br
1837323
00774823100 - Juliana Souza Ferreira

Continue navegando