Questão 50 · Informática: Programação e algoritmos
Considere o seguinte DTD: <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT a ((w|x)+, (y, z)* )> <!ELEMENT w EMPTY> <!ELEMENT x EMPTY> <!ELEMENT y EMPTY> <!ELEMENT z EMPTY> Assinale a alternativa que mostra um documento XML que pode ser validado com este DTD.
- A) <a><y/><z/></a>
- B) <a><w/><x/><z/><y/></a>
- C) <a><w/><y/><z/><w/></a>
- D) <a><x/><z/><y/></a>
- E) <a><w/><w/><x/><w/></a>
Marque a alternativa correta:
Gabarito: E
Gabarito definitivo divulgado pela banca FGV (SUDENE 2013).
Comentário
Gabarito: E.
O DTD define que o elemento a tem o conteúdo ((w|x)+, (y, z)*): primeiro uma ou mais ocorrências de w ou x, e depois zero ou mais pares sequenciais y, z. A alternativa E é válida: w, w, x, w são somente ocorrências de w e x, em uma ou mais repetições, e não há y nem z.
Por que as outras estão erradas:
- (A) começa com y, mas o primeiro filho deve ser w ou x, pelo menos uma vez.
- (B) traz z e y no final, na ordem invertida exigida pelo par (y, z).
- (C) traz w depois do par y, z, e o DTD não permite w após os pares.
- (D) traz z e y depois de x, na ordem invertida, o que não é válido.
Dica de prova: leia o DTD como uma expressão regular. Os sinais + e * indicam repetição, e a ordem dos elementos importa.
Fundamentos: DTD: modelo de conteúdo com repetição (+ e *) · Validação de documentos XML contra um DTD
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova FGV SUDENE 2013 (Área 3), questão 50, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.