stringtranslate.com

Colisión de nombres

Una colisión de nombres es una circunstancia en la que dos o más identificadores en un espacio de nombres determinado o un ámbito determinado no pueden resolverse de forma inequívoca , y dicha resolución inequívoca es un requisito del sistema subyacente.

Ejemplo: nombres de elementos XML

En XML , los nombres de los elementos se pueden crear y modificar para reflejar el tipo de información que contiene el documento. Este nivel de flexibilidad puede causar problemas si documentos separados codifican distintos tipos de información, pero utilizan los mismos identificadores para los nombres de los elementos.

Por ejemplo, el siguiente documento de muestra define la semántica básica de un documento de tipo "persona" y de un documento de tipo "libro". Ambos utilizan un elemento de tipo "título", pero el significado no es el mismo:

<root> <person> <fname> Nancy </fname> <lname> Davolio </lname> <title> Dr. </title> <age> 29 </age> </person> <book> <title> Harry Potter y el legado maldito </title> <isbn> ABCD1234567 </isbn> </book> </root>                

Para que una aplicación permita a un usuario consultar y recuperar correctamente el elemento "título", debe proporcionar una forma de especificar de forma inequívoca qué elemento de título se solicita. De lo contrario, se produciría una colisión de nombres en el elemento de título (así como en cualquier otro elemento que comparta esta similitud no deseada).

En el ejemplo anterior, hay suficiente información en la estructura del documento mismo (que está especificada por el elemento "raíz") para proporcionar un medio para resolver de forma inequívoca los nombres de los elementos.

Por ejemplo, usando XPath :

 //root/person/title ;; el título formal de una persona //root/book/title ;; el título de un libro

Dominio de colisión

El término dominio de colisión también puede utilizarse para referirse a un sistema en el que un único nombre o identificador está abierto a múltiples interpretaciones por parte de diferentes capas o procesos. La noción de espacio de nombres ha sido ampliamente adoptada como una práctica de programación de software para evitar conflictos no deseados. Cabe señalar que su uso en el campo de las redes es superficialmente similar, pero bastante diferente en la realidad.

Véase también

Referencias