Considere a seguinte definição de esquema para XML (XSD).<...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a D. Para entender o porquê dessa ser a resposta certa, vamos primeiro discutir o tema central da questão, que é a validação de um documento XML com base em um esquema definido em XSD (XML Schema Definition).
O XSD é uma especificação usada para definir a estrutura e as regras de validação de um documento XML. Ele estabelece, por exemplo, quais elementos e atributos podem aparecer em um documento, a sequência e quantidade de ocorrência dos elementos, os tipos de dados dos elementos e atributos, entre outras restrições.
Para resolver essa questão, é necessário entender a estrutura do esquema XSD apresentado e, a partir dela, determinar qual das alternativas de XML corresponde corretamente à definição do esquema. As regras importantes a considerar aqui são:
- O elemento
fruta
deve ocorrer apenas uma vez (maxOccurs="1"
). - O elemento
codigo
dentro defruta
deve ser uma string de exatamente três caracteres (<xs:length value="3"/>
). - O elemento
nome
é do tipo string e o elementovalor
é do tipo integer.
Agora, vamos justificar porque a alternativa D é a correta:
<quitanda>
<fruta>
<codigo>123</codigo>
<nome>Abacaxi</nome>
<valor>10</valor>
</fruta>
</quitanda>
Nessa alternativa, o elemento fruta
ocorre uma única vez, o que está de acordo com o esquema. O codigo
contém exatamente três caracteres, o que também está em conformidade com o XSD. Além disso, os tipos de dados para nome
(string) e valor
(integer) estão corretos e respeitam as definições do esquema.
As outras alternativas falham em um ou mais desses critérios, o que as torna incorretas. Por exemplo, a alternativa A tem um código com apenas dois dígitos, a B tem um valor com decimais, o que não é permitido para o tipo integer, a C usa atributos em vez de elementos para o código, o que não corresponde ao esquema, e a E tem dois elementos fruta
, contrariando o maxOccurs="1"
do esquema.
Portanto, com base nessas informações, a resposta correta é a alternativa D.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
a) <codigo> deve possuir tamanho 3 (<xs:length value="3"/>)
b) O elemento <valor> é inteiro (type="xs:integer")
c) "codigo" é um elemento, não um atributo (xs:element name="codigo")
d) GAB
e) O número máximo de ocorrência de frutas é 1 (maxOccurs="1")
Formatação lixo kkkkkkkkk
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo