diff --git a/language-snippets.ent b/language-snippets.ent
index 709eee81e..b18605d57 100644
--- a/language-snippets.ent
+++ b/language-snippets.ent
@@ -1,6 +1,6 @@
-
+
@@ -353,6 +353,16 @@ xmlns="http://docbook.org/ns/docbook">此函数自 PHP 8.2.0
起弃用。强烈建议不要应用此函数。'>
+本特性已自 PHP 8.3.0
+起废弃。强烈建议不要使用本特性。'>
+
+
+此函数自 PHP 8.3.0
+起弃用。强烈建议不要应用此函数。'>
+
+
将肯定会在未来被移除。'>
@@ -1571,6 +1581,11 @@ It is strongly recommended to avoid timezone abbreviations.
]]>'>
+
+
+ Bitwise OR
+ of the libxml option constants.
+'>
@@ -2521,10 +2536,10 @@ PHP 5.1.0 或 PHP 5.0 的特别修补版本,并需启用线程安全。更多
此扩展需要
-libxml PHP 扩展。这表示需要使用
-,或在 PHP 7.4 之前的版本中使用
+libxml PHP 扩展。这意味着需要传递
+,或在 PHP 7.4 之前的版本中传递
,
-尽管这将隐式完成因为 libxml 是缺省开启的。
+尽管这将默默完成因为 libxml 是默认开启的。
'>
@@ -4243,6 +4258,36 @@ xmlns="http://docbook.org/ns/docbook">This function has been
REMOVED in PECL uopz 5.0.0.'>
+
+ parser
+
+
+ XML 解析器。
+
+
+'>
+
+
+ 如果传递 &null; 或空字符串,处理程序将重置为其默认状态。
+
+
+ 如果 handler 是 callable,设置的 callable 将作为处理程序。
+
+
+ 如果 handler 是 string,它可以是 xml_set_object
+ 设置的对象的方法名称。
+'>
+
+
+
+
+ parser
+
+
+ XML 解析器调用的处理程序。
+
+
+'>
8.0.0
diff --git a/reference/xml/book.xml b/reference/xml/book.xml
index 427325d34..c71397bc8 100644
--- a/reference/xml/book.xml
+++ b/reference/xml/book.xml
@@ -9,22 +9,20 @@
&reftitle.intro;
- XML(可扩展标记语言,eXtensible Markup Language)是一种在互联网上用于结构化文档交互的数据格式。
- 它是互联网协会(W3C)定义的一个标准。与 XML 及其相关技术的信息可访问
+ XML(可扩展标记语言,英文:eXtensible Markup Language)是一种在互联网上用于结构化文档交互的数据格式。
+ 它是互联网协会(W3C)定义的标准。与 XML 及其相关技术的信息可访问
&url.xml;。
此 PHP 扩展实现支持 James Clark 使用 PHP 编写的
- expat。
- 此工具包可解析(但不能验证)XML 文档。它支持 PHP 所提供的 3 种字符编码:
- US-ASCII、ISO-8859-1 和 UTF-8。不支持 UTF-16。
+ expat。此工具包可解析(但不能验证)XML 文档。它支持 PHP 所提供的 3
+ 种字符编码:US-ASCII、ISO-8859-1
+ 和 UTF-8。不支持 UTF-16。
- 此扩展可
- 创建 XML 解析器
- 并为不同的 XML 事件定义 处理程序(handler)。
- 每个 XML 解析器还存在少数可以调节的
- 参数。
+ 此扩展可创建 XML 解析器并为不同的 XML
+ 事件定义 处理程序。每个 XML 解析器还存在少数可以调节的参数。
diff --git a/reference/xml/case-folding.xml b/reference/xml/case-folding.xml
index a267159e9..b29e374f7 100644
--- a/reference/xml/case-folding.xml
+++ b/reference/xml/case-folding.xml
@@ -2,10 +2,10 @@
- Case Folding(大写转换)
+ 大写转换
- 元素处理函数可取得元素名称转换为 case-folded(大写字母)形式。
- Case-folding 被定义为“将非大写字母替换为相对应的大写字母的字符串操作”。换句话说,在
+ 元素处理函数可取得元素名称转换为 case-folded(大写字母)形式。定义
+ Case-folding 为“将非大写字母替换为相对应的大写字母的字符串操作”。换句话说,在
XML 中,case-folding 就是转换为大写。
diff --git a/reference/xml/encoding.xml b/reference/xml/encoding.xml
index 6db15057b..f361c04b0 100644
--- a/reference/xml/encoding.xml
+++ b/reference/xml/encoding.xml
@@ -17,16 +17,14 @@
21)的位(bit), 编码为 1 到 4 个字节。PHP 使用的默认原始编码是 ISO-8859-1。
- 当 PHP 将数据传给 XML 处理函数时,目标编码就完成了。
- 在创建 XML 解析器时,目标编码被设定为与原始编码相同,但可任意修改。
- 目标编码会影响字符数据及标签名,与处理指令目标。
+ 当 PHP 将数据传给 XML 处理函数时,目标编码就完成了。在创建 XML
+ 解析器时,目标编码被设定为与原始编码相同,但可任意修改。目标编码会影响字符数据及标签名,与处理指令目标。
如 XML 解析器遇到原始编码所能表示的范围之外的字符时,会返回一个错误。
- 如 PHP 遇到在被解析的 XML 文档中不能用所指定的目标编码表示的字符时,
- 这个问题字符会被“降级”。通常来说,就是那些字符会被替换成问号(?)。
+ 如 PHP 遇到在被解析的 XML 文档中不能用所指定的目标编码表示的字符时,这个问题字符会被“降级”。通常来说,就是那些字符会被替换成问号(?)。
diff --git a/reference/xml/eventhandlers.xml b/reference/xml/eventhandlers.xml
index 2f3e82dc5..d04e595bd 100644
--- a/reference/xml/eventhandlers.xml
+++ b/reference/xml/eventhandlers.xml
@@ -18,8 +18,7 @@
xml_set_element_handler
- 当 XML 解析器遇到开始或结束标签时,会触发元素事件。
- 开始标签和结束标签有不同的处理程序。
+ 当 XML 解析器遇到开始或结束标签时,会触发元素事件。开始标签和结束标签有不同的处理程序。
@@ -27,8 +26,8 @@
xml_set_character_data_handler
- 字符数据范指 XML 文档中所有非标记的内容,包括标签之间的空格。
- 注意,XML 解析器不会添加或删除任何空格,由应用程序(你)来判断空格是否有意义。
+ 字符数据范指 XML 文档中所有非标记的内容,包括标签之间的空格。注意,XML
+ 解析器不会添加或删除任何空格,由应用程序(你)来判断空格是否有意义。
@@ -36,17 +35,14 @@
xml_set_processing_instruction_handler
- PHP 程序员必须熟练掌握处理指令(PI)。<?php ?>是处理指令,
- 其中php被称为“处理指令对象”。
- 除所有以“XML”开头的处理指令对象是系统保留的外,
- 其他的处理函数均是由应用程序指定的。
+ PHP 程序员必须熟练掌握处理指令(PI)。<?php ?>是处理指令,其中 php
+ 被称为“处理指令对象”。除所有以“XML”开头的处理指令对象是系统保留的外,其他的处理函数均是由应用程序指定的。
xml_set_default_handler
- 不执行其他处理函数,则会执行缺省的处理函数。
- 在缺省的处理函数中可取得如 XML 和文档类型声明等信息。
+ 不执行其他处理函数,则会执行默认的处理函数。在默认的处理函数中可取得如 XML 和文档类型声明等信息。
@@ -88,7 +84,7 @@
xml_set_end_namespace_decl_handler
- 在命名空间声明的结束处调用此处理程序。请注意,此事件不是由 not 触发的。
+ 在命名空间声明的结束处调用此处理程序。请注意,此事件不是由 libXML 触发的。
diff --git a/reference/xml/examples.xml b/reference/xml/examples.xml
index ec95fddda..16ccb3a7e 100644
--- a/reference/xml/examples.xml
+++ b/reference/xml/examples.xml
@@ -59,9 +59,9 @@ xml_parser_free($xml_parser);
将 XML 映射为 HTML
- 此示例直接地将 XML 标签映射为 HTML 标签。
- 在“map_array”中未找到的元素将被忽略。
- 当然,此示例只针对特定的 XML 文档类型起作用。
+ 此示例直接地将 XML 标签映射为 HTML
+ 标签。在“map_array”中未找到的元素将被忽略。当然,此示例只针对特定的
+ XML 文档类型起作用。
XML 外部实体示例
- 此示例用于加亮 XML 代码。举例说明如何使用外部实体引用来包含和解析其他文档,
- 及处理指令是如何被处理的,及判断处理指令所包含代码是否“可信任”的一种方法
+ 此示例用于加亮 XML 代码。举例说明如何使用外部实体引用来包含和解析其他文档,及处理指令是如何被处理的,及判断处理指令所包含代码是否“可信任”的一种方法
- 用于此示例的 XML 文档位于此示例的下方(xmltest.xml 和
- xmltest2.xml)。
+ 用于此示例的 XML 文档位于此示例的下方(xmltest.xml 和
+ xmltest2.xml)。
@@ -299,7 +298,7 @@ xml_parser_free($xml_parser);
- 此文件包含在 xmltest.xml 中:
+ 此文件包含在 xmltest.xml 中:
xmltest2.xml
diff --git a/reference/xml/functions/xml-parser-get-option.xml b/reference/xml/functions/xml-parser-get-option.xml
index dc806b43e..51c706063 100644
--- a/reference/xml/functions/xml-parser-get-option.xml
+++ b/reference/xml/functions/xml-parser-get-option.xml
@@ -1,6 +1,6 @@
-
+
@@ -11,7 +11,7 @@
&reftitle.description;
- stringintxml_parser_get_option
+ stringintboolxml_parser_get_option
XMLParserparser
intoption
@@ -48,7 +48,7 @@
&reftitle.returnvalues;
- 如果 parser 没有指向有效的解析器,该函数将返回 &false;。否则将返回指定选项的值。
+ 返回选项的值。
@@ -74,6 +74,12 @@
+
+ 8.3.0
+
+ 此函数为 bool 选项返回 bool 值。
+
+
&xml.changelog.parser-param;
8.0.0
diff --git a/reference/xml/functions/xml-parser-set-option.xml b/reference/xml/functions/xml-parser-set-option.xml
index de23393aa..e65a358c8 100644
--- a/reference/xml/functions/xml-parser-set-option.xml
+++ b/reference/xml/functions/xml-parser-set-option.xml
@@ -1,6 +1,6 @@
-
+
@@ -14,7 +14,7 @@
boolxml_parser_set_option
XMLParserparser
intoption
- stringintvalue
+ stringintboolvalue
在 XML 解析器中设置选项。
@@ -54,9 +54,9 @@
XML_OPTION_CASE_FOLDING
- integer
+ bool
- 控制是否为此 XML 解析器启用大小写折叠。默认启用。
+ 控制是否为此 XML 解析器启用大写转换。默认启用。
@@ -68,7 +68,7 @@
XML_OPTION_SKIP_WHITE
- integer
+ bool
是否略过由空白字符组成的值。
@@ -102,8 +102,7 @@
&reftitle.returnvalues;
- 如果 parser 没有指向有效的解析器或者 option 无法设置,该函数将返回
- &false;。否则设置选项并返回 &true;。
+ 成功时返回 &true;,失败时返回 &false;。
@@ -129,6 +128,13 @@
+
+ 8.3.0
+
+ value 参数现在也接受 bool。选项 XML_OPTION_CASE_FOLDING 和
+ XML_OPTION_SKIP_WHITE 现在是 bool 选项。
+
+
&xml.changelog.parser-param;
8.0.0
diff --git a/reference/xml/functions/xml-set-character-data-handler.xml b/reference/xml/functions/xml-set-character-data-handler.xml
index eb4cb12e3..7c4717cc6 100644
--- a/reference/xml/functions/xml-set-character-data-handler.xml
+++ b/reference/xml/functions/xml-set-character-data-handler.xml
@@ -1,6 +1,6 @@
-
+
@@ -24,55 +24,33 @@
&reftitle.parameters;
-
- parser
-
-
- XML 解析器的引用,用于建立字符数据处理器。
-
-
-
+ &xml.parser.param;
handler
+ &xml.handler.description;
- handler 为表示一个函数名称的字符串,该函数必须在为 parser 指定的解析器调用 xml_parse 函数时已存在。
-
-
- 由 handler 参数命名的函数名必须接受两个参数:
+ 处理程序的签名必须是:
- handler
+ voidhandler
XMLParserparser
stringdata
-
- parser
-
-
- 第一个参数 parser 为指向要调用处理器的 XML 解析器的指针。
-
-
-
+ &xml.handler.parser.param;
data
- 第二个参数 data 为包含有字符数据的字符串。
+ 字符串格式的字符数据。
- Character data handler is called for every piece of a text in the XML
- document. It can be called multiple times inside each fragment (e.g.
- for non-ASCII strings).
-
-
- 如果处理器函数名被设置为空字符串或者 &false;,则该有问题的处理器将被屏蔽。
+ XML 文档的每段文字都会调用字符数据处理程序。可以在每个片段内多次调用(比如非 ASCII 字符串)。
- ¬e.func-callback;
diff --git a/reference/xml/functions/xml-set-default-handler.xml b/reference/xml/functions/xml-set-default-handler.xml
index aa03bcb0f..786179b4b 100644
--- a/reference/xml/functions/xml-set-default-handler.xml
+++ b/reference/xml/functions/xml-set-default-handler.xml
@@ -1,6 +1,6 @@
-
+
@@ -24,54 +24,32 @@
&reftitle.parameters;
-
- parser
-
-
- XML 解析器的引用,用于建立默认处理函数。
-
-
-
+ &xml.parser.param;
handler
+ &xml.handler.description;
- handler 为表示一个函数名称的字符串,该函数必须在为 parser 指定的解析器调用 xml_parse 函数时已存在。
-
-
- 由 handler 参数命名的函数名必须接受两个参数:
+ 处理程序的签名必须是:
- handler
+ voidhandler
XMLParserparser
stringdata
-
-
- parser
-
-
-
- 第一个参数 parser 为指向要调用处理程序的 XML 解析器的指针。
-
-
-
+ &xml.handler.parser.param;
data
- 第二个参数 data 为包含有字符数据的字符串。其内容可以是 XML 声明、文档类型声明、实体名或者其它没有已存在处理程序的地数据。
+ data 包含字符数据。可以是 XML 声明、文档类型声明、实体名或者其它没有已存在处理程序的数据。
-
- 如果处理程序名被设置为空字符串或者 &false;,则该有问题的处理程序将被屏蔽。
-
- ¬e.func-callback;
diff --git a/reference/xml/functions/xml-set-element-handler.xml b/reference/xml/functions/xml-set-element-handler.xml
index 66fef2fd0..ba4b3d53b 100644
--- a/reference/xml/functions/xml-set-element-handler.xml
+++ b/reference/xml/functions/xml-set-element-handler.xml
@@ -1,6 +1,6 @@
-
+
@@ -17,7 +17,10 @@
callableend_handler
- 为 parser 参数指定的 XML 解析器建立元素处理函数。参数 start_handler 和 end_handler 为表示函数名称的字符串,这些函数必须在为 parser 指定的解析器调用 xml_parse 函数时已存在。
+ 为 parser 参数指定的 XML 解析器建立元素处理函数。
+
+
+ 当打开新的 XML 元素时调用 start_handler,当关闭 XML 元素时调用 end_handler。
@@ -25,90 +28,68 @@
&reftitle.parameters;
-
- parser
-
-
- 指向 XML 解析器,用于建立起始和终止元素处理程序。
-
-
-
+ &xml.parser.param;
start_handler
+ &xml.handler.description;
- 由 start_handler 参数命名的函数名必须接受三个参数:
+ 处理程序的签名必须是:
- start_element_handler
+ voidstart_element_handler
XMLParserparser
stringname
- arrayattribs
+ arrayattributes
-
- parser
-
-
- 第一个参数 parser 为指向要调用处理程序的 XML 解析器的指针。
-
-
-
+ &xml.handler.parser.param;
name
- 第二个参数 name,包含调用此处理程序的元素名称。如果大小写折叠(case-folding)对该解析器有效,元素名将用大写字母表示。
+ 包含调用此处理程序的元素名称。如果大写转换对该解析器有效,元素名将用大写字母表示。
- attribs
+ attributes
- 第三个参数 attribs 为一个包含有对应元素的属性的数组(如果该元素有属性)。数组元素的下标为属性名,元素的值即为属性的值。属性名将以和元素名同样的标准进行大小写折叠(case-folded),其值不进行大小写折叠。
+ 带有元素属性的关联数组。如果元素没有数组则为空数组。数组元素的下标为属性名,元素的值即为属性的值。属性名将以和元素名同样的标准进行大写转换,值不进行大写转换。
- 属性的原始顺序将会被参数保留,用 each 函数遍历 attribs 时,该数组下表的顺序和属性的顺序相同。
+ 遍历 attributes 的顺序与声明 attributes 的顺序相同。
- ¬e.func-callback;
end_handler
+ &xml.handler.description;
- 由 end_handler 参数命名的函数名必须接受两个参数:
+ 处理程序的签名必须是:
- end_element_handler
+ voidend_element_handler
XMLParserparser
stringname
-
- parser
-
-
- 第一个参数 parser 为指向要调用处理程序的 XML 解析器的指针。
-
-
-
+ &xml.handler.parser.param;
name
- 第二个参数 name,包含调用此处理程序的元素名称。如果大小写折叠(case-folding)对该解析器有效,元素名将用大写字母表示。
+ 包含调用此处理程序的元素名称。如果大写转换对该解析器有效,元素名将用大写字母表示。
-
- 如果处理程序名被设置为空字符串或者 &false;,则该有问题的处理程序将被屏蔽。
-
diff --git a/reference/xml/functions/xml-set-end-namespace-decl-handler.xml b/reference/xml/functions/xml-set-end-namespace-decl-handler.xml
index a91ae4023..8e4d216db 100644
--- a/reference/xml/functions/xml-set-end-namespace-decl-handler.xml
+++ b/reference/xml/functions/xml-set-end-namespace-decl-handler.xml
@@ -1,6 +1,6 @@
-
+
@@ -29,53 +29,30 @@
&reftitle.parameters;
-
- parser
-
-
- 指向 XML 解析器。
-
-
-
+ &xml.parser.param;
handler
+ &xml.handler.description;
- handler 是字符串,包含为 parser
- 调用 xml_parse 时,必须存在的函数名。
-
-
- 以 handler 命名的函数必须接受三个参数,并且应该返回整数值。如果从处理程序返回的值为
- &false;(如果没有返回值,则为 &false;),XML 解析器将停止解析并且 xml_get_error_code
- 将返回 XML_ERROR_EXTERNAL_ENTITY_HANDLING。
+ 处理程序的签名必须是:
handler
XMLParserparser
- stringprefix
+ stringfalseprefix
-
- parser
-
-
- 第一个参数 parser 指向调用处理程序的 XML 解析器。
-
-
-
+ &xml.handler.parser.param;
prefix
- 前缀是一个字符串,用于引用 XML 对象中的命名空间。
+ 前缀是一个字符串,用于引用 XML 对象中的命名空间。如果不存在前缀,则为 &false;。
-
- 如果处理函数设置为空字符串或 &false;,则禁用相关处理程序。
-
- ¬e.func-callback;
diff --git a/reference/xml/functions/xml-set-external-entity-ref-handler.xml b/reference/xml/functions/xml-set-external-entity-ref-handler.xml
index 0e6e6b14a..7c39eb0b5 100644
--- a/reference/xml/functions/xml-set-external-entity-ref-handler.xml
+++ b/reference/xml/functions/xml-set-external-entity-ref-handler.xml
@@ -1,6 +1,6 @@
-
+
@@ -24,44 +24,28 @@
&reftitle.parameters;
-
- parser
-
-
- XML 解析器的引用,用于建立外部实体指向处理函数。
-
-
-
+ &xml.parser.param;
handler
+ &xml.handler.description;
- 参数 handler 为表示函数名称的字符串,函数必须在为 parser 指定的解析器调用 xml_parse 函数时已存在。
-
-
- 由 handler 参数命名的函数名必须接受五个参数,并应该返回一个整型值。如果处理程序的返回值为 &false;(这也是函数没有确定返回值时的返回值),XML 解析器将停止解析, xml_get_error_code 函数将返回 XML_ERROR_EXTERNAL_ENTITY_HANDLING。
+ 处理程序的签名必须是:
- handler
+ boolhandler
XMLParserparser
stringopen_entity_names
- stringbase
+ stringfalsebase
stringsystem_id
- stringpublic_id
+ stringfalsepublic_id
-
- parser
-
-
- 第一个参数 parser 为指向要调用处理程序的 XML 解析器的指针。
-
-
-
+ &xml.handler.parser.param;
open_entity_names
- 第二个参数 open_entity_names 是为该实体的解析开放的实体名列表(包括被指向的实体名),这些实体名由空格隔开。
+ 为该实体的解析开放的实体名列表(包括被指向的实体名),这些实体名由空格隔开。
@@ -69,7 +53,7 @@
base
- 这个参数是解析外部实体的系统标识符(system_id)的基础。当前该参数通常都被设置为空字符串。
+ 这个参数是解析外部实体的系统标识符(system_id)的基础。
@@ -77,7 +61,7 @@
system_id
- 第四个参数 system_id 是在实体定义声明中指定的系统标识符。
+ 在实体定义声明中指定的系统标识符。
@@ -85,16 +69,17 @@
public_id
- 第五个参数 public_id 是在实体定义声明中指定的公共标识符,如果未指定任何标识符,则该字符串为空。公共标识符中的空格将按照 XML 的要求被正常化。
+ 在实体定义声明中指定的公共标识符,如果未指定任何标识符,则该字符串为空。公共标识符中的空格将按照 XML 的要求被正常化。
- 如果处理函数名被设置为空字符串或者 &false;,则该有问题的处理器将被屏蔽。
+ 如果实体已经处理,则处理程序应返回 &true;,否则返回 &false;。当返回 &false; 时,XML
+ 解析器将停止解析并且 xml_get_error_code 将返回
+ XML_ERROR_EXTERNAL_ENTITY_HANDLING。
- ¬e.func-callback;
diff --git a/reference/xml/functions/xml-set-notation-decl-handler.xml b/reference/xml/functions/xml-set-notation-decl-handler.xml
index f177394c2..3cd07cd87 100644
--- a/reference/xml/functions/xml-set-notation-decl-handler.xml
+++ b/reference/xml/functions/xml-set-notation-decl-handler.xml
@@ -1,6 +1,6 @@
-
+
@@ -34,46 +34,28 @@
&reftitle.parameters;
-
- parser
-
-
- XML 解析器的引用,用于设置声明处理函数。
-
-
-
+ &xml.parser.param;
handler
+ &xml.handler.description;
- handler 为表示函数名称的字符串,函数必须在为 parser 指定的解析器调用 xml_parse 函数时已存在。
-
-
- 由 handler 参数命名的函数名必须接受五个参数:
+ 处理程序的签名必须是:
- handler
+ voidhandler
XMLParserparser
stringnotation_name
- stringbase
+ stringfalsebase
stringsystem_id
- stringpublic_id
+ stringfalsepublic_id
-
-
- parser
-
-
-
- 第一个参数 parser 为指向要调用处理程序的 XML 解析器的指针。
-
-
-
+ &xml.handler.parser.param;
notation_name
- 该参数为以上符号格式定义中的 name 参数。
+ This is the notation's name, as per the notation format described above.
@@ -83,7 +65,7 @@
- 这个参数是解析符号声明的系统标识符(system_id)的基础。当前该参数通常都被设置为空字符串。
+ 这个参数是解析符号声明的系统标识符(system_id)的基础。
@@ -107,10 +89,6 @@
-
- 如果处理函数名被设置为空字符串或者 &false;,则该有问题的处理程序将被屏蔽。
-
- ¬e.func-callback;
diff --git a/reference/xml/functions/xml-set-object.xml b/reference/xml/functions/xml-set-object.xml
index 31289140c..9d0f6522e 100644
--- a/reference/xml/functions/xml-set-object.xml
+++ b/reference/xml/functions/xml-set-object.xml
@@ -1,6 +1,6 @@
-
+
@@ -77,7 +77,7 @@
parser, "cdata");
}
- function __destruct()
- {
- xml_parser_free($this->parser);
- unset($this->parser);
- }
-
function parse($data)
{
xml_parse($this->parser, $data);
@@ -117,7 +111,7 @@ class XMLParser
}
}
-$xml_parser = new XMLParser();
+$xml_parser = new CustomXMLParser();
$xml_parser->parse("PHP");
?>
]]>
diff --git a/reference/xml/functions/xml-set-processing-instruction-handler.xml b/reference/xml/functions/xml-set-processing-instruction-handler.xml
index bd0cce48a..e3f7d1616 100644
--- a/reference/xml/functions/xml-set-processing-instruction-handler.xml
+++ b/reference/xml/functions/xml-set-processing-instruction-handler.xml
@@ -1,6 +1,6 @@
-
+
@@ -22,55 +22,47 @@
处理指令有如下格式:
-
- <?target
- data?>
-
-
- 可以将 PHP 代码放置在类似的标识符中,但要注意一个限制:在 XML 处理指令(PI)中,PI 的终止符(?>)不能被引号引用,因此该字符序列不应该在您用 PI 嵌入到 XML 文档中的 PHP 代码中出现。否则,剩下的 PHP 代码,包括“真正”的 PI 终止符将被当作字符数据处理。
+
+
+]]>
+
+
+
+ PHP 代码通过 <?php 处理指令分隔。因此可以在 XML 文档中使用 PHP
+ 代码。但是 PI 结束标记(?>)不能是数据的一部分。如果 PI
+ 结束标记存在于嵌入式 PHP 代码的一部分,则 PHP 代码的其余部分以及“真实的”PI 结束标记将会视为字符数据。
+
+
&reftitle.parameters;
-
- parser
-
-
- XML 解析器的引用,用于建立处理指令(PI)处理函数。
-
-
-
+ &xml.parser.param;
handler
+ &xml.handler.description;
- 参数 handler 为表示函数名称的字符串,函数必须在为 parser 指定的解析器调用 xml_parse 函数时已存在。
-
-
- 由 handler 参数命名的函数名必须接受三个参数:
+ 处理程序的签名必须是:
- handler
+ voidhandler
XMLParserparser
stringtarget
stringdata
-
- parser
-
-
- 第一个参数 parser 为指向要调用处理程序的 XML 解析器的指针。
-
-
-
+ &xml.handler.parser.param;
target
- 第二个参数 target 为 PI 对象(PI target)。
+ 处理指令目标。
@@ -78,16 +70,12 @@
data
- 第三个参数 data 包含了 PI 数据。
+ 处理指令数据。
-
- 如果处理函数名被设置为空字符串或者 &false;,则该有问题的处理程序将被屏蔽。
-
- ¬e.func-callback;
diff --git a/reference/xml/functions/xml-set-start-namespace-decl-handler.xml b/reference/xml/functions/xml-set-start-namespace-decl-handler.xml
index d21c14eb3..85a8cf401 100644
--- a/reference/xml/functions/xml-set-start-namespace-decl-handler.xml
+++ b/reference/xml/functions/xml-set-start-namespace-decl-handler.xml
@@ -1,6 +1,6 @@
-
+
@@ -18,10 +18,7 @@
callablehandler
- 设置在声明命名空间时要调用的处理程序。命名空间声明出现在开始标签内。
- But the namespace declaration start
- handler is called before the start tag handler for each namespace declared
- in that start tag.
+ 设置在声明命名空间时要调用的处理程序。命名空间声明出现在开始标签内。开始标记内的命名空间声明,命名空间声明开始处理程序在开始标记处理程序之前调用。
@@ -29,45 +26,26 @@
&reftitle.parameters;
-
- parser
-
-
- 指向 XML 解析器。
-
-
-
+ &xml.parser.param;
handler
+ &xml.handler.description;
- handler 是字符串,包含为 parser
- 调用 xml_parse 时,必须存在的函数名。
-
-
- 以 handler 命名的函数必须接受三个参数,并且应该返回整数值。如果从处理程序返回的值为
- &false;(如果没有返回值,则为 &false;),XML 解析器将停止解析并且 xml_get_error_code
- 将返回 XML_ERROR_EXTERNAL_ENTITY_HANDLING。
+ 处理程序的签名必须是:
- handler
+ voidhandler
XMLParserparser
- stringprefix
+ stringfalseprefix
stringuri
-
- parser
-
-
- 第一个参数 parser 指向调用处理程序的 XML 解析器。
-
-
-
+ &xml.handler.parser.param;
prefix
- 前缀是一个字符串,用于引用 XML 对象中的命名空间。
+ 前缀是一个字符串,用于引用 XML 对象中的命名空间。如果不存在前缀则为 &false;。
@@ -81,10 +59,6 @@
-
- 如果处理函数设置为空字符串或 &false;,则禁用相关处理程序。
-
- ¬e.func-callback;
diff --git a/reference/xml/functions/xml-set-unparsed-entity-decl-handler.xml b/reference/xml/functions/xml-set-unparsed-entity-decl-handler.xml
index 54a800975..8686673c6 100644
--- a/reference/xml/functions/xml-set-unparsed-entity-decl-handler.xml
+++ b/reference/xml/functions/xml-set-unparsed-entity-decl-handler.xml
@@ -1,6 +1,6 @@
-
+
@@ -38,40 +38,24 @@
&reftitle.parameters;
-
- parser
-
-
- XML 解析器的引用,用于建立未解析实体定义声明处理函数。
-
-
-
+ &xml.parser.param;
handler
+ &xml.handler.description;
- 参数handler 为表示函数名称的字符串,这个函数必须在为 parser 指定的解析器调用 xml_parse 函数时已存在。
-
-
- 由 handler 参数命名的函数名必须接受六个参数:
+ 处理程序的签名必须是:
- handler
+ voidhandler
XMLParserparser
stringentity_name
- stringbase
+ stringfalsebase
stringsystem_id
- stringpublic_id
- stringnotation_name
+ stringfalsepublic_id
+ stringfalsenotation_name
-
- parser
-
-
- 第一个参数 parser 为指向要调用处理程序的 XML 解析器的指针。
-
-
-
+ &xml.handler.parser.param;
entity_name
@@ -84,7 +68,7 @@
base
- 这个参数是解析外部实体的系统标识符(system_id)的基础。当前该参数通常都被设置为空字符串。
+ 这个参数是解析外部实体的系统标识符(system_id)的基础。
@@ -114,10 +98,6 @@
-
- 如果处理函数名被设置为空字符串或者 &false;,则该有问题的处理程序将被屏蔽。
-
- ¬e.func-callback;
diff --git a/reference/xml/setup.xml b/reference/xml/setup.xml
index 05b024f34..3a3c7cbab 100644
--- a/reference/xml/setup.xml
+++ b/reference/xml/setup.xml
@@ -10,11 +10,10 @@
&reftitle.required;
&libxml.required;
- 缺省情况下,此扩展使用expat compat layer
- 。也可使用expat,
- 此库位于
- &url.expat;。
- 使用expat库中的 Makefile
+ 默认情况下,此扩展使用 expat compat layer
+ 。也可使用 expat,此库位于
+ &url.expat;。使用
+ expat 库中的 Makefile
是不会默认构建出库文件的,可使用以下构建规则进行构建: