Questão nº 52

Questão de Tecnologia da Informação · CESGRANRIO BASA 01/2024 (nº 52)

CESGRANRIO2024Técnico Científico - Área de Formação: Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Cver comentário ↓

Um grande banco estabeleceu um novo canal de comunicação com os clientes via um app de mensagens instantâneas para smartphone. Esse app irá interagir com um software de resposta automática já existente por mensagens em XML.
Cada mensagem enviada ao software já existente terá o formato do seguinte exemplo:

```xml
<MENSAGEM>
<NOME>Nome do Cliente</NOME>
<AGENCIA>9999-9</AGENCIA>
<CONTA>9999-9</CONTA>
<CPF>999.999.999-99</CPF>
<TEXTO>Esse é um exemplo de mensagem</TEXTO>
</MENSAGEM>
```

Qual esquema XSD define corretamente a estrutura dessa mensagem?

Resposta comentada

Gabarito Alternativa C

Conceito-chave: XSD (XML Schema Definition) é a forma padrão de definir a estrutura de um documento XML, usando tags como <xsd:element> e <xsd:complexType>. Diferente do DTD (que usa uma sintaxe antiga e separada), o XSD é escrito em XML e permite especificar tipos de dados (como string ou integer).

  • (A) Incorreta: Esta é a sintaxe de um DTD (Document Type Definition), não de um XSD. Faltam as tags <xsd:schema>, <xsd:complexType> e <xsd:sequence>, que são obrigatórias em um esquema XSD.
  • (B) Incorreta: Também é um DTD, mas envolvido em um <!DOCTYPE> (que é usado para declarações internas em um documento XML, não para definir um esquema XSD). A banca usa isso como distrator para quem confunde DTD com XSD.
  • (C) Correta: Este é o XSD correto. Define o elemento raiz MENSAGEM como um complexType (porque contém elementos filhos), usa <xsd:sequence> para indicar que os elementos devem aparecer na ordem exata, e declara todos os 5 elementos como xsd:string (texto), que é o tipo adequado para dados como agência, conta e CPF (que contêm hífens e pontos, não são números puros).
  • (D) Incorreta: A armadilha aqui é o tipo xsd:integer para AGENCIA, CONTA e CPF. Esses campos contêm caracteres como - e . (ex: "9999-9", "999.999.999-99"), que não são válidos como inteiros. A banca tenta induzir ao erro de achar que "número" = integer, mas o correto é string.
  • (E) Incorreta: Além de usar xsd:integer incorretamente (mesmo erro da D), falta o <xsd:complexType> dentro do elemento MENSAGEM. Sem ele, o XSD é inválido, pois um elemento com filhos deve ser declarado como complexType.

Fonte: CESGRANRIO BASA 01/2024 Técnico Científico - Área de Formação: Tecnologia da Informação (Caderno Prova B). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho