Что такое код xml_set_processing_instruction_handler


Содержание

��� ����� ��� xml_set_processing_instruction_handler

(PHP 3>= 3.0.6, PHP 4 )

xml_set_processing_instruction_handler — Set up processing instruction (PI) handler

Description bool xml_set_processing_instruction_handler ( resource parser, callback handler)

Sets the processing instruction (PI) handler function for the XML parser parser . handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

A processing instruction has the following format:

The function named by handler must accept three parameters: handler ( resource parser, string target, string data)

The first parameter, parser , is a reference to the XML parser calling the handler.

The second parameter, target , contains the PI target.

The third parameter, data , contains the PI data.

If a handler function is set to an empty string, or FALSE , the handler in question is disabled.

TRUE is returned if the handler is set up, FALSE if parser is not a parser.

Note: Instead of a function name, an array containing an object reference and a method name can also be supplied.

xml_set_processing_instruction_handler

Set up processing instruction (PI) handler

Description

Sets the processing instruction (PI) handler function for the XML parser parser .

A processing instruction has the following format:

Parameters

A reference to the XML parser to set up processing instruction (PI) handler function.

handler is a string containing the name of a function that must exist when xml_parse is called for parser .

The function named by handler must accept three parameters:

If a handler function is set to an empty string, or FALSE , the handler in question is disabled.

Note: Instead of a function name, an array containing an object reference and a method name can also be supplied.

Return Values

Returns TRUE on success or FALSE on failure.

xml_set_processing_instruction_handler

(PHP 4, PHP 5, PHP 7)

xml_set_processing_instruction_handler � Set up processing instruction (PI) handler

Description

Sets the processing instruction (PI) handler function for the XML parser parser .

A processing instruction has the following format:

Parameters

A reference to the XML parser to set up processing instruction (PI) handler function.

handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

The function named by handler must accept three parameters:

If a handler function is set to an empty string, or FALSE , the handler in question is disabled.

Note: Instead of a function name, an array containing an object reference and a method name can also be supplied.

Return Values

Returns TRUE on success or FALSE on failure.

��� ����� ��� xml_set_processing_instruction_handler

(PHP 3>= 3.0.6, PHP 4 , PHP 5)

xml_set_processing_instruction_handler — Set up processing instruction (PI) handler

Description bool xml_set_processing_instruction_handler ( resource parser, callback handler )

Sets the processing instruction (PI) handler function for the XML parser parser . handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

A processing instruction has the following format:

The function named by handler must accept three parameters: handler ( resource parser, string target, string data )

The first parameter, parser , is a reference to the XML parser calling the handler.

The second parameter, target , contains the PI target.

The third parameter, data , contains the PI data.

If a handler function is set to an empty string, or FALSE , the handler in question is disabled.

TRUE is returned if the handler is set up, FALSE if parser is not a parser.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

����� 14. PHP � XML

���������, �������� World Wide Web ������� �������� ������� �� ������� ������ �����������. ���������� �������� �������� ���� ����������� ���� ���������� ���������� ������������ �� �������� �������� � ������������ ���������� — �������, ���� ���� ����������� ���������� � ������ ���� ������������ ��������� Web. ����� �� ����� ���������� �������� ���� XML (extensible Markup Language) — ������� �������� ������ ������� ����� ������������� � ������������.

� ������ ���� ����� ��������� ����� �������� � XML, ��� ���� ������ �������� ��������� ������ ���������� �����. ������ ������ �������� ��������� PHP ��� ������ � XML. �� ���������� ����������� ������� ��������� XML, � ����� ����� ������ �������� ��������� ������ � ������� XML. ���� �������� �������� ��� ����� ������, ��� �� ��� ����� XML � ��� PHP ����� ����������� ��� ���������� �������� � ���������� ���������� �� ���� XML.

�� ������ ��� ���������� � ����������������� �������� XML, � �������� � ���, ��� �� ����������� ���������, � �������� ����� ��������� � ������������� ������� XML.

�������� ������

��� �������� ������������ �� ��� ��������, ���� HTML (HyperText MarkUp Language) ��������� � ����� ��� ���������� ������ �������� ������ (markup languages). ��� �������� ��������� ���������� ����� ��������� ����������, ������� �� ��������� ������ � ����������, �� ����������; ��� ������ ��������� �� ��� ���� ��������� ���������. ��������, �� ������ �����������, ����� �����-���� ����� ���������� ������ ��� ��������� �������, ������� ��������� ����� ������ ������� ��� ��������� ��������� ����������� �������. ��������� ��������, � ������� � ����� ���� �����, ���� ���������� ������ ����� �������� ��� ������������� ��� ��������� ��������������, ������� � �������. ����� �������, � ��� ���� ������������ ������ ������������� ����� ��������. ������ ������, ���� ��������, ������������ ���� ��������� ����������, ������������ ����� �������� ��� �������� ����������� ���������� ������ � ���� ����������.

� ���� ��� ���������� ��������� ������ ������ ��������. ��������, � ���������������� ���������� ������ ����� �������� ���������� ����� ������� ������ �� ����� � ������, ������������� � ���������. ����� �� ������������ ����� � �����, ��� ���� ����� ������� ������ ���� ���������. �������, ����� ���� �������� ������ ������ ��� ������ ������:

  1. ���� ���������� ��������� ��������. ��������, � ������������ �� ������������� HTML ����������� text ���������� ������������� ���������� �������� ������, � ����������� text ��������� ������������ ��-�� ������������ ������������ � ������������ �����.
  2. ���� ���������� ����� ��������. �������, �� ������, ��� ������� text ������� ����� text ������ �������. � ������ ������ ������������ �����, ��������� � ����������� ���������� ���������� ���������.

������������� �������� Web �� ��������� ��������� ��� �������� ����������, ��� ����� ���������� ������ �������� ������ �������� HTML. �� ��� �������� ���� ����? ��� �������� �� ������ ������������ ����� � ���������? ����� �������� �� ���� ������, ���������� ������������� � ���������������� HTML — SGML (Standard Generalized Markup Language).

���� SGML

SGML ������������ ����� ������������� �������� ������ ����������� ����������� ����� ���������� ����������� � ������������ ������������. �� �������� ����� ������������, ��� SGML — ��� ����. �� ����� ���� ��� �� ������ ���, ��������� SGML � ���������������� ���������� ��������������� ����� ������ ��� �������� ������. �� ���� SGML ���� ������� ��� ����� ���������� ����� �������� — HTML � XML. ��� �� ��� ������, HTML — ����-��������- � ���������-����������� ����, ��������������� ��� �������������� � ����������� ������. �� �� ����� ����� ������� � � XML.

��������� ��������� SGML ���� ����������� �������������� ����������� ������������� ������ ������� ������������ � ������������� ���������. ���� � ������� 60-� ����� � ������������� ����������� ��������� ������ ������� � ��������������. ��������������� ���������� ������ ������������� ������ ��������, ���� ������ �� IBM — ������ ��������� (Charles Goldfarb), �� ��-��� (Ed Mosher) � ��� ���� (Ray Lorie) — �������������� ��� ����� ��������, �������������� ����������� ���������� ������ � ����������� � ������ ������������ ��������:

  • ������������� ������ ��������� �������������� �� ���� ����������, ����������� ��������� ����������. ������ �������� ���������� — ���� ��� ������ ��������, ��� ������ ������������ ����� ����� �����, ��������� �� ������ ������. ������� ������� ������ �������������� ����������� � ����� ��������� ������� �������� �������������� ����� �����������.
  • ������������� ������ ��������������. ��������� ����������� ���������� ������������������� ����� �� ���� ������ ����������� ������ �����������
  • ��������� �������� �� ������� ���������� � �� ������������� � ������������ ��������� ������������
  • ������ ����������� ������� ���������. �������, ������������ ������ ���������, ������ ���������� � ���������� �������� �����������, ������������ � ���������. ���������� ������������ ������� �����������, ��� ������������ ����� ����� ����� ��������� ����������� ���������. �������� ��������: ���� ���� �� � ������� ����������� ���������, � � ��� ����������� �������. ����� ������, ����������� ���� ������, ���������� ������������� ���� ��������� (document type definition, DTD).

��� ��� ������� ���� �������� � ������ ��������������� SGML — GML (Generalized Markup Language). ������������ � ���������� GML ������������ ����� ������ ���, ���� � ���������� ����������, ������������ ������������� ������� �������������, �� �������� �������� SGML.

� 1980-� ����� ������������� � ����� ��������� ������ ����������� ���������� ����������, � SGML ������ ����������� � ���������� �������� (� 1986 ���� �� ��� ������ � �������� ��������� ISO). ���� � ���� ��� ���� �������� �������� ���������� ������� �������, ��������� ������ �����������, ���������� � ��������� �������� ����������, ���������� �� SGML ��� �� ������� � �������� �������� �������� ������. ����� ���������� ���������, ������, ��� ���� �������� � �������� ������ ��� ( http://www.uspto.gov ), ������ ���������� ������ ��� ( http://www.irs.gov ) � ���������� ��������� ( http://lcweb.loc.gov ) ���������� SGML � ����� �������� �����������. ������ �����������, ����� ����� ������������ �������� ����� ��� ����������� �� ���!

����� �� ������ �������� ���������, ����������� SGML, XML � ������ ������ ���-�����, �������� ���� Robin Cover/OASIS XML Cover Pages ( http://www.oasis-open.org/cover ).

���� �������� �������������� ���������� ����� web-�������, ������������ ����� ���������-�� (Tim Berners-Lee), �� ��������� ������ ������������, �������������� ������ ����������� SGML. � ���������� �������� ��������� ���� �������� HTML.

���������� HTML

��������� World Wide Web �������� ��������������� ���� ���������� ����������� ����� �������� ��� ��������� ������ ����������� � �����, ���������� ��������� ������ ���������� ������������, ������������ ������ � ����������� ����������. ����������, �������-�� �������� ��� ��������������, ��������� �� ������������ ������ ������ HTML �� ������ ��������� SGML. HTML ����������� ��������� �������������� SGML, � ��� ����� ������� ���������� ����� ����� � ������ ���� ������� ������. ������� ��������� � ������� HTML ����� ��������� � ����� ������������ �������, � ������� ������������� �������� ��� ��������� ��������� ����������. ��� ��������� — �������.

��� �� �����, � HTML ������� ������������ ����������: �� �� ��������� ������������ ��������� ����������� ���� ����������. ����������� ����� ������ ���������, � ���� ������� ������������ ��������� ������ ��������� ���� ����������� ������������������ ����� HTML. ��� ����������� ����������� ����������� �� ���� ������ � ������ ���������� HTML � ������� ��������� ���� ����� �������������, ������� ������ ��������� web-�����, �� ��������� �� ��������. ����� ����, ������ ������ ���������������� � ������� ���������� ������ � ����, ��� ������������ ������ ���� �� ������������� ���������� ������. �����, ����������� ����������� web-������� ������������ ��������� ������ �� ������������� ������� ������������ HTML.

�������� ����������� W3 (http://www.w3.org) �� ������ ������������ �������� ����� ������� ������� �������� HTML �� ���������� ���� — ������� �������, ��������� � ������� SGML. ����������� ���� ������ ���� XML.

XML ��� �������������� ������������� ��������

XML ��������� ��� ������, ������������ W3 � ������� ��������� ��������-���������, ������� �� �������������� ���� ������� ��������� SGML (��. ���������� ������). XML, ��� � SGML, �� �������� ������; �� ����� ������������ ����� ����� ������������, �� ���� ������� ��������� ������ �����. ������ ������, XML �������� ������������� �� ���� ��������� ������������:

  • XML (Extensible Markup Language) — ������������, ������������ ������� ��������� XML;
  • XSL (Extensible Style Language) — ������������, ������������ �� ��������� ����������� ���������� �������� �� �� ����������� �� ���� ���������� � ��������� ������ (style sheets), ������������ ���������� �������� ��������������;
  • XLL (Extensible Linking Language) — ������������, ������������ ������������� ������ �� ������ �������.

XML �� ������ ��������� ������������� ��������� ������������������ ����� ��� ��������-����������; �� ����� ������������ ����������� �������� ���� ���������� �� ������������ ������������ XML. ����� ����, XML ������������� ��������� ��������� ������, �� ��������� �� ����������, ��������� ������ ������������� ��������� ����� ����� ������� ��� ������ XSL. ��������, �� ����������������� ���� web-����, ����� �� �������� � ������� XML. ����� �����’ �� ������� ������������ ���� ����� ��� �������������� ��������� ������ XML �� ����������� ���������� ���� Palm Pilot, � ������ — ��� �������������� �� �������� �������� ����������. � ����� ������� ��� XML �������� ����� � ��� ��, ���������� ������ ��� �������������� � ������������ � ������������ �����������.

�������� ����������� �����, ���������� �� ���� XML, �������� WML (Wireless Markup Language).

���������� � ����������� XML

��� ����������� ���������, �������� � SGML ��� HTML, ��������� ���������� XML �� �������� ������ ������. ������ �������� ��������� XML �������� � �������� 14.1.

������� 14.1. ������ ��������� XML

Spaghetti alla Carbonara

This traditional Italian dish is sure to please even the most discriminating

4 strips of bacon

12 ounces spaghetti

3 tablespoons olive oil

Combine oil and bacon in large skillet over medium heat. Cook until bacon is

brown and crisp.

whisk eggs in bowl. Set aside.

Cook pasta in large pot of boiling water to taste, stirring occasionally.

Add salt as necessary.

Drain pasta and return to pot. adding whisked eggs. Stir over medium-low

heat for 2-3 minutes.

Mix in bacon. Season with salt and pepper to taste.

�������� �������� �� �������� ����������, �� ������� ������� �������� XML:

  • ������ XML;
  • ����;
  • ��������;
  • ������ �� ��������;
  • ���������� �� ���������;
  • �����������.

��� ��������� XML ���������� � ������� (prolog). ������ ��������, ��� �������� ������� �� XML, � ����� ���������, ����� ������ XML ��� ���� ��������������.

��������� ������� ������ XML ����� ����� 1.0, ��� ���� ��������� XML ������ ���������� �� ������

��������� ������ � �������� 14.1 ��������� �� ������� DTD. ���� �� ��������� �� ��� �������� — DTD �������� ��������������� � ��������� ������� ������������ ���� ��������� (DTD)�:

���������� ����� �������� 14.1 ������� �� ���������, ����� ������� �� �������� ���������� HTML. ������ �������, cookbook, ���������� �������� ��������� (root element), ��������� � ��� ���� ����� ��������� ��� ��������� ���� ���������. �������, �� ������ ��������� ��������� �������� ����� ��� �� ������ ����������. �������, � ��� ������� �������, — ��� ��������� �������� ������ ���������� ������ ���� �������� �����.

������ ����� ��������� ������ ����������. ��������, ���������� ����� ���������, ������, ��� �������� �������� ����������:


������������ yes �������� standalone �������� ��������� ��������� XML-���� � ���, ��� �������� �� ����������� ������ ������ (��������, DTD).

���� ��� ����������, ��� � ������ ������, �������� ����������� ������, � �������� �������� ���������� �� ��������, ����� ����� �������� �������� ���� ���� ����� — ���������� ������������� PHP � XML.

���������� ����� ��������� ������� � �������� �� ��������� ��������� ��������� � ��������������� ������. ��������� �������� ����� ������ �� ������� ������� (��� � �������� HTML). ������� ����� ���� ������ ��� ���������� ����������; � ���� ������ ������� �������� ����������� � ����������� ����. ���� ������� �� ����, �� � ���� ���������� �����, ����������� ������� ������. ��� ����� �� �������� 14.1, ��� ���� ����� ������ �� ���� ���������� HTML. �������, ������� ������� � ��������� ������ ���������:

  • �������� �������� ������ ��������� ��� �����������, ��� � ����������� ���. � ���������, ������� ��������� �� ����� ����� ������������ ����, ������������ �������������� ����� ���������� . ��������� ������ — � ����� ��������� ��� ������������ ����? ���������� ��������� ��������� ���� �������������� HTML — ��������,
    , � , � ��� ��� ������ �����. ���� ����� ������� ����� ����������� � � ���������� XML
  • �������� XML ������ ���������� �� ���������� ������ �����������. �������� XML, ����������� � �������� 14.1, ������������� ��������; ������� �������, ���� ��������� �� ����������� ���, ��� �� ���� �� ������. ��������, ��������� �������� ����������:

Spaghetti alia Carbonara

  • � ��������� XML ����������� ������� ��������. ��������� ��������� ��� ��������� �� ����������. ��������, � XML ���� , � ��������� ������� ������. ���������� �������� — � ���������� ��� ����� ������ ��� � ���.

���� XML, �� �������� � ������ HTML, ����� �������� ����������. �������� �������� �������������� ���������� � ����������, ������� � ���������� ������������ ��� �������������� ��� ��������� XML. �������� ��������� ������������� � ������� ����=��������, �, � ������� �� HTML, �������� XML ������ ���� ��������� � ��������� ��� �������. � �������� 14.1 ����������� ������ ������������� ��������:

������� ��������, ��� ������ ������ (recipe) ��������� � ��������� ������������ ����� (italian). ������� ����� ���������� �������� ���������� ����������� � ��������� ������.

������ �� ��������

��������� �������� (entity) �������� ������������� ���������, ����������� ����������� ������ �� ��������� ���������� �� �������� ������. �������� ����� ����� ���������� ��� � ����������� ��������� ����� ���������� ������������, ��� � � ���������� ������ ��������� ���� XML. �������� ������ ���, ��� ��� ����� ����������� �������������� � ���������� XML. ��� ����������� ��������� ��������� ��� ������ �� �������� ���������� ���������� �����������, ��������� ��� ���������� ��������. ���������� �������� ���������� � DTD ��������� XML.

����� ��������� �� ��������� �������� � ��������� HTML, ������� ������� �� ��� � ��������� ���������� (&) � ��������� ������ � ������� (;). ��������, �� �������� �������� � ����������� �� ��������� ������. ����� ����� �� ������ �������� ����� ��������� ��������� �������:

��� ���� ������ ��������� XML ����� ��������� ���:

. ������ ������ �����������.

��������, ��� � ���������� � �������, ����� ����������� � ���������, ����� ��������� ���������� ����� ���������� � ������� ��� �������� �������� ��������� ������������� ������. �� �������� � ��������� ���������� ������ � ������� ������������ ���� ��������� (DTD)�.

���������� �� ���������

���������� �� ��������� (processing instructions, PI) ������������ ����� ������� �������, ������� ����������� �����������, ���������� � ���������� XML.

� ����� ������ ��������� PI �������� ���:

������� ���������� ���������, ����� ��������� ���������� ����������� ����������. ��������, ��� ���������� ������� PHP � ��������� XML ����� ��������������� ��������� ������������:

���������� �� ��������� ������ ���, ��� ��� ��������� ���������� ����������� ��������� �������� � ����� ����������.

����������� ����������� � ����� �������� ������������ ������ �����. � XML ������������ ��� �� ��������� ������������, ��� � � HTML:

����, �� ���������������� ��������� ��������� ��������� XML. �� � ���������� XML ���������� ��� ���� ������ ������ — ����������� ���� ��������� (DTD).

����������� ���� ��������� (DTD)

DTD ������������ ����� ������������ �������������� ������, �� ������ ������� ����������� ��������� ��������� XML. � DTD ���� ������������ ��������� ��������� XML, ����������� �������� � �� ��������, � ����� ���������� ������ ����������, ������������������ �� ��� ��������� XML, ��������� �� ������ ������� DTD.

������, ��� ������� DTD �� �������� ������������. ���� DTD ����������, ������� XML ��������������� �� ��� ������������� ��������� XML. ���� DTD �����������, ��������������, ��� ������� XML ������ ���������������� �������� �� ����������� ��������. �������, ��� ���������� XML ��� �� ������������� ��������� DTD, ��������� ��� �������� �� ������������� � �������� ���������.

DTD ����� �������� ��������������� � �������� XML, ��������� �� ���� �� URL ��� ������������ ���������� ���� ���� ��������. ��� ���������������� ��������� DTD � �������� XML ����������� DTD ������������� ����� �� ����� �������:

������� ���_���������_�������� ������������� ����� ��������� �������� � �����, ���������� ���� �������� XML. � ������ ������� ���������� ��������� ����������� ���������, ��������� � �. �.

��������, �� ������������� ���������� DTD � ��������� �����, ����� ���������� ��������� ��������� ���������. ������� ���������, ��� �������� ������ �� ������� DTD � ��������� XML. ������ �������� ����� ������� ��������:

��� � � ������ � ���������� ����������� DTD, ���_���������_�������� ������ ��������������� ����� ��������� �������� � �����, ���������� ���� �������� XML. ������� SYSTEM ��������� �� ��, ��� some_dtd.dtd ��������� �� ��������� �������. �������, �� ���� some_dtd.dtd ����� ����� ��������� �� ��� ����������� URL. �������, � �������� ����������� URL �������� DTD, �������������� �� ��������� ��� �� ��������� �������.

��� �� ������� DTD ��� �������� 14.1? ��-������, �� ���������� ������� � ��������� XML ������ �� ������� DTD. ��� ����������� � ���������� �������, ������ �� DTD �������� ���:

����������� � �������� 14.1, �� �����, ��� cookbook �������� ������ ��������� ��������, a cookbook.dtd — ������ DTD-�����. ���������� DTD �������� � �������� 14.2, � ���� ��������� ��������� �������� ���� �����.

������� 14.2. DTD ��� �������� 14.1 (cookbook.dtd)

��� �� �������� ���� ���������� ��������? �������� �� ������� ���������, � ���������������� �� �������� �����. ������� ��������� ��� ���������� �������� 14.2:

����� ���� ������ XML, � ������� ��� ���������� ����.

������ ������ ��������� ������� XML, � ������ ������ — �������� ������� cookbook. ����� ���� ������� ����� recipe, ����������� � ������� ������. ��� ��������, ��� � ���� cookbook ����������� ��������� ��� � ������ recipe. ���� + ������� � ���, ��� � ������������ ����� cookbook ��������� ���� ��� ��������� ��� ����� recipe.

��������� ������ ��������� ��� recipe. � ��� ����������, ��� � ��� recipe ������ ������ ��������� ����: title, description, ingredients � process. ��������� ����� ���� ����� �� ����������� �������� ���������� (��. ��������� ������), ������ ����� recipe ������ ���� ��������� ����� ���� ���� ������� �� ������������� �����.

����� ���� ������ ����������� ����, ������� �� �������� ��������� �����. � ������������ � ������������ �� �������� #PCDATA, �� ���� ������������ ���������� ������, �� ����������� ������ ��������.

� ������������ � ������������ ������� ingredients �������� ���� ��� ��������� ����� � ������ ingredient. ���������� � �������� 14.1, � �� ��� �������.

��������� ������� ingredient ������������� ���������� �����������, ������ �������, ��� ���� ������� �������� ������� ���������� ������.

������� process �������� ���� ��� ��������� ����������� �������� step.

������� step, ��� � ������� ingredient, ������������� ���������� ������ � ������ ����� �������� ������. �������������, �� ������ ��������� ���������� ������.

�������� ��������: ������� recipe � �������� 14.1 �������� �������. ���� �������, category, ���������� ����� ���������, � ������� ��������� ������ — � ����������� ������� ��� ��������� ������������ ������ (Italian). � ����������� ATTLIST ����������� ��� ��� ��������, ��� � ��� ��������. ����� ����, ��������� ������� ������� � ������������ ��������� �������� �������������, ������� ������� ����������� ������������ (#REQUIRED).

��������� ������ ������ ��������� ����������� DTD. ����������� ������ ������ ���� ������� ������� ���������, ����� ���������� ������.

� ���������� ����� ������� � ������� ������ �������� ����������� ��������� DTD-�����:

  • ���������� ����� ���������;
  • ���������� ���������;
  • ID, IDREF � IDREFS;
  • ���������� ���������.

��������� �� ���� ����������� ��� ����������� ��� � �������� �������� 14.2. ����� ������ ��������� ����� ������ ����� ��������.

��� ��������, ������������ � ��������� XML, ������ ���� ���������� � DTD, ����������� � ���������. �� ��� ����������� � ����� ����������������� ��������������� �����������: ��� ��������, ����������� ������ ��������, � ��������, ����������� ���������� ������. ������ ����������� ���������������, ��� ������� �������� ������ ���������� ������:

��������� ����������� �������� process ������� � ���, ��� �� �������� ����� ���� ��������� ������� � ������ step:

�������, �������� (process) �� ������ ���� (step) ����������� �������� ����� — ������ �����, ����� ����� ���������. ����� �������, ��� ������� �������� ���� ��� ��������� ����������� ���������� �������� step, ������� ��������������� ��������� ����������:

���������� ��������� ��������� ����� ������ ����������� ���������. ������ ������ ���������� ��������� �������� � ����. 14.1.

������� 14.1. ��������� ���������

������� ��������
? ���� ��� ����� ���� ���������
* ���� ��� ��������� �����������
+ ���� ��� ��������� �����������
����� ���� ���������
| ���� �� ���������
, ������������ ���������

���� ������� ����� ��������� ��������� ��������� ���������, �� ������� ����������� ����� ������� � ����������� ������������� ��������:

��������� �������� ���������� �� �������, ������ ��� ������ ����������� ����� ���� ���.

����������� �������� ���������� ��� ������ ���������� ����������. �����������, �� ��������� � ���������, � ������� ������ ������ �������� (pasta) � ����� ��� ����������� ������ ���� (cheese) ��� ���� (meat). � ���� ������ ������� ingredient ������������ ��������� �������:

��������� ������� pasta ����������� ������ �������������� � �������� ingredient, �� ����������� � ��������� ���������� +. ����� ������� ���� ������� cheese, ���� ������� meat; �� ��������� ������������ ������������ ������ � ��������� �� � ������� ������ �� ������ +, ��������� � ������ ������ ������ ���� ����, ���� ������.

���������� � ������ ������������� ����������� ���������. �� ����������� ���� ���������� ������. ��� �� �����, ������������ ��������� ������ ���������� ��� ��������� ��������, ����������� � ���������� ����� ���� �����.

�������� ��������� ��������� ��������, ����������� � ����������. �������� XML, ��� � �������� HTML, ����� ����� ����, ���� ��� ��������� ���������. ����� ��������� ���������� ��������� �������� ��������� �������:

��� �� �����, ��� ����� �� ������������ ������ �����������, ����������� ������������� ���������� ���������� ���������. ��������, � ���������� � �������� category �� ������ ������� � ��������� recipe �������������� ������� difficulty (��������� �������������). ��� �������� ����������� � ����� ������:

������������� ���������� �������� ������� �������������; ��� �� �����, ������������� ���������� ��������� ������������. ����� ����, ��������� ��� �������� �������� �������������, ��� reci �� �� ����� ������������ �����-������ ����� ���������, �� ������ �������� � ���� ��� �������� �����. ��������, ��������� ��� ����� ��������� ��������:

������? ������ ��� � ��� ����������� ������� category. ���������� ��� ������ ��������� ��� ��������:

������ ������� ��������� �������� ����������� ����� �������, �������������� � ����. 14.2.

������� 14.2. ����� ���������

�������� #FIXED

�� ���� ����������� �������� � ��������� �������� ����� ������������� ������ ���� ���������� ��������

���� ������� �� ������ � ��������, ������������ �������� �� ���������

������� �������� ������������ � ������ �������������� �� ���� ����������� �������� � ���������

������� �������� ����� ����������� � ������������ �����. ���� ��������� ������� �����.

����� ����� �������� �������� ����� ���������� ������. ����� �������� ���������� ���������� CDATA. ��������� ������ ��� ���������� � ������ ����� �������:

�������� ID, IDREF � IDREFS

���� ������������ ������������� ������ (��������, ���������� � ������������ ��� ������, ���������� � ���� ������) ����������� ��������������� ������������ ����������� � ���������� ������ �����. �������������� ����� ����� ������������ � XML, ��������� ������������ ������ ����� ����������� ����������� �� ������ � ����� ������� ��������� ������, �� � � World Wide Web (�����������).

�������������� ��������� ������������� �������� ID. ��������, �� ������ ������� � ������ �������� ���������� �������������. ��������������� �������� DTD ����� ��������� ���:

����� ����� ���������� �������� recipe � ��������� ����� ��������� ���:

Spaghetti alla Carbonara

������ ���������� ������������ ��������������� ital003. ������� �������, ��� ������� redpe-id ��������� � ���� ID, ������� ital003 �� ����� �������������� � �������� �������� �������� recipe-id ������� ��������, � ��������� ������ �������� ����� ��������� ������������� ��������. ������ ��������, ��� ������� �� �������� ��������� �� ���� ������ �� ������� ��������� — ������, �� ������ ������� �������� ������������. ������ ����� � ���� �������� ������������ ������ � ������� IDREF. �������� IDREF ������������� �������������, ������������ ��� ������ �� �������, — �� �������� � ���, ��� URL ������������ ��� ������������� �������� � �����������. ���������� ��������� �������� ���� XML:

� �������� ��������� ��������� XML ������� ���������� ����� ��������� ������� �� ������ � ��������� ��������������� (��������, ��������� �������). ��������, �� ����� �������������� � ���� �����������, ����� ��������� ������� � ���������� �������.

��� ���������� �������� ����� ����������� ��� ���������� ��������, ����������� ���������. � ����� ������� ��� ���� �� ������, ��������� �� ������ ����� ���������� ������ ���������� ���������. ����������� ���� ���������� ������������ � ��������� ����:

���� ������� category �� ����� ����, �� ��������� ��� �� ����������� �������� Italian.

�������� ENTITY � ENTITIES

������ � ���������� XML �� ������ �������� ���������� — �������� ����� ��������� � �������� ���������� (��������, �������). �� ����� ������ ����� ��������� ��� ������ �������� entity. ��������, � �������� �������� description ����� ������� ������� recipePicture � ����������� ������������:

����� ����� �������� ����� ��������� ���������, ������� ENTITY �� ENTITIES. �������� ����������� ���������.

�������� NMTOKEN � NMTOKENS

�������� NMTOKEN ������������ ����� ������ �� ��������, �������� � ������������ �����. ���������� �������� � ����� NMTOKEN ������������, ��� �������� �������� ������������� ������������� ������������. ��� �������, �������� �������� NMTOKEN ������� �� ������ �����:

����� �������� ����� ��������� ���������, ������� NMTOKEN �� NMTOKENS. �������� ����������� ���������.

���������� �������� ���������� ������� define � ��������� ������ ����������������, ������� PHP. ������ �� �������� ������ ����������� � ���������� ������� ����������� � ����������� XML�. �� ������ ������ �������, ��� ������ �� �������� ������������ � �������� ������ ��� ������� ��������� ����������. � �������� ��������� ��������� XML ��� ��������� �������� ���������� �����������, ������� ��� ������������. ���������� ��� ���� ���������: ���������� � �������.

���������� �������� ���������� ��������� ����������, ����������� ��� � ���������� ������. ��������, ���� �� ������ ���������� ��� ��� ������ �� ���������� �� ��������� ������, ����� �������� �������� ���������� ����:

� �������� ��������� ��������� ��� ���������� &����right ���������� ������� �Copyright 2000 YourCompanyName. All Rights Reserved�. ���� ��� XML � ���������� ������ �������������� ���, ������ �� ������������� � �������� ���������.

���������� �������� ������ � ���������, ����� �� ���������� ������������ �������� � ������������ ��������� ���������� ���������� XML. ��� ������� ���������� ���������� ����� ��������������� �������� ����������.

������� �������� ������������ ��� ������ �� ����������, ����������� � ������ �����. �������� ����� ���� ����� ��������� ��������� ����������, �� ����� ����� ��������� � �� �������� ������ (��������, �������). ����������� � ����������� �������, ��������, ��� �� ������ ��������� ���������� �� ��������� ������ � ��������� �����, ����� ��������� �� �������������� � �������. ������ �� ��������� ���� �������� ��������� �������:

��� ����������� ��������� ��������� XML ��� ������ &����right ���������� ���������� ��������� copyright.xml. ���� ��� XML � ���������� ������ �������������� ���, ������ �� ������������� � �������� ���������.

������� �������� ����� ������ ������������ ��� ������ �� ����������� �����������. ��������, ���� �� ������ �������� � �������� XML ����������� �������, �������� ������� ��������:

��� � � ���������� �������, ��� ������ &food_picture ���������� ����������� ������������, �� ������� ��������� ������. ��������� ������ �������� ���������, � �� ����������, ��� �� ����������������.

�������, ����������� XML

���� ������������ ���� ��������� ������ ���������� ��� ��������� ������� ��������� ���������� XML, ������ �������� �� �������� ������. ���� ��������� ������ �� ������� ���������, ���������� ����� ��������� ����������:

� ���������� ����� ����� ���������� � ���, ��� ������������ PHP ��� ��������� ���������� XML. �� ������ ������ ������ ������� ����� ������� (����������� ������ ����� ���������� ������ ���� �������� ������ �����������).

�� ����� ������������� � ������� ���������� ������ � XML � PHP, � ��� ����������� �� ��������� ������.

PHP � ��L

��� ������ � XML � PHP ������������ ����� ������� ������ (James Clark) Expat (XML Parser Toolkit) — cm. http://www.jclark.com/xml. Expat ���������� � �������� Apache 1.3.7 � ����� ������� ������, ������� ��� �� �������� ���������� ��������� ���, ���� �� ����������� ������ ������ Apache. ����� ��������������� ��������������� ������������� XML � PHP, ���������� ��������� PHP � ������ -with-xml.

���������� Expat 2.0 � ��������� ����� ����� ����� ����� (Clark Cooper). �� �������- ������� ����������� ����������� �� ������ http://expat.sourceforge.net .

�� ������ ������ ������ ��������� ������ XML �� �H� (��� �� ����� ������ �����) �������� ����������, �� �� ����� ���� ������� ����� ������ ����������� �� ��� ������������ ���������� PHP. ��� �������� ���� ���������� ����� ������� ��� ����� DTD � ����� ��������� �� � ��������� �������� ��������� ���� XML.

������ ��� ���������� � ������������ ������� PHP, ��������������� ��� ������ � XML, ���������� ������������� � ��������� ������������ ��������� XML. ��� ������� ��� ����� ������, ������ ��� ������� �������� ����������� ������ ����� ��������� ��������� XML-����. �� ����� ����� ������ �������� XML �������� ���������� ������ �����:

  • ����������� ����;
  • ��������;
  • ���������� ������;
  • ����������� ����;
  • ���������� �� ���������;
  • �������������� ����������;
  • ������� ������ �� ��������;
  • �������������� ��������;
  • ������ ���������� (�����������, ���������� XML � �. �.).

��� ����������� ��������� ���������� XML ���������� ���������� ���������������� �������-����������� (handlers), �������������� ������ �� ������������� �����������. ������������ ������� ������������ � �������� ��������� XML ������������ ���������� PHP. ����� ������� ��������� ���� XML � PHP ������� �� ���� ������:


  1. ���������� ���������������� �������. ����������, ���� �� ����������� ��������� �������� � ����������� XML, ��� ������� ���������� �������� ����� ���� ��� � � ���������� ���� ������� � ��� ����������� ���������.
  2. �������� ���������� (parser) ���� XML, ������� ����� �������������� ��� ��������� ���������. ���������� ��������� ������� ������� xml_parser_create( ).
  3. ��� ������ ����������� ������� ��������������� ���� ������� � ����������� XML.
  4. �������� ���� XML, ���������� ������������ � ��� ������ � ��������� �� ����������� XML. ��������� ������ ����������� ������� ������� xml_parse( )! � �������� ����� ������ ��� ������� ������������ ��������� ����� ���� ������������ ���� ������������.
  5. ���������� ���������� XML, ����� ���������� ��������������� �� �������.

������ �������� �������� xml_parser_free( ). ����� ���� ������������� ������ ������������ � ��������� �������.

����������� ���������������� ������� � ��������� XML

� PHP ���������� ������ ����������� ������� ��� ����������� ���������������� �������, �������������� ��������� ���������� ���������� XML.

������� �������, ��� �� ����������� ������ ���������� ��� ���������������� �������; � ��������� ������ ���������� ������. � ���� ������� ����������� ��� ����������� ������� ����������� � ��������� ������������ ���� ���������������� �������.

������� ������������ ���������������� ������� ��� ������ � ����������� �������. ���������:

int xml_set_character data_handler(int ����������, string ����������_����������_������)

������ �������� ���������� ���������� XML, � ������ — ��� ���������������� �������, ������������ ��� ��������� ���������� ������. ����������� �������-����������� ������ ��������� ���:

function ����������_����������_������ (int ����������, string ������) <

������ �������� ���������� ���������� XML, � ������ — ���������� ������, ���������� ���������.

������� ������������ ���������������� ������� ��� ���� �������������������� ����������� ��������� XML. � ���������, � ����� ����� ����������� ��������� ������ XML � �����������. ���������:

int xml_set_default_handler(int ����������, string ����������_��_���������)

������ �������� ���������� ���������� XML, � ������ — ��� ���������������� �������, ������������ �� ���������. ����������� �������-����������� ������ ��������� ���:

function ����������_��_��������� (int ����������, string ������) <

������ �������� ���������� ���������� XML, � ������ — ���������� ������, ���������� ���������.

������� ������������ ���������������� ������� ��� ��������� ����������� � ����������� ����� ���������. ���������:

int xml_set_element_handler(int ����������, string ����������_�����������_�����, string ����������_�����������_�����)

������ �������� ���������� ���������� XML. ������ � ������ ��������� ���������� ����� �������, ������������ ��� ���������, ��������������, ����������� � ����������� �����. ����������� ����������� ����������� ����� ������ ��������� ���:

function ����������_�����������_����� (int ����������, string ���_����,

������ �������� ���������� ���������� XML, ������ — ��� ������������ ���� ��� �������������� ��������, � ������ �������� ������ ��������� ���������������� ����.

���������� ����������� ����� ������������ ��������� �������:

function ����������_�����������_����� (int ����������, string ���_����) <

������ �������� ���������� ���������� XML, ������ — ��� ������������ ���� ��� �������������� ��������.

������� ������������ ���������������� ������� ��� ��������� ������� ������ �� ��������. ���������:

int xml_set_external_entity_ref_handler(int ����������, string ����������_�������_������)

������ �������� ���������� ���������� XML, � ������ — ��� ���������������� �������, ������������ ��� ��������� ������� ������. ����������� �������-����������� ������ ��������� ���:

function ����������_�������_������ (int ����������, string ������, string ����. string ���������_�������������, string ��������_�������������) <

������ �������� ���������� ���������� XML. ������ �������� ���������� ��� ������, ��������� — ��������� ������������� ������ �� ��������, � ����� — �������� ������������� ������. ������ ��������, ����, � ��������� ����� �� ������������, ������ ��� ���������� ��� ����� �����������.

������� ������������ ���������������� ������� ��� ��������� �������������� ����������. ���������:

int xml_set_notation_decl_handler(int ����������, string ����������_��������������_����������)

������ �������� ���������� ���������� XML, � ������ — ��� ���������������� �������, ������������ ��� ��������� �������������� ����������. ����������� �������-����������� ������ ��������� ���:

function ����������_��������������_���������� (int ����������, string ������, string ����, string ���������_�������������, string ��������_�������������) <

������ �������� ���������� ���������� XML. ������ �������� ���������� ��� ����������, ��������� — ��������� �������������, � ����� — �������� ������������� ����������. ������ ��������, ����, � ��������� ����� �� ������������, ������ ��� ���������� ��� ����� �����������.

������� ����������� ���������� XML � ��������� ��������. ���������:

void xml_set_object(int ����������, object &�6����)

������ �������� ���������� ���������� XML, � ������ �������� ������ �� ������, ������ �������� ����� �������������� ��� ��������� ����������� XML. ����� �������, ������� xml_set_object ��������� ���������� � ��������. ��� �������, ��� ���������� � ������������ ������� ����� ������������� �������-������������:

// ������� ���������� � ��������

. ����������� �������-������������ startTag. endTag. characterData � �.�. .

� ������� ������������ ���������� ���������������� ����� xml_set_object( ). �� �������, ��� ��� ���������� ����� ��������� ��������� ��������� �� �������, � ������� ��������� � ������������� ��������� � ������� �������.

������� ������������ ���������������� ������� ��� ������ � Pi-������������.

int xml_set_processing_instruction_handler(int ����������, string ����������_����������)

������ �������� ���������� ���������� XML, � ������ — ��� ���������������� �������, ������������ ��� ��������� Pi-����������. ����������� �������-����������� ������ ��������� ���:

f unction ����������_���������� (int ����������, string ����������, string ����������) <

������ �������� ���������� ���������� XML, ������ — ��� ����������, ������������ ����������, � ������ — ����������, ������������ ����������.

������� ������������ ���������������� ������� ��� �������������� ������� ������ �� ��������. ���������:

int xml_set_external_entity_ref_handler(int ����������, string ����������_�������_������)

������ �������� ���������� ���������� XML, � ������ — ��� ���������������� �������, ������������ ��� ��������� �������������� ������� ������. ����������� �������-����������� ������ ��������� ���:

function ����������_�������_������ (int ����������, string ��������, string ����, string ���������_�������������. string ��������_�������������, string ���_����������) <

������ �������� ���������� ���������� XML. ������ �������� ���������� ��� ������, ��������� — ��������� ������������� ������ �� ��������, � ����� — �������� ������������� ������. ������ ��������, ����, � ��������� ����� �� ������������, ������ ��� ���������� ��� ����� �����������. �������, ��������� �������� ���������� ��� ��������������� ����������.

�� ���� ����������� ���� ������� ���������� � ������������� � ��������� �����������. �������, ��� ����������� ��������� ���������� XML ��� ����������� � ������ �������. � ��������� ������� ������������ ��������� ������� PHP, ��������� � ���������� ���� XML.

������� ��������� ���� XML

���� ���������� ���� �������-������������ �� ����������� (��������� XML �� ������� ��������� �������� ���� �����), �� ������� ���� ��� ������� ������ �������������� �� ���� ���������, ���������� � XML.

����� ���������� ��������� XML ���������� �������������� ������� ����������. ���������:

int xml_parser_create([stnng ���������])

�������������� �������� ���������� ��������� ��������� ������. � ��������� ����� �������������� ��� �������� ���������:

  • UTF-8;
  • US-ASCII;
  • ISO-8859-1 (������������ �� ���������).

�� �������� � ���, ��� ������� fopen( ) ���������� ����������� ��������� �����, ������� xml_parser_create( ) ����� ���������� �����������, ������������ ��� ������ ��������� ������� � �������� ��������� XML. ��� ������������� ��������� ���������� ���������� ����� ������� ����� ��������� ������������.

������� xml_parse( ) ��������� ��������� ��������� XML. ���������:

int xml_parse(int ����������, string ������ [int ����������])

������ �������� ���������� ���������� XML (������������ ��������, ������������ ��� ������ xml_parser_create( )). ���� �������������� �������� ���������� ����� TRUE, ������������ �������� ������ �������� ���������. ��� �������, ��� ���������� ��� ���������� ����� ��������������� �����.

������� ����������� �������, ���������� ��� ������ �����������. ���������:

int xml_parser_free(int ����������)

�������� ������� ���������� ���������� XML.

������ �������� �������

� PHP ����� ���������� ������ �������, ���������� ������� ��������� ���� XML.

������� ����������� ������ � ��������� ISO-8859-1. ��������������, ��� ������������� ������ ��������� � ��������� UTF-8. ���������:

string utf8_decode(string ������)

�������� ������ �������� ������������� ������ � ��������� UTF-8.

������� ����������� ������ �� ��������� ISO-8859-1 � ��������� UTF-8. ���������:

string utf8_decode(string ������)

�������� ������ �������� ������������� ������ � ��������� ISO-8859-1.

������� xm1_get_error_code( ) �������� ��� ������, ��������� � �������� ��������� XML. ��� ������ ���������� ������� xml_error_string( ) (��. ����) ��� �������������. ���������:

int xml_error_code(int ����������)

�������� ������� ���������� ���������� XML. ������ ������������� �������� ����, � �������� ������� xml_get_current_line_number( ).

�������, ����������� � �������� ������� ���� XML, ������������� �������� ����. ������� xml_error_string( ) ���������� ��������� �������� ������ �� �� ����. ���������:

string xml_error_string(int ���)

� ��������� ������� ���������� ��� ������ (��������, ���������� ��� ������ ������� xml_get_error_code( )). ������ ������������� ������� �������� ����, � �������� ������� xml_get_current_line_number( ).

������� ���������� ����� ������� ������, �������������� ������������ XML. ���������:

int xml_get_current_line_number(int ����������)

�������� ������� ���������� ���������� XML. ������ ������������� �������:

while ($line — fread($fh. 4096)) :

if (! xml_parse($xml_parser. $line. feof($fh)));

print «Error! [Line Sline_number]: $err_string»;

��������, ���� ������ ���� ���������� � ������ ������ �����, ������������� ������������� $fh, ��������� ����� ��������� �������� ���:

Error! [Line 6]:mi snatched tag

������� xml_get_current_colunin_number( ) ����� �������������� � ��������� � xml_get_current_line_number( ) ��� ����������� ������� ��������������� ������ � ��������� XML. ���������:

int xml_get_current_column_number(int ����������)

�������� ������� ���������� ���������� XML. ������� ��������������� ���������� ������:

while ($line = fread($fh. 4096)) :

if (! xml_parse($xml_parser, $line, feof($fh))):

print «Error! [Line $line_nuimber, Column $column_number]: $err_string»;

��������, ���� ������ ���� ���������� � ������ ������ �����, ������������� ������������� $fh, ��������� ����� ��������� �������� ���:

Error! [Line 6 Column 2]:mismatched tag

��������� ����������� XML

� ��������� ����� � PHP �������������� ��� ���������, �������� �� ������ ����������� XML:

  • XML_OPTION_CASE_FOLDING — �������������� �������������� ���� ����� � �������� ��������;
  • XML_OPTION_TARGET_ENCODING — ��������� ��������� �� ������ ����������� XML. � ��������� ����� �������������� ��������� UTF-8, ISO-8859-1 � US-ASCII.

��� ��������� ������� �������� � ����������� ���� ���������� �����������, ��������������, ������� xml_parser_get_option( ) � xml_parser_set_option( ).

������� xml_parser_get_option( ) �������� ������� �������� ��������� ����������� XML. ���������:

int xml_parser_get_option(int ����������, int ��������)

������ �������� ������� ���������� ���������� XML, � ������ — ��� ������������� ��� ���������. ������:

$setting = xml_parser_get_option($xml_parser, XML_OPTION_CASE_FOLDING);

print «Case Folding: $setting»;


���� ��������� XML_OPTION_CASE_FOLDING �� ������������� ������ ��������, ������� ������ �������� �� ���������. � ���� ������ ����� ������� ��������� ���������:

������� xml_parser_set_option() ������ �������� ��������� ����������� XML. ���������:

int xml_parser_set_option(int ����������, int ��������, mixed ��������)

������ �������� ������� ���������� ���������� XML, ������ — ��� ������������� ��� ���������, � ������ — ��� ����� ��������. ������:

$setting = xml_parser_set_option($xml_parser, XML_OPTION_TARGER_ENCODING.»UTF-8″):

� ���������� ���������� ���� ������� �������� ��������� ��������� ���������� � ISO-8859-1 �� UTF-8.

�������������� XML � HTML

�����������, � ��� ������� �������� XML bookmarks.xml, ���������� ������ ������. �� �������� �������� ���:

Epicurious is a great online cooking resource, providing tutorials.

recipes, forums and more.

��������, �� ������ ������������� bookmarks.xml � ������� ��� ���������� � �������, ����������� � �������� �������� ������ ����������. ���������, ����������� � �������� 14.3, ����������� ���� � ������� �������.

������� 14.3. �������������� XML � HTML

VAR $xmlparser: VAR $tagcolor =»#800000″;

VAR $datacolor =»#0000ff»;

xml_set_element_handler($this->xmlparser, «startTag», «endTag»);

// ������� �������� �� ��������� ���� ����������� �����.

function startTag($parser, $tagname, $attributes) <

print » tagcolor\» face=\»arial,

// ������� �������� �� ��������� ���� ���������� ������.

function characterData($parser. $characterData) <

print » datacolor\» face=\»arial,

// ������� �������� �� ��������� ���� ����������� �����.

function endTag(Sparser, $tagname) <

print » tagcolor\» face=\»arial, verdana\»>
«;

// ���������� ���� XML

while ( $line = fread($fp. 4096) ) :

// ��� ������������� ������ �������� ��������� // � ������� ��������� �� ������.

if ( ! xml_parse($this->xmlparser, $line, feof($fp))) :

die(sprintf(«XML error: %s at line %d»,

// ������� ���� XML ��� ���������

$xml_file = «bookmarks. xml»;

$fp = f open ($xml_flie, «r»);

// ������� ����� ������

$xml_parser = new XMLHTML;

� ���������� �������������� ���� bookmarks.xml ��������� � �������� � ��������� ����:

Epicurious is a great online cooking resource,

providing tutorials, recipes, forums and more.

�������, ��������� �� ����� �� ������������ — �� ����� ���� ��������, ����� ���� XML ����������� � ��������. ����� ��������� ��������� � ������� 14.3, ����� ������������� URL � ���������� �����������, �������� ������ ����� ����� ����� . ������ ������� � �. �. ��� ����� �� �������� 14.3, � ��������� ����� ���� ������ ������, ����� ������������������ ����������� �������������� ������ � ��������.

��������� ���� � PHP � XML

� ���� ����� �� ������������� � XML � ���������� ��������� PHP, ���������������� ��� ��������� ���������� � ������� XML. ��������� �������� ����� ����� �������� PHP, � ������ ���� ���� �� ���� ������������ ��������� XML � �� �������� � ���, ��� �������� XSL � XLL. �������, ����������� ��������� ���������� �� ������������� ������� ������������� ���� ���� ����������� ��� �� ������� ���� XML � XSL.

� ���������, �� ������ ��������� ����� PHP ��� �� ������� �������������, ������� �� ��������� �������� XML ������������� ���������� PHP. �������,

����������� PHP ���������� �����������, � � ������� ��� �������� ����������� ����� ������.

������� �������� � ���� ������� ����������� XSL-��������� Sablotron, ������������� ��������� Ginger Alliance Lts. (http://www.gingerall.com). 12 ������� 2000 ���� ���� ��������� � ���, ��� PHP 4.03 ������ ���������������� � ������� ���������� Sablotron ��� �������� Linux � Windows. ����������� ���������� �� ���������� ��������� �������.

�����

� ���� ����� ��� ������� �������� �������� ��������, ���������� XML � ������������ ��������� ���� XML � PHP. ����� ���������� � ������� ������� ������ ��������. �������� ���������� � XML � ��� ��������� ��������������, ����� ���� ���������� ������ �������������� ����������� �����. ���������� ����� ����� ��������� ����������� �������� PHP ��� ������ � ����� XML. � ���������� ���������� ������� ������������� PHP ��� ��������� � ������ ������ XML. � ���������, ��������������� ��������� �������:

  • ������� �������� ������ �������� ������;
  • SGML;
  • ����� �������� � XML;
  • ��������� XML;
  • �������� ���� ��������� (DTD);
  • PHP � XML.

� ����� 15 ��������������� ��� ������������� ����������, JavaScript � ��� (Component Object Model), � ����������� �� ������������� � PHP.

PHP xml_set_processing_instruction_handler() Function

Example

Create an XML parser, set character data handler, set PI handler, and parse an XML document (note_pi.xml):

Definition and Usage

The xml_set_processing_instruction_handler() function specifies a function to be called when the parser finds a processing instruction (PI) in the XML document.

A PI is enclosed in and contains a a target followed by data.

Example: In this case the PI associates a style sheet with an XML document:

������� xsl:processing-instruction

��������� �������� ����������� ����:

������� xsl:processing-instruction ������� � �������������� ������ ���� ���������� �� ���������. ������������ ������� name ���������� ��� �������� ����������, �������� ����� ���������� ���������� �� ���������. � ���� �������� ����� ���� ������ ������ �������� ��������.

������� � ��������� ��������� ���������� �� ��������� ����:

���������� ����������� ���������� �� ��������� �������� ��������� ���������� �������, ������������� ������ �������� xsl:processing- instruction . ���� ��������� ������ ��������� ������ ��������� ����, � ��������� ������ ��������� ����� ���� ������ ������, ���� ��������������� ����������� ���� ������ � �� ����������.

���������� �� ��������� �� ����� ��������� ������������������ �������� » ?> «, ��������� ��� ���� �� ����������� � ����� ������ ���������� XML.

� ������, ���� ��������� ���������� ������� �������� ����� ����������, ��������� ����� ���� ������ ������, ���� ��������� ������� » ? » � » > » ��������:» ? > «.

��� ���������� �� ���������, ������ ���� ���������� XML-������ (�� �� ������ ��� ���� » xml » � ����� �������� ��������). ��������, ��������� ����������� ����� ���������� ����������:

� ���������� ��������� ��������� ����������:

��� ���� ����� ������� � ��������� XML-��������� ���������� xml-stylesheet , ������� ������������ ��� ���������� ���������� �� ������� � ����������������, ����� ��������������� ��������� ������������:

�������������� �������� ����� ��������� ���������� �� ��������� � ����:

������� xsl:processing-instruction �� ����� ������� ���������� XML, �������� �� ��, ��� � ����� ������ ���������� (�� �� ���������) ��� ����� ����� ���������� �� ���������. ��� ������ XML-���������� ������� ������������ ������� xsl:output .

��� ����� ��� xml_set_processing_instruction_handler

int xml_set_processing_instruction_handler (int parser, string handler);

Sets the processing instruction (PI) handler function for the XML parser parser . handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

A processing instruction has the following format:

1 target 3 data ?> 4

The function named by handler must accept three parameters:

handler (int parser, string target, string data);

The first parameter, parser , is a reference to the XML parser calling the handler.

The second parameter, target , contains the PI target.

The third parameter, data , contains the PI data.

If a handler function is set to an empty string, or false , the handler in question is disabled.

True is returned if the handler is set up, false if parser is not a parser.

There is currently no support for object/method handlers.

��� ����� ��� xml_set_processing_instruction_handler

(PHP 3>= 3.0.6, PHP 4 )

xml_set_processing_instruction_handler — Set up processing instruction (PI) handler

Description bool xml_set_processing_instruction_handler ( resource parser, string handler)

Sets the processing instruction (PI) handler function for the XML parser parser . handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

A processing instruction has the following format:

The function named by handler must accept three parameters: handler ( resource parser, string target, string data)

The first parameter, parser , is a reference to the XML parser calling the handler.

The second parameter, target , contains the PI target.

The third parameter, data , contains the PI data.

If a handler function is set to an empty string, or FALSE , the handler in question is disabled.

TRUE is returned if the handler is set up, FALSE if parser is not a parser.

Note: Instead of a function name, an array containing an object reference and a method name can also be supplied.

��� ����� ��� xml_set_processing_instruction_handler

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_set_processing_instruction_handler — Set up processing instruction (PI) handler

Description bool xml_set_processing_instruction_handler ( resource parser, callback handler )

Sets the processing instruction (PI) handler function for the XML parser parser . handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

A processing instruction has the following format:

The function named by handler must accept three parameters: handler ( resource parser, string target, string data )

The first parameter, parser , is a reference to the XML parser calling the handler.

The second parameter, target , contains the PI target.

The third parameter, data , contains the PI data.

If a handler function is set to an empty string, or FALSE , the handler in question is disabled.

TRUE is returned if the handler is set up, FALSE if parser is not a parser.

Note: Instead of a function name, an array containing an object reference and a method name can also be supplied.

Илон Маск рекомендует:  Проверка E-mail введенного в форму
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL