Considere a seguinte definição de esquema para XML (XSD).&lt...

Próximas questões
Com base no mesmo assunto
Q1836564 Programação
Considere a seguinte definição de esquema para XML (XSD). <?xml version="1.0" encoding="UTF-8" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/ XMLSchema"> <xs:element name="quitanda">   <xs:complexType>     <xs:sequence>       <xs:element name="fruta" maxOccurs="1">         <xs:complexType>           <xs:sequence>             <xs:element name="codigo">               <xs:simpleType>                 <xs:restriction base="xs:string">                   <xs:length value="3"/>                 </xs:restriction>               </xs:simpleType>             </xs:element>           <xs:element name="nome" type="xs:                string"/>           <xs:element name="valor" type="xs:                integer"/>         </xs:sequence>        </xs:complexType>        </xs:element>       </xs:sequence>     </xs:complexType>    </xs:element> </xs:schema> O XML que será validado por esse esquema é:
Alternativas

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 de fruta deve ser uma string de exatamente três caracteres (<xs:length value="3"/>).
  • O elemento nome é do tipo string e o elemento valor é 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