У меня есть этот код:XML вывод пространства имен в пространстве имен
<st:friend xmlns:st='areacode:819'>
<st:name xmlns:st='urn:555'>Company</st:name>
<type>B</type>
</st:friend>
Может кто-нибудь объяснить мне, почему улица дважды объявлен?
У меня есть этот код:XML вывод пространства имен в пространстве имен
<st:friend xmlns:st='areacode:819'>
<st:name xmlns:st='urn:555'>Company</st:name>
<type>B</type>
</st:friend>
Может кто-нибудь объяснить мне, почему улица дважды объявлен?
Ваш XML-пример плохо сформирован, так как он не закрывает элемент <st:friend>
, но я предполагаю, что вы хотели его закрыть после элемента <type>
.
Что здесь происходит, так это то, что элемент <st:name>
переопределяет, какое пространство имен используется префикс st
(до urn:555
). Это определение относится только к элементу <st:name>
(и оно также относится к дочерним элементам, если они есть). После того, как вы закончите закрывающий тег <st:name/>
, префикс st
снова ссылается на свое исходное пространство имен (areacode:819
).
Спасибо, (Да, я забыл в конце. Но это именно то, что я искал, чтобы понять, урна: 555 идет!
еще раз спасибо @Bruno – baronming