Для чего <ns0: for? - PullRequest
       10

Для чего <ns0: for?

3 голосов
/ 09 апреля 2010

Я смотрел на этот вопрос: Как удалить дубликаты элементов из файла XML?

Имеет <ns0: для? Я никогда не видел этого раньше.

1 Ответ

13 голосов
/ 09 апреля 2010

Префикс ns0: для имени элемента является ссылкой на (XML) NameSpace .

В этом случае (фрагмент XML, на который вы ссылаетесь в другом вопросе), рассматриваемое пространство имен было определено как: xmlns:ns0="http://TestIndexMap.Employees" ранее в документе.

По сути, с этой строкой строка «ns0» (можно было бы выбрать любую другую строку) ассоциируется с конкретным пространством имен, по-видимому, одной определяющей схемой для сортов данных Employees.
Обратите внимание, что URI ("http://TestIndexMap.Employees") не соответствует действительному сетевому ресурсу сорта . Стандарт XML рекомендует использовать URI для цели идентификация пространств имен, потому что URI контролируются и управляются распределенным и иерархическим образом, предотвращая возможные конфликты, как в случае, если бы мы использовали простые строки, такие как employee_data. однако не стоит ожидать, что базовый URI будет эффективно существовать в качестве онлайн-ресурса.
(Кстати, этот конкретный URI кажется фальшивым, то есть не включает в себя конкретный домен, что делает возможным, хотя и маловероятным, что в какой-то момент этот документ может конфликтовать с другими документами, использующими ту же строку для своего пространства имен).

В двух словах, пространства имен используются ( среди прочего ) для предотвращения возможных конфликтов в именах, используемых в документах XML . Они позволяют, например, для данного документа включать два различных, скажем, <price> элемента или, скажем, closed атрибута, при условии, что один из них имеет префикс с ранее определенным пространством имен (и даже даже без Префикс пространства имен принадлежит пространству имен: по умолчанию).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...