Jump to content

Столкновение имен

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

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

[ редактировать ]

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

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

<root>
    <person>
        <fname>Nancy</fname>
        <lname>Davolio</lname>
        <title>Dr.</title>
        <age>29</age>
    </person>
    
    <book>
        <title>Harry Potter And The Cursed Child</title>
        <isbn>ABCD1234567</isbn>
    </book>
</root>

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

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

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

   //root/person/title          ;; the formal title for a person
   //root/book/title            ;; the title of a book

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

[ редактировать ]

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

См. также

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a1de4dc2e35e333f4a5bee0ae9f39e64__1651862460
URL1:https://arc.ask3.ru/arc/aa/a1/64/a1de4dc2e35e333f4a5bee0ae9f39e64.html
Заголовок, (Title) документа по адресу, URL1:
Naming collision - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)