2010-06-20 3 views
1

Я изучаю xml и xml processing.I не мог понять существование пространства имен хорошо.Необходимо пространство имен XML?

Я узнал, что пространство имён помогает нам разделять одинаковые именованные элементы в xml. Не будем ли мы различать элементы атрибутами с таким же именем? Почему пространство имен важно или требуется?

Я хочу привести пример:

<persons> 
    <person></person> 
    <s:person xmlns:s="student"></s:person> 
    <person type="student"></person> 
</persons> 

Первого человек нормальное использование element.Second имена и третий атрибут типа использования. не можем ли мы использовать третий, а не второй?

ответ

0

Разница между использованием атрибута и пространства имен связана с семантикой. В вашем примере ученик является подклассом человека. Что делать, если вы использовали тег table? Таблица базы данных и деревянная таблица не являются подклассами одной и той же общей таблицы - это совершенно разные понятия, поэтому имеет смысл использовать разные пространства имен.

Конечно, если это ваше собственное приложение, то нет, пространства имен не требуется, но если вы используете XML другого приложения, и они их XML разделяет пространства имен, то вам нужно пространство имен тоже

Посмотрите на XML Namespaces на W3Schools для получения дополнительной информации.

+0

Я уже учился у W3Schools – Freshblood

+0

Ученик - это подкласс человека или человека? – Freshblood

+0

Студент - это тип человека, но таблица базы данных не является типом деревянного стола - это разные вещи. – Skilldrick

4

Удостоверьтесь, что вы можете различать свои объекты и их атрибуты с разными именами - если вы полностью и полностью контролируете все свои данные XML!

Но учтите следующее: вам необходимо интегрироваться со сторонними веб-службами или интерфейсом данных, который отправляет вам данные в XML. Что делать, если этот веб-сервис или этот интерфейс данных также реализует <Person>? Как вы сохраняете свой собственный тип персоны отдельно от потенциально совершенно другого типа лица, реализованного третьей стороной?

Это идея пространств имен XML - и поэтому крайне важно сделать их глобально уникальными, что приводит к практике использования имён имен доменов (URI), поскольку домен «google.com» определенно будет только когда-либо есть один раз - глобально.

+1

+1 Это может быть наиболее полезным объяснением пространств имен XML, с которыми я когда-либо сталкивался. – JYelton

Смежные вопросы