Tecnología

Inicio

Un error "Duplicar Atributo" se ha encontrado durante un XML Parse

XML, un acrónimo de eXtensible Markup Language, puede parecer simple a primera vista, pero XML bien formado debe cumplir con una serie de reglas estrictas. Cuando se violan estas reglas, analizadores XML como MSXML y Jerjes errores del informe de que a menudo confunden a los codificadores que comienzan. Para aquellos que se encuentran con mensajes de error "atributo duplicado", la comprensión de algunos conceptos básicos de codificación ayudarán a ilustrar las diferencias entre los elementos y atributos.

Elementos

Elementos forman la base de XML. Todos los documentos XML contienen un único elemento raíz que comienza con una etiqueta de apertura, seguido de elementos secundarios, y luego se termina por una etiqueta de cierre.

<School>
<CURSO ID = "ENG101" name = "habilidades de escritura básicas">
<NOMBRE DEL ESTUDIANTE = "Jim Smith" />
<NOMBRE DEL ESTUDIANTE = "Mary Jones" />
</ CURSO>
<CURSO ID = "ENG102" name = "Inglés Gramática y Vocabulario" />
</ ESCUELA>

En el ejemplo anterior, el elemento raíz es ESCUELA. El documento comienza con una etiqueta de apertura <School> y termina con una etiqueta de cierre </ ESCUELA>. Dentro de estos elementos son dos elementos supuesto, que puede o no puede contener elementos ESTUDIANTES.

atributos

Una forma de expresar los datos en un archivo XML es mediante la incorporación de atributos dentro de un elemento. Un atributo se coloca después de la etiqueta de apertura mediante un nombre y un par de valores en la forma:

NAME = "valor"

Continuando con el ejemplo, el elemento de curso tiene los atributos de "ID" y "nombre". Mediante la evaluación de los atributos, vemos que la escuela tiene dos cursos, ENG 101 y ENG 102, que se denominan "Básico Habilidades de escritura" y "Gramática Inglés y vocabulario ".

Los atributos duplicados

Una de las reglas de XML "bien formado" es que cada atributo dentro de un elemento debe tener un nombre único. En el ejemplo, un solo estudiante no suele tener varios nombres y un curso no tiene más de un ID. En la vida real, esto puede no ser el caso y el mismo curso puede ser ofrecido por los dos departamentos de la siguiente manera:

<CURSO ID = "ENG101" ID = "COMM103" name = "habilidades de escritura básicas" />

Esto no está permitido en XML, sin embargo. Si dos clases con el mismo nombre necesidad de expresarse, un segundo atributo, como ALT, se puede utilizar en su lugar:

<CURSO ID = "ENG101" ALT = "COMM103" name = "habilidades de escritura básicas" />

Otras formas de expresar los atributos duplicados

XML no permite atributos duplicados, pero sí permitir que varios elementos secundarios con el mismo nombre. En el ejemplo, tanto el curso y los elementos ESTUDIANTES aparecen dos veces en el interior de sus elementos primarios. Usar atributos para describir las características únicas de cada elemento y el uso de elementos secundarios para enumerar los elementos que tienen múltiples ocurrencias. Un curso normalmente tiene un ID y un nombre, pero puede tener muchos estudiantes.