Пространство имён в XML

Rayzor92

Новичок
Изучаю работу с XML и нашёл такой исходник:
PHP:
<?php
$xml = '<example xmlns:foo="my.foo.urn">
  <foo:a>Apple</foo:a>
  <foo:b>Banana</foo:b>
  <c>Cherry</c>
</example>';

$sxe = new SimpleXMLElement($xml);

$kids = $sxe->children('foo');
var_dump(count($kids));

$kids = $sxe->children('foo', TRUE);
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn');
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn', TRUE);
var_dump(count($kids));

$kids = $sxe->children();
var_dump(count($kids));

$namespaces = $sxe->getDocNamespaces();
var_dump($namespaces);
Я в википедии прочитал основы, что тут объявляется пространство имён xmlns у которого короткая запись foo. Дальше мы типо отделяем элементы им. А почему children('foo'); выводит 0, а children('foo', TRUE) выводит 2?
 

baev

‹°°¬•
Команда форума
Rayzor92, а в мануал заглянуть религия не позволяет?
 

Rayzor92

Новичок
ды я там и смотрел. Второй параметр по умолчанию false. Если он false то какие то ns рассматриваются как префиксы, а если true то как пространство имён. И что это значит? что за ns, что за префиксы?
 
Сверху