Files
php-doc-ru/reference/xml/functions/xml-parser-set-option.xml
2024-10-25 09:41:08 +03:00

198 lines
7.0 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: 9acfa18973f304f8f2d531f28dd12b12c2b84f8b Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.xml-parser-set-option" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>xml_parser_set_option</refname>
<refpurpose>Установка значения настройки XML-анализатора</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>xml_parser_set_option</methodname>
<methodparam><type>XMLParser</type><parameter>parser</parameter></methodparam>
<methodparam><type>int</type><parameter>option</parameter></methodparam>
<methodparam><type class="union"><type>string</type><type>int</type><type>bool</type></type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
Устанавливает значение настройки XML-анализатора.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>parser</parameter></term>
<listitem>
<para>
Ссылка на XML-анализатор.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>option</parameter></term>
<listitem>
<para>
Какую настройку требуется установить. Смотрите ниже.
</para>
<para>
Доступны следующие настройки:
<table>
<title>Настройки XML-анализатора</title>
<tgroup cols="3">
<thead>
<row>
<entry>Константа</entry>
<entry>Тип данных</entry>
<entry>Описание</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>XML_OPTION_CASE_FOLDING</constant></entry>
<entry>bool</entry>
<entry>
Требуется ли включить <link
linkend="xml.case-folding">case-folding</link> для этого
анализатора. Включено по умолчанию.
</entry>
</row>
<row>
<entry><constant>XML_OPTION_PARSE_HUGE</constant></entry>
<entry>bool</entry>
<entry>
Позволяет разбирать документы размером более 10 МБ.
Настройка должна быть включена только в том случае, если размер документа ограничен,
поскольку в противном случае это может привести к DoS.
Настройка доступна только при использовании libxml2.
</entry>
</row>
<row>
<entry><constant>XML_OPTION_SKIP_TAGSTART</constant></entry>
<entry>integer</entry>
<entry>
Задаёт количество символов с начала имени тега, которые следует
пропустить.
</entry>
</row>
<row>
<entry><constant>XML_OPTION_SKIP_WHITE</constant></entry>
<entry>bool</entry>
<entry>
Требуется ли пропускать значения, состоящие из пробелов.
</entry>
</row>
<row>
<entry><constant>XML_OPTION_TARGET_ENCODING</constant></entry>
<entry>string</entry>
<entry>
Устанавливает <link linkend="xml.encoding">кодировку</link>,
которая будет использоваться XML анализатором. По умолчанию
используется кодировка заданная при вызове функции
<function>xml_parser_create</function>. Поддерживаются кодировки
<literal>ISO-8859-1</literal>, <literal>US-ASCII</literal> и
<literal>UTF-8</literal>.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Новое значение настройки.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает &true; в случае успешного выполнения или &false; в случае возникновения ошибки.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Если в параметр <parameter>option</parameter> передано недопустимое значение,
выбрасывается исключение <classname>ValueError</classname>.
</para>
<para>
До PHP 8.0.0 функция возвращала значение false,
когда отправка в параметр <parameter>option</parameter> недопустимого значения
приводила к ошибке уровня <constant>E_WARNING</constant>,
что и заставляло функцию возвращать логическое значение &false;.
</para>
</refsect1>
<refsect1 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>
Добавлена настройка <constant>XML_OPTION_PARSE_HUGE</constant>.
</entry>
</row>
<row>
<entry>8.3.0</entry>
<entry>
Теперь параметр <parameter>value</parameter> также принимает логические значения.
Настройки <constant>XML_OPTION_CASE_FOLDING</constant> и <constant>XML_OPTION_SKIP_WHITE</constant>
теперь логические.
</entry>
</row>
&xml.changelog.parser-param;
<row>
<entry>8.0.0</entry>
<entry>
Теперь выбрасывается исключение <classname>ValueError</classname>,
если значение параметра <parameter>option</parameter> недопустимо.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
</refentry>
<!-- 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
-->