Naming collision
   HOME

TheInfoList



OR:

A naming collision is a circumstance where two or more identifiers in a given namespace or a given
scope Scope or scopes may refer to: People with the surname * Jamie Scope (born 1986), English footballer * John T. Scopes (1900–1970), central figure in the Scopes Trial regarding the teaching of evolution Arts, media, and entertainment * Cinema ...
cannot be unambiguously resolved, and such unambiguous resolution is a requirement of the underlying system.


Example: XML element names

In
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
, element names can be originated and changed to reflect the type of information contained in the document. This level of flexibility may cause problems if separate documents encode different kinds of information, but use the same identifiers for the element names. For example, the following sample document defines the basic semantics for a "person" document and a "book" document. Both of these use a "title" element, but the meaning is not the same: Nancy Davolio Dr. 29 Harry Potter And The Cursed Child ABCD1234567 For an application to allow a user to correctly query for and retrieve the "title" element, it must provide a way to unambiguously specify ''which'' title element is being requested. Failure to do so would give rise to a naming collision on the title element (as well as any other elements that shared this unintended similarity). In the preceding example, there is enough information in the structure of the document itself (which is specified by the "root" element) to provide a means of unambiguously resolving element names. For example, using XPath: //root/person/title ;; the formal title for a person //root/book/title ;; the title of a book


Collision domain

{{Original research, date=September 2007 The term '' collision domain'' may also be used to refer to a system in which a single name or identifier is open to multiple interpretations by different layers or processing. The notion of a namespace has been widely adopted as a
software programming Computer programming is the process of performing a particular computation (or more generally, accomplishing a specific computing result), usually by designing and building an executable computer program. Programming involves tasks such as an ...
practice to avert undesired clashes. Note that its use in the networking field is superficially similar, but quite different in reality.


See also

* Name collision * Namespace * XML Namespaces * Delimiter collision


References

Programming constructs