2016-10-04 3 views
1

Я понимаю, что пространства имен XML должны быть уникальными, чтобы избежать конфликтов имен/конфликтов для элементов. Но я не понимаю, где именно этот конфликт проверяется? Кто будет проверять/проверять уникальность пространств имен?Кто проверяет, что пространства имен XML уникальны?

Для примера рассмотрим следующий пример, взятый из одной из нитей на переполнение стека:

<config xmlns:rnc="http://www.abcde.com/r1" xmlns:bsc="http//www.pqrs.com/r2"> 
    <rnc:node> 
     <rnc:rncId>5</rnc:rncId> 
    </rnc:node> 

    <bsc:node> 
     <bsc:cId>5</bsc:cId> 
    </bsc:node> 
</config> 

Теперь www.abcde.com и www.pqrs.com составлены URLs, которые не существуют? Итак, кто проверяет/проверяет подлинность? Я могу дать некоторое случайное ключевое слово, и оно все равно будет работать? Так в чем же смысл? Есть ли какой-то центральный репозиторий? Просьба уточнить в условиях неспециалиста.

+1

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

+0

Что произойдет, если я (сидя) в Индии использую URI, и тот же URI используется человеком, сидящим в Великобритании? Где возникнет конфликт? Кто будет проверять, что есть конфликт? Будет ли кто-то в Интернете наблюдать, а затем заключить --- Хорошо, у нас есть конфликт здесь? Это так? – fsociety

+0

Не существует механизма для предотвращения * вредоносного * использования URI других народов. –

ответ

1

An XML namespace name URI need not be retrievable, и нет центральной власти для управления использованием или созданием пространств имен. Существует подразумеваемая норма, что только владелец домена может создавать пространства имен на основе этого домена.


Update для решения вопросов Op в комментариях:

Но я намерен знать, что если 2 человека нехотя, используя те же пространства имен, нет никакого способа, чтобы они знали?

Многие люди могут использовать многие пространства имен без согласования; это точка для пространств имен.

Только владелец домена, на котором основано пространство имен, должно всегда определить пространство имен, использующее этот домен.

Кроме того, я использую одно и то же пространство имен для 2 разных элементов локально, тогда будет возникать конфликт локально?

Не существует внутренней проблемы с наличием разных элементов с тем же пространством имен; на самом деле это довольно часто.

Кто проверил мой XML-файл локально? Есть ли какой-то шаг проверки?

Файлы XML могут быть проверены на предмет XSD, который может определять пространства имен в определении словаря и правила грамматики, которые определяют правильность XML-файла.

+0

Я понимаю, что вы сказали. Но я намереваюсь знать, что если 2 человека неохотно используют одно и то же пространство имен, для них не будет никакого способа узнать? Кроме того, я использую одно и то же пространство имен для 2 разных элементов локально, и возникнет ли конфликт локально? Да? Как? Кто проверил мой XML-файл локально? Есть ли какой-то шаг проверки? – fsociety