WikiDer > Коллизия имен

Naming collision

А коллизия имен это обстоятельство, когда два или более идентификаторы в данном пространство имен или данный объем не может быть однозначно решено, и такое однозначное разрешение является требованием базовой системы.

Пример: имена элементов XML

В XMLимена элементов могут быть созданы и изменены для отражения типа информации, содержащейся в документе. Такой уровень гибкости может вызвать проблемы, если отдельные документы кодируют разные виды информации, но используют одни и те же идентификаторы для имен элементов.

Например, следующий образец документа определяет базовую семантику для документа «человек» и документа «книга». Оба они используют элемент «title», но значение не одно и то же:

<root>    <person>        <fname>Нэнси</fname>        <lname>Даволио</lname>        <title>Доктор</title>        <age>29</age>    </person>        <book>        <title>РС.</title>        <isbn>ABCD1234567</isbn>    </book></root>

Чтобы приложение позволяло пользователю правильно запрашивать и извлекать элемент "title", оно должно предоставлять способ однозначно указать который элемент заголовка запрашивается. Несоблюдение этого правила приведет к конфликту имен в элементе заголовка (а также в любых других элементах, которые разделяют это непреднамеренное сходство).

В предыдущем примере в структуре самого документа (которая определяется «корневым» элементом) достаточно информации, чтобы обеспечить средства однозначного разрешения имен элементов.

Например, используя XPath:

   // root / person / title ;; формальное название человека // root / book / title ;; название книги

Домен коллизии

Период, термин область столкновения может также использоваться для обозначения системы, в которой одно имя или идентификатор открыты для множественной интерпретации различными уровнями или обработкой. Понятие о пространство имен получил широкое распространение как программное обеспечение практика для предотвращения нежелательных столкновений.

Смотрите также

использованная литература