O formato XML define apenas regras de escrita, e não uma gramática específica, mas a especificação de uma linguagem ou serviço exige um domínio formal. Uma característica da especificação de gramáticas e tipos para XML é a de que:
- A)um elemento do tipo DTD tem a vantagem de ser criado no formato XML;
Errada, porque DTD nao tem formato XML; ele usa uma sintaxe propria de declaracao.
- B)ao trabalhar com XML Schema, os atributos de um elemento são definidos por meio de ATTLIST;
Errada, porque ATTLIST e parte de DTD, nao de XML Schema, que define atributos por elementos e tipos XML.
- C)o uso de namespaces permite que diferentes elementos do tipo XML Schema sejam combinados no mesmo documento;
Certa, porque namespaces permitem combinar diferentes vocabulários XML e esquemas no mesmo documento sem conflito de nomes.
- D)a definição de um tipo complexo, em um elemento do tipo DTD, é iniciada com xs:complexType;
Errada, porque xs:complexType e do XML Schema, nao de DTD.
- E)a utilização de XML Schema em um documento ocorre por meio da declaração DOCTYPE.
Errada, porque DOCTYPE e relacionado a DTD, enquanto XML Schema e associado a elementos como xsi:schemaLocation.
Gabarito: C
XML, por si só, e só uma forma de estruturar dados com regras de escrita. Ele nao traz uma gramática fechada para dizer exatamente quais elementos podem aparecer, em que ordem e com quais atributos. Por isso, quando voce precisa padronizar melhor um documento XML, entram as especificações de gramática e tipos, como DTD e XML Schema. O DTD é a solução mais antiga e simples. Ele define a estrutura do documento com regras proprias, mas nao usa sintaxe XML. Ja o XML Schema e mais moderno, mais rico e, principalmente, escrito em XML. Isso permite validar tipos de dados, definir restricoes e trabalhar melhor com nomes de elementos e atributos. O ponto central da questao e que os namespaces servem para evitar conflito entre nomes e permitir combinacao de diferentes vocabularios XML no mesmo documento. No caso de XML Schema, isso e muito importante porque voce pode mesclar definicoes vindas de esquemas distintos sem confundir elementos que tenham nomes parecidos. Daí o gabarito ser a letra C. As outras alternativas tentam misturar conceitos: DTD nao e criado em XML, ATTLIST e comando de DTD, xs:complexType pertence ao XML Schema, e DOCTYPE e usado com DTD, nao para declarar XML Schema. Em prova, a banca gosta muito dessa troca de etiquetas: ela pega um termo de um padrao e encaixa no outro para ver se voce esta distraido.