Pular para o conteúdo principal

Questão de Programação — Linguagens de marcação — Quadrix 2023

ProgramaçãoLinguagens de marcação
Código
qg029826
Banca
Quadrix
Órgão
CRQ 4ª Região-SP
Ano
2023
Nível
Superior
Cargo
Profissionais de Atividade de Suporte - Analista de Sistemas (Programação)
Imagem da questão
Acerca da linguagem XML, da linguagem HTML e dos conceitos de DMZ e IDS, julgue o item.Na linguagem XML, o comando CDATA é utilizado para declarar uma entidade externa.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

XML: CDATA e entidades externas

Gabarito: ERRADO. Na linguagem XML, o comando CDATA é utilizado para declarar seções de texto que não devem ser interpretadas como marcação, ou seja, para incluir dados que podem conter caracteres especiais como < e & sem que sejam processados como tags ou entidades. Ele não tem relação com a declaração de entidades externas, que é feita por meio da declaração <!ENTITY ... SYSTEM ...> no DTD (Document Type Definition). Portanto, a afirmação está incorreta.

O XML (eXtensible Markup Language) é uma linguagem de marcação derivada da SGML, criada para estruturar dados de forma hierárquica e portável entre diferentes sistemas. Dentro de um documento XML, existem diversos componentes que desempenham funções específicas, e é comum que os candidatos confundam esses elementos, especialmente quando se trata de CDATA, entidades e DTD.

A seção CDATA (Character Data) é um bloco de texto que o parser XML deve ignorar como marcação. Isso significa que, dentro de uma seção CDATA, os caracteres <, >, &, ' e " podem ser usados livremente, sem a necessidade de serem escapados como entidades. A sintaxe é ![CDATA[ ... ]]. Por exemplo, se você quiser incluir um trecho de código HTML dentro de um documento XML, pode envolvê-lo em uma seção CDATA para que os sinais de < e > não sejam interpretados como tags XML.

Por outro lado, as entidades em XML são usadas para representar caracteres especiais ou para referenciar conteúdo externo. Existem entidades predefinidas, como &lt; para <, &gt; para >, &amp; para &, &apos; para ' e &quot; para ". Além disso, é possível declarar entidades personalizadas no DTD, incluindo entidades externas, que referenciam conteúdo de arquivos externos ou URLs. A declaração de uma entidade externa é feita com a sintaxe <!ENTITY nome SYSTEM "uri">.

A confusão entre CDATA e entidades externas é uma pegadinha clássica em provas de informática. A banca tenta fazer o candidato acreditar que CDATA é usado para declarar entidades externas, quando na verdade ele é apenas um mecanismo para incluir texto literal sem interpretação de marcação. É importante distinguir claramente esses conceitos para não cair nessa armadilha.

Na prática, quando você precisa incluir dados que contêm caracteres especiais, você tem duas opções: usar entidades (como &lt; para <) ou usar uma seção CDATA. A escolha depende do contexto e da necessidade de legibilidade. Já para referenciar conteúdo externo, como um arquivo de texto ou uma imagem, você deve usar entidades externas, que são declaradas no DTD.

Portanto, a afirmação de que "o comando CDATA é utilizado para declarar uma entidade externa" está incorreta. O CDATA é usado para incluir texto literal, enquanto a declaração de entidades externas é feita com <!ENTITY ... SYSTEM ...> no DTD.

Item — ❌ ERRADO

A afirmação está incorreta porque CDATA não é um comando para declarar entidades externas. CDATA é uma seção que permite incluir texto literal sem interpretação de marcação, enquanto entidades externas são declaradas no DTD com a sintaxe <!ENTITY nome SYSTEM "uri">. A banca explora a confusão entre esses dois conceitos distintos do XML.

NÃO CAIA NESSA!

A banca troca a função do CDATA pela função de declaração de entidades externas. Lembre-se: CDATA é para texto literal, e entidades externas são declaradas no DTD com <!ENTITY ... SYSTEM ...>. Com treino, você identifica essa troca rapidamente.

Gabarito: ERRADO

Link permanente: /questoes/qg029826