SóProvas


ID
1459843
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2012
Provas
Disciplina
Programação
Assuntos

Solicitado a preparar um arquivo de teste em XML para um sistema de controle de pedidos de uma distribuidora de petróleo, um analista de sistemas gerou o seguinte documento:

< ? xml version="1.0" encoding="UTF-8"? >
< ! DOCTYPE cliente SYSTEM "C:\postos.dtd" >
< cliente >
         < posto >
                     < cnpj >
                     53.726.891/0001-24
< /cnpj >
                     < pedidos >
                                  < pedido >
                                          < produto >
                                 Gasolina
< /produto >
                                          < quantidade >
                                 10.000
< /quantidade >
                                 < /pedido >
                                 < pedido >
                                          < produto >
                                 Gasolina
< /produto >
                                 < /pedido >
                     < /pedidos >
         < /posto >
< /cliente >

Considere o DTD abaixo, salvo no arquivo C:\postos.dtd.

< ? xml version="1.0" encoding="UTF-8"? >
< ! ELEMENT quantidade (#PCDATA) >
< ! ELEMENT produto (#PCDATA) >
< ! ELEMENT posto (cnpj,pedidos*) >
< ! ELEMENT pedidos (pedido*) >
< ! ELEMENT pedido (produto, quantidade)m>
< ! ELEMENT cnpj (#PCDATA) >
< ! ELEMENT cliente (posto) >

O arquivo preparado pelo analista está em

Alternativas
Comentários
  • Não é válido pois no segundo pedido, não está descrito a quantidade do produto desde pedido.
  • Alternativa correta: C.

    .

    .

    < ! ELEMENT pedido (produto, quantidade)m>

    // a linha acima do DTD determina que o elemento pedido deve conter os elementos "produto" e "quantidade", nessa ordem

    .

    < pedido > < produto > Gasolina < /produto

    < quantidade > 10.000 < /quantidade > < /pedido > 

    // até aqui tudo bem, tem os elementos produto e quantidade definidos

    .

    < pedido > < produto > Gasolina < /produto >

    < /pedido >

    // essa parte não tem o elemento quantidade, por isso não encontra-se válido

    .

    Por isso, embora o XML seja bem-formado, ele não é válido de acordo com o seu DTD.