<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.simplexmlelement.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'simplexmlelement.registerxpathnamespace.php',
    1 => 'SimpleXMLElement::registerXPathNamespace',
    2 => 'Создаёт префикс/пространство имён контекста для следующего запроса XPath',
  ),
  'up' => 
  array (
    0 => 'class.simplexmlelement.php',
    1 => 'SimpleXMLElement',
  ),
  'prev' => 
  array (
    0 => 'simplexmlelement.next.php',
    1 => 'SimpleXMLElement::next',
  ),
  'next' => 
  array (
    0 => 'simplexmlelement.rewind.php',
    1 => 'SimpleXMLElement::rewind',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/simplexml/simplexmlelement/registerXPathNamespace.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="simplexmlelement.registerxpathnamespace" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">SimpleXMLElement::registerXPathNamespace</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.1.0, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">SimpleXMLElement::registerXPathNamespace</span> &mdash; <span class="dc-title">
   Создаёт префикс/пространство имён контекста для следующего запроса XPath
  </span></p>

 </div>
 <div class="refsect1 description" id="refsect1-simplexmlelement.registerxpathnamespace-description">
  <h3 class="title">Описание</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><strong>SimpleXMLElement::registerXPathNamespace</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$prefix</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$namespace</code></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

  <p class="para rdfs-comment">
   Создаёт префикс/пространство имён контекста для следующего запроса XPath.
   В частности это необходимо, если поставщик данного XML-документа изменяет
   префикс пространства имён. <code class="literal">registerXPathNamespace</code>
   создаст префикс для связанного пространства имён, позволяя получить доступ
   к узлам в этом пространстве имён без необходимости изменения кода, учитывающего
   новые префиксы, предоставленные поставщиком.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-simplexmlelement.registerxpathnamespace-parameters">
  <h3 class="title">Список параметров</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">prefix</code></dt>
     <dd>
      <p class="para">
       Префикс используемого пространства имён в запросе XPath для получения
       пространства имён в <code class="parameter">namespace</code>.
      </p>
     </dd>
    
    
     <dt><code class="parameter">namespace</code></dt>
     <dd>
      <p class="para">
       Используемое пространство имён для запроса XPath. Оно должно
       соответствовать пространству имён в используемом XML-документе
       или запрос XPath, использующий <code class="parameter">prefix</code>
       не даст никаких результатов.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-simplexmlelement.registerxpathnamespace-returnvalues">
  <h3 class="title">Возвращаемые значения</h3>
  <p class="para">
   Функция возвращает <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, если выполнилась успешно, или <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, если возникла ошибка.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-simplexmlelement.registerxpathnamespace-examples">
  <h3 class="title">Примеры</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Пример #1 Установка префикса пространства имён для использования в запросе XPath</strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><pre><code style="color: #000000"><span style="color: #0000BB">&lt;?php

$xml </span><span style="color: #007700">= &lt;&lt;&lt;EOD
</span><span style="color: #DD0000">&lt;book xmlns:chap="http://example.org/chapter-title"&gt;
    &lt;title&gt;My Book&lt;/title&gt;
    &lt;chapter id="1"&gt;
        &lt;chap:title&gt;Chapter 1&lt;/chap:title&gt;
        &lt;para&gt;Donec velit. Nullam eget tellus vitae tortor gravida scelerisque.
            In orci lorem, cursus imperdiet, ultricies non, hendrerit et, orci.
            Nulla facilisi. Nullam velit nisl, laoreet id, condimentum ut,
            ultricies id, mauris.&lt;/para&gt;
    &lt;/chapter&gt;
    &lt;chapter id="2"&gt;
        &lt;chap:title&gt;Chapter 2&lt;/chap:title&gt;
        &lt;para&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin
            gravida. Phasellus tincidunt massa vel urna. Proin adipiscing quam
            vitae odio. Sed dictum. Ut tincidunt lorem ac lorem. Duis eros
            tellus, pharetra id, faucibus eu, dapibus dictum, odio.&lt;/para&gt;
    &lt;/chapter&gt;
&lt;/book&gt;
</span><span style="color: #007700">EOD;

</span><span style="color: #0000BB">$sxe </span><span style="color: #007700">= new </span><span style="color: #0000BB">SimpleXMLElement</span><span style="color: #007700">(</span><span style="color: #0000BB">$xml</span><span style="color: #007700">);

</span><span style="color: #0000BB">$sxe</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">registerXPathNamespace</span><span style="color: #007700">(</span><span style="color: #DD0000">'c'</span><span style="color: #007700">, </span><span style="color: #DD0000">'http://example.org/chapter-title'</span><span style="color: #007700">);
</span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">$sxe</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">xpath</span><span style="color: #007700">(</span><span style="color: #DD0000">'//c:title'</span><span style="color: #007700">);

foreach (</span><span style="color: #0000BB">$result </span><span style="color: #007700">as </span><span style="color: #0000BB">$title</span><span style="color: #007700">) {
  echo </span><span style="color: #0000BB">$title </span><span style="color: #007700">. </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;
}

</span><span style="color: #0000BB">?&gt;</span></code></pre></div>
    </div>

    
<div class="example-contents"><p>
 Результат выполнения приведённого примера:
</p></div>

    <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">Chapter 1
Chapter 2</pre>
</div>
    </div>
    <div class="example-contents"><p>
     Обратите внимание, на то, как в примере XML-документу устанавливается пространство
     имён с префиксом <code class="literal">chap</code>. Представьте, что этот документ
     (или другой похожий) использовал префикс <code class="literal">c</code> в прошлом для одного и того же пространства имён.
     Так как он изменился, запрос XPath больше не вернёт правильных
     результатов, и запрос придётся изменять. Использование
     <code class="literal">registerXPathNamespace</code> позволяет избежать будущих
     модификаций запросов, даже если поставщик изменит префикс пространства имён.
    </p></div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-simplexmlelement.registerxpathnamespace-seealso">
  <h3 class="title">Смотрите также</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="methodname"><a href="simplexmlelement.xpath.php" class="methodname" rel="rdfs-seeAlso">SimpleXMLElement::xpath()</a> - Запускает запрос XPath к XML-данным</span></li>
    <li><span class="methodname"><a href="simplexmlelement.getdocnamespaces.php" class="methodname" rel="rdfs-seeAlso">SimpleXMLElement::getDocNamespaces()</a> - Возвращает пространства имён, объявленные в документе</span></li>
    <li><span class="methodname"><a href="simplexmlelement.getnamespaces.php" class="methodname" rel="rdfs-seeAlso">SimpleXMLElement::getNamespaces()</a> - Возвращает пространства имён, используемые в документе</span></li>
   </ul>
  </p>
 </div>

</div><?php manual_footer($setup); ?>