Analise o código XML a seguir:<?xml version="1.0" encodin...
Analise o código XML a seguir:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE dados[
<!ELEMENT dados (empregado+)>
<!ELEMENT empregado (nome,telefone*,estado?)>
<!ELEMENT nome (#PCDATA)>
<!ATTLIST nome codigo CDATA #REQUIRED>
<!ATTLIST nome sexo CDATA "Masculino">
<!ELEMENT telefone (#PCDATA)>
<!ATTLIST telefone ramal CDATA #IMPLIED>
<!ELEMENT estado (#PCDATA)>
<!ATTLIST estado cidade CDATA #FIXED "Bauru">
]>
<dados>
<empregado>
<nome codigo="1" sexo="Feminino">Maria Clara</nome>
<telefone>3221-5647</telefone>
<telefone>4567-4589</telefone>
<estado cidade="Votuporanga">São Paulo</estado>
</empregado>
<empregado>
<nome codigo="2">Ana Luiza</nome>
<estado cidade="Bauru">São Paulo</estado>
</empregado>
</dados>
Sobre esse código é correto afirmar que
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: B
A questão aborda o tema de validação de documentos XML (eXtensible Markup Language) com o uso de DTD (Document Type Definition). Para resolver essa questão, é necessário compreender a sintaxe do DTD e como ela define a estrutura e as regras que os elementos e atributos no XML devem seguir. O entendimento sobre o que significa cada declaração no DTD é crucial para determinar a validade do documento XML apresentado.
A alternativa correta é a B, que afirma que o documento não é válido porque o atributo cidade do elemento estado deve conter obrigatoriamente o valor "Bauru", como definido pela declaração . Entretanto, no primeiro elemento empregado, o valor de cidade é "Votuporanga", o que não está conforme a regra fixada no DTD.
É importante notar que o asterisco (*) no DTD indica que o elemento pode aparecer zero ou mais vezes, tornando a alternativa A incorreta. A alternativa C também é incorreta porque o asterisco permite múltiplas ocorrências do elemento telefone. A alternativa D está incorreta porque o documento XML não segue as regras indicadas pela DTD. Por fim, a alternativa E é falsa, pois o uso de #IMPLIED em indica que o atributo ramal é opcional, e não obrigatório.
Esses conhecimentos são fundamentais para profissionais que trabalham com XML, pois garantem a correta estruturação e validação dos dados, que são essenciais em diversas aplicações, incluindo a web, configurações de software, intercâmbio de dados entre sistemas, entre outros.
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
- #IMPLIED Use the #IMPLIED keyword if you don't want to force the author to include an attribute, and you don't have an option for a default value.
- #REQUIRED Use the #REQUIRED keyword if you don't have an option for a default value, but still want to force the attribute to be present.
- #FIXED Use the #FIXED keyword when you want an attribute to have a fixed value without allowing the author to change it. If an author includes another value, the XML parser will return an error.
A = *, Pode ou não aparecer MUITAS VEZES
C = *, Telefone Pode ou não aparecer MUITAS VEZES
D = Não é válido, <!ATTLIST estado cidade CDATA #FIXED "Bauru">
E = #IMPLIED = PODE OU NÃO APARECER
GABARITO B
<!ATTLIST estado cidade CDATA #FIXED "Bauru">
Valor Default é BAURU e não esse nome esquisito.
#REQUIRED : O atributo DEVE ser declarado no elemento, mas não há um valor padrão pré-definido.
#IMPLIED : O atributo PODE ser declarado no elemento, mas não é obrigatório.
#FIXED: O atributo só pode assumir o valor declarado entre aspas, e não pode ser alterado.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo