Что такое код xml_set_external_entity_ref_handler

Содержание

xml_set_external_entity_ref_handler

Set up external entity reference handler

Description

Sets the external entity reference handler function for the XML parser parser .

Parameters

A reference to the XML parser to set up external entity reference 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 five parameters, and should return an integer value.If the value returned from the handler is FALSE (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code will return XML_ERROR_EXTERNAL_ENTITY_HANDLING .

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_external_entity_ref_handler

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

xml_set_external_entity_ref_handler — Set up external entity reference handler

Description bool xml_set_external_entity_ref_handler ( resource parser, callback handler )

Sets the external entity reference 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 .

The function named by handler must accept five parameters, and should return an integer value. If the value returned from the handler is FALSE (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING . handler ( resource parser, string open_entity_names, string base, string system_id, string public_id )

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

The second parameter, open_entity_names , is a space-separated list of the names of the entities that are open for the parse of this entity (including the name of the referenced entity).

This is the base for resolving the system >system_id ) of the external entity. Currently this parameter will always be set to an empty string.

The fourth parameter, system_id , is the system identifier as specified in the entity declaration.

The fifth parameter, public_id , is the public identifier as specified in the entity declaration, or an empty string if none was specified; the whitespace in the public identifier will have been normalized as required by the XML spec.

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.

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

��� ����� ��� xml_set_external_entity_ref_handler

int xml_set_external_entity_ref_handler (int parser, string handler);

Sets the notation declaration 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 .

The function named by handler must accept five parameters, and should return an integer value. If the value returned from the handler is false (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING .

int handler (int parser, string openEntityNames, string base, string systemId, string publicId);

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

The second parameter, openEntityNames , is a space-separated list of the names of the entities that are open for the parse of this entity (including the name of the referenced entity).

This is the base for resolving the system > systemid ) of the external entity. Currently this parameter will always be set to an empty string.

The fourth parameter, systemId , is the system identifier as specified in the entity declaration.

The fifth parameter, publicId , is the public identifier as specified in the entity declaration, or an empty string if none was specified; the whitespace in the public identifier will have been normalized as required by the XML spec.

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.

������� PHP xml_set_external_entity_ref_handler ()

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

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

� ������ ������, ������� ���������� TRUE. ���� ��� �� �������, �� ���������� FALSE.

����������

?? ??
parser ????????? XML ????
handler ???????????????????????

�� ��������� ������� «����������» ������ ����� ���� ���������� ����������:

?? ??
parser ?????????,???????? XML ????
name ?????????,?????????
base ?????????????????(system_id)???????????????? NULL?
system_id ????????????????
public_id ????????????????

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

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

����� �����

� ���� ����� ������� ����� 200 ��������� �����, ��������� � ������, ������� ������� ������� �� ������ ������� ������� � �������, � ������� �� ������������� ����� ������� ������ � ���������. ��� ���� ����������� �� ������ ������������ �� ��������� �� ��� �����-���� ��������� ������ ��� ���������� ��������.

������ ��������� �������, ��� 99 % ����� ����������� �� ���������� ����������, � ������� �� ������� �� ���� �����. ������ �� ������ ��������� �� ������� � ����� ���� � �� �������� ����������� ����� �������� �� ����.

Arduino � ����������� ���������������, ���������� ������� ��������� � ���������, �������� � �������������� ��������� ����� ��������, ��������� ��������� � �������� ������������ ���� ����������. ����� ����������, ������������ � �������� ����� Arduino, ��������� �������� � ��������, ��������� �������� � �������� �����������.

������� ������� �� ������ Arduino �� �������� ���������� � ����������. ��, ������� �� ����������, �� ���������� �������� �������������, � ���������� ��������� ��������, �� ������ ����������� � ��������� �������� ������ � ������ ���� �������������.

��� ����� �������� ��� ����������� ����������� �Programming Arduino: Getting Started with Sketches�. �������� �� �� ��� ��� ����� �������� ������� ���������� ����� �� ����� �Programming Arduino�, ��� ���������� �������� � ����� ������������ ��������� ���������������� ���� Arduino.

xml_set_external_entity_ref_handler

(PHP 3>= 3.0.6, PHP 4)

xml_set_external_entity_ref_handler — ����������� ������� ���������� �����������.

��������

bool xml_set_external_entity_ref_handler (resource parser, string handler)

������������� ������� �������� ����������� ����������� ��� XML-���������� parser .
handler ��� ������ � ������ �������, ������� ������� ������������ � ������ ������ xml_parse() ��� parser .

������� handler ������� ��������� 5 ���������� � ���������� integer-��������. ���� ������������ FALSE (���� �������� �������� �� ����������), XML-��������� ��������� ������, � xml_get_error_code() ��������� return XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler (resource parser, string open_entity_names, string base, string system_id, string public_id) parser

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

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

��� ���� ��� ���������� ���������� �������������� ( system_id ) �������� ����������/entity. � ��������� ����� � ���� �������� ������ ��������������� ������ ������.

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

��� public-�������������, ��� ��������������� � ���������� ����������, ��� ������ ������, ���� ������ �� ���� ���������������; ������� � public-�������������� ����� �������������, ��� ������� XML spec.

���� ������� ����������� ����������� ��� ������ ������, ��� FALSE , ���������� �����������/disabled.

TRUE ������������, ���� ���������� ��������, � FALSE , ���� 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_external_entity_ref_handler() Function

Definition and Usage

The xml_set_external_entity_ref_handler() function specifies a function to be called when the parser finds an external entity in the XML document.

This function returns TRUE on success, or FALSE on failure.

Syntax

Parameter Description
parser Required. Specifies XML parser to use
handler Required. Specifies a function to be called when the parser finds an external entity

The Function specified by the «handler» parameter must have five parameters:

Parameter Description
parser Required. Specifies a variable containing the XML parser calling the handler
name Required. Specifies a variable containing the name of the external entity
base Required. Specifies the base for resolving the system identifier (system_id) of the external entity. Currently, this is always NULL
system_id Required. Specifies the system identifier for the external entity
public_id Required. Specifies the public identifier for the external entity

Tips and Notes

Note: The handler parameter can also be an array containing an object reference and a method name.

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

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

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

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

��� ���������� ���������� ������ XML Expat.

Expat � ��� ������ �� ������ �������, �� ������������� XML-�������� ��� ����� �������. ��� ������������� ������� �� �������� �������� ������� ��� �� ���������.

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

������ ��� ��� ������� ������, �� ����������� ������, Expat �������� ������� � ������ �������� ��� ���-����������.

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

���������

XML-������� �������� ������ ���� PHP. ��� ������������� ���� ������� �� ��������� ���������.

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

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

��� ����� ��� xml_set_external_entity_ref_handler

int xml_set_external_entity_ref_handler (int parser, string handler);

Sets the notation declaration 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 .

The function named by handler must accept five parameters, and should return an integer value. If the value returned from the handler is false (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING .

int handler (int parser, string openEntityNames, string base, string systemId, string publicId);

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

The second parameter, openEntityNames , is a space-separated list of the names of the entities that are open for the parse of this entity (including the name of the referenced entity).

This is the base for resolving the system > systemid ) of the external entity. Currently this parameter will always be set to an empty string.

The fourth parameter, systemId , is the system identifier as specified in the entity declaration.

The fifth parameter, publicId , is the public identifier as specified in the entity declaration, or an empty string if none was specified; the whitespace in the public identifier will have been normalized as required by the XML spec.

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_external_entity_ref_handler

Set up external entity reference handler ( PHP 4, PHP 5 )

Sets the external entity reference handler function for the XML parser parser .

Parameters

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 five parameters, and should return an integer value.If the value returned from the handler is FALSE (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING .

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

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.

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