Files
php-doc-ru/reference/dom/domdocument.xml

487 lines
19 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: d75a54118772b34c7a538962ac5f994900c99690 Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<reference xml:id="class.domdocument" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Класс DOMDocument</title>
<titleabbrev>DOMDocument</titleabbrev>
<partintro>
<!-- {{{ DOMDocument intro -->
<section xml:id="domdocument.intro">
&reftitle.intro;
<para>
Представляет весь HTML- или XML-документ; корень дерева документа.
</para>
</section>
<!-- }}} -->
<section xml:id="domdocument.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis class="class">
<ooclass>
<classname>DOMDocument</classname>
</ooclass>
<ooclass>
<modifier>extends</modifier>
<classname>DOMNode</classname>
</ooclass>
<oointerface>
<modifier>implements</modifier>
<interfacename>DOMParentNode</interfacename>
</oointerface>
<classsynopsisinfo role="comment">&InheritedConstants;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.domnode')/db:partintro/db:section/db:classsynopsis/db:fieldsynopsis[preceding-sibling::db:classsynopsisinfo[1][@role='comment' and text()='&Constants;']]))">
<xi:fallback/>
</xi:include>
<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>readonly</modifier>
<type class="union"><type>DOMDocumentType</type><type>null</type></type>
<varname linkend="domdocument.props.doctype">doctype</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>readonly</modifier>
<type>DOMImplementation</type>
<varname linkend="domdocument.props.implementation">implementation</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>readonly</modifier>
<type class="union"><type>DOMElement</type><type>null</type></type>
<varname linkend="domdocument.props.documentelement">documentElement</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>readonly</modifier>
<type class="union"><type>string</type><type>null</type></type>
<varname linkend="domdocument.props.actualencoding">actualEncoding</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type class="union"><type>string</type><type>null</type></type>
<varname linkend="domdocument.props.encoding">encoding</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>readonly</modifier>
<type class="union"><type>string</type><type>null</type></type>
<varname linkend="domdocument.props.xmlencoding">xmlEncoding</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>bool</type>
<varname linkend="domdocument.props.standalone">standalone</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>bool</type>
<varname linkend="domdocument.props.xmlstandalone">xmlStandalone</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type class="union"><type>string</type><type>null</type></type>
<varname linkend="domdocument.props.version">version</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type class="union"><type>string</type><type>null</type></type>
<varname linkend="domdocument.props.xmlversion">xmlVersion</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>bool</type>
<varname linkend="domdocument.props.stricterrorchecking">strictErrorChecking</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type class="union"><type>string</type><type>null</type></type>
<varname linkend="domdocument.props.documenturi">documentURI</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>readonly</modifier>
<type>mixed</type>
<varname linkend="domdocument.props.config">config</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>bool</type>
<varname linkend="domdocument.props.formatoutput">formatOutput</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>bool</type>
<varname linkend="domdocument.props.validateonparse">validateOnParse</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>bool</type>
<varname linkend="domdocument.props.resolveexternals">resolveExternals</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>bool</type>
<varname linkend="domdocument.props.preservewhitespace">preserveWhiteSpace</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>bool</type>
<varname linkend="domdocument.props.recover">recover</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>bool</type>
<varname linkend="domdocument.props.substituteentities">substituteEntities</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>readonly</modifier>
<type class="union"><type>DOMElement</type><type>null</type></type>
<varname linkend="domdocument.props.firstelementchild">firstElementChild</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>readonly</modifier>
<type class="union"><type>DOMElement</type><type>null</type></type>
<varname linkend="domdocument.props.lastelementchild">lastElementChild</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>readonly</modifier>
<type>int</type>
<varname linkend="domdocument.props.childelementcount">childElementCount</varname>
</fieldsynopsis>
<classsynopsisinfo role="comment">&InheritedProperties;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.domnode')/db:partintro/db:section/db:classsynopsis/db:fieldsynopsis[preceding-sibling::db:classsynopsisinfo[1][@role='comment' and text()='&Properties;']]))">
<xi:fallback/>
</xi:include>
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.domdocument')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[@role='DOMDocument'])">
<xi:fallback/>
</xi:include>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.domdocument')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='DOMDocument'])">
<xi:fallback/>
</xi:include>
<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.domnode')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='DOMNode'])">
<xi:fallback/>
</xi:include>
</classsynopsis>
<!-- }}} -->
</section>
<!-- {{{ DOMDocument properties -->
<section xml:id="domdocument.props">
&reftitle.properties;
<variablelist>
<varlistentry xml:id="domdocument.props.actualencoding">
<term><varname>actualEncoding</varname></term>
<listitem>
<para>
<emphasis>Устарел с PHP 8.4.0</emphasis>.
Кодировка документа — доступный только
для чтения эквивалент свойства <varname linkend="domdocument.props.encoding">encoding</varname>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.childelementcount">
<term><varname>childElementCount</varname></term>
<listitem>
<para>Количество дочерних элементов.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.config">
<term><varname>config</varname></term>
<listitem>
<para>
<emphasis>Устарел с PHP 8.4.0</emphasis>. Конфигурация, которая будет использована при вызове
метода <function>DOMDocument::normalizeDocument</function>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.doctype">
<term><varname>doctype</varname></term>
<listitem>
<para>
Объявление типа документа, которое соответствует этому документу.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.documentelement">
<term><varname>documentElement</varname></term>
<listitem>
<para>
Объект <classname>DOMElement</classname> — первый элемент документа.
Если не найден, оценивается как &null;.
Удобный атрибут, который даёт прямой доступ к дочернему узлу как к
элементу документа. Значение &null;, если не существует.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.documenturi">
<term><varname>documentURI</varname></term>
<listitem>
<para>
Расположение документа или &null;, если оно не определено.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.encoding">
<term><varname>encoding</varname></term>
<listitem>
<para>
Кодировка документа, как указано в объявлении XML. Этого атрибута
нет в последней спецификации DOM Level 3, но он — единственный
способ манипулирования кодировкой XML-документа в этой реализации.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.firstelementchild">
<term><varname>firstElementChild</varname></term>
<listitem>
<para>Первый дочерний элемент или &null;.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.formatoutput">
<term><varname>formatOutput</varname></term>
<listitem>
<para>
Форматирует вывод, добавляя отступы и дополнительные пробелы.
Не работает, если документ был загружен с включённым свойством
<varname linkend="domdocument.props.preservewhitespace">preserveWhitespace</varname>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.implementation">
<term><varname>implementation</varname></term>
<listitem>
<para>
Объект класса <classname>DOMImplementation</classname>, обрабатывающий
этот документ.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.lastelementchild">
<term><varname>lastElementChild</varname></term>
<listitem>
<para>Последний дочерний элемент или &null;.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.preservewhitespace">
<term><varname>preserveWhiteSpace</varname></term>
<listitem>
<para>
Указание не убирать лишние пробелы и отступы. По умолчанию &true;.
Установка этого значения в &false; даёт тот же эффект, что и передача константы <constant>LIBXML_NOBLANKS</constant>
в качестве параметра <parameter>option</parameter> в метод <methodname>DOMDocument::load</methodname> и т. д.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.recover">
<term><varname>recover</varname></term>
<listitem>
<para>
<emphasis>Проприетарное свойство</emphasis>. Включает режим восстановления, то есть
пытается разобрать некорректно составленные (non-well formed) документы. Этот атрибут
не входит в спецификацию DOM и специфичен для модуля libxml.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.resolveexternals">
<term><varname>resolveExternals</varname></term>
<listitem>
<para>
Устанавливают в &true; для загрузки внешних элементов из объявления типа
документа. Полезен при включении элементов с символьными
данными в XML-документ.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.standalone">
<term><varname>standalone</varname></term>
<listitem>
<para>
<emphasis>Устарело</emphasis>. Указание, что документ не зависит от
других XML-документов, как указано в декларации XML, соответствует
свойству <varname linkend="domdocument.props.xmlstandalone">xmlStandalone</varname>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.stricterrorchecking">
<term><varname>strictErrorChecking</varname></term>
<listitem>
<para>
Выбрасывает исключение <classname>DOMException</classname> в случае ошибок.
По умолчанию &true;.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.substituteentities">
<term><varname>substituteEntities</varname></term>
<listitem>
<para>
<emphasis>Патентованное свойство</emphasis>. Указывает, заменять ли
элементы документа. Этот атрибут не
входит в спецификацию DOM и специфичен для модуля libxml. По умолчанию &false;.
</para>
<caution>
<simpara>
Включение подмены сущностей способствует атакам XML External Entity (XXE).
</simpara>
</caution>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.validateonparse">
<term><varname>validateOnParse</varname></term>
<listitem>
<para>
Загружает DTD и проверяет документ на соответствие. По умолчанию
&false;.
</para>
<caution>
<simpara>
Включение проверки DTD способствует атакам XML External Entity (XXE).
</simpara>
</caution>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.version">
<term><varname>version</varname></term>
<listitem>
<para>
<emphasis>Устарело</emphasis>. Версия XML, соответствует
<varname linkend="domdocument.props.xmlversion">xmlVersion</varname>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.xmlencoding">
<term><varname>xmlEncoding</varname></term>
<listitem>
<para>
Атрибут, который определяет, как часть XML-объявления, кодировку документа.
Значение равно &null;, если его не указали, или когда значение
неизвестно, например, когда документ создали в памяти.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.xmlstandalone">
<term><varname>xmlStandalone</varname></term>
<listitem>
<para>
Атрибут, который определяет, как часть XML-объявления, что документ автономный.
Принимает значение &false;, если не указан.
Автономный документ — документ, в котором отсутствуют объявления внешней разметки.
Пример такого объявления разметки — объявление в типе документа DTD
атрибута со значением по умолчанию.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="domdocument.props.xmlversion">
<term><varname>xmlVersion</varname></term>
<listitem>
<para>
Атрибут, который определяет, как часть XML-объявления, номер версии этого документа. Если
объявления в документе нет, но есть поддержка всех особенностей
«XML», значение равно «1.0».
</para>
</listitem>
</varlistentry>
</variablelist>
</section>
<!-- }}} -->
<section role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Атрибут <varname>actualEncoding</varname> и
<varname>config</varname> объявлены устаревшими.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Класс <classname>DOMDocument</classname> теперь реализует
интерфейс <interfacename>DOMParentNode</interfacename>.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Нереализованный метод <methodname>DOMDocument::renameNode</methodname> был удалён.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<!-- {{{ Notes -->
<section role="notes">
&reftitle.notes;
&dom.note.utf8;
&dom.note.json;
</section>
<!-- }}} -->
<!-- {{{ See also -->
<section role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link xlink:href="&url.spec.dom3.document;">Спецификация W3C для интерфейса Document</link></member>
</simplelist>
</para>
</section>
<!-- }}} -->
</partintro>
&reference.dom.entities.domdocument;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->