Questão nº 45
Questão de Tecnologia da Informação · CESGRANRIO BASA 01/2018 (nº 45)
Considere o esquema XML a seguir:

Um elemento XML válido, segundo esse esquema, é:
- A`<area><x1>1</x1><y1>1</y1><x2>2</x2><y2>3</y2></area>`
- B`<area x1="1" y1="1" x2="4" y2="5" />`
- C`<rectangle x1="5" y1="4" x2="1" y2="1"/>` (alternativa correta)
- D`<area><x1>4</x1><y1>4</y1><x2>2</x2><y2>3</y2></area>`
- E`<rectangle><x1>1</x1><y1>1</y1><x2>2</x2><y2>3</y2></rectangle>`
Resposta comentada
Gabarito Alternativa C
Conceito-chave: Em XML, um elemento é válido quando respeita as regras do esquema (XSD) que o define. O esquema define o nome do elemento raiz, a ordem dos elementos filhos e os tipos dos atributos. Aqui, o esquema define um elemento raiz chamado <rectangle> com atributos (x1, y1, x2, y2), e não elementos filhos.
- (A) Incorreta: Usa
<area>como raiz, mas o esquema define<rectangle>; além disso, usa elementos filhos (<x1>,<y1>, etc.) em vez de atributos. - (B) Incorreta: Usa
<area>como raiz, mas o esquema define<rectangle>; o conteúdo (atributos) está correto, mas o nome do elemento raiz está errado. - (C) Correta: Usa
<rectangle>como raiz, com os quatro atributos obrigatórios (x1,y1,x2,y2) e valores numéricos, exatamente como o esquema define. - (D) Incorreta: Usa
<area>como raiz e elementos filhos, ignorando tanto o nome do elemento raiz quanto a estrutura de atributos exigida. - (E) Incorreta: Usa
<rectangle>como raiz, mas com elementos filhos (<x1>,<y1>, etc.) em vez de atributos, violando a definição do esquema.
Armadilha da banca (no distrator mais tentador, a letra E): O aluno vê <rectangle> e pensa que está certo, mas esquece que o esquema define atributos (x1="...") e não elementos filhos (<x1>...</x1>). A pegadinha é confundir a estrutura de dados com a sintaxe XML: o esquema manda usar atributos, e a letra E usa elementos, o que a torna inválida.
Fonte: CESGRANRIO BASA 01/2018 Técnico Científico - Área de Formação: Tecnologia da Informação. Reproduzida para fins de estudo.