Учебник по основам PHP. PHPBeginner



         

XML-интерпретация - часть 2


Интерпретация (по умолчанию) не учитывает регистр имен тегов, то есть в функции обработки символы передаются преобразованными к верхнему регистру. Для отключения этого используйте:

xml__parser_set_option($xml_parser. XML_OPTION_CASE_FOLDING. 0);

Для интерпретатора можно определить следующие виды функций-обработчиков:

  • xml_set_element_handler() — обработчики начальных и конечных тегов;
  • xml_set_character_data_handler() — текст между тегами (с учетом пробелов);
  • xml set_processing_instruction_handler() — инструкции обработки (например, <?php ?> и подобные им; инструкция <?xml ?> зарезервирована);
  • xml_set__default_handler() — обработчик по умолчанию, используемый при невозможности использования иного обработчика;
  • xm"l_set_unparsed_entity_decl_handler() — обработчик необрабатываемых (NDATA) данных;
  • xml_set_notation_decljiandler() — обработчик нотаций;
  • xml_set_external_entity_ref_handler() — обработчик внешних ссылок.

    Коды ошибок

    Модулем интерпретатора XML определяются следующие константы кодов ошибок (возвращаемые функцией xml_parse()):

  • XML_ERROR_NONE;
  • XML_ERROR_NO_MEMORY;
  • XML_ERROR_SYNTAX;
  • XML ERRORJO ELEMENTS;
  • XML_ERROR_INVALIDJOKEN;
  • XML_ERROR_UNCLOSED_TOKEN;
  • XML_ERROR_PARTIAL_CHAR;
  • XMLJRRORJAG MISMATCH;
  • XML_ERROR_DUPLICATE_ATTRIBUTE;
  • XML_ERROR_JUNK_AFTER_DOC_ELEMENT;
  • XML_ERROR_PARAM_ENTITY_REF;
  • XML_ERROR_UNDEFINED_ENTITY;
  • XML_ERROR_RECURSIVE_ENTITY_REF;
  • XMLJRROR_ASYNC_ENTITY;
  • XML_ERROR_BAD_CHAR_REF;
  • XML_ERROR_BINARY_ENTITY_REF;
  • XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF;
  • XML_ERROR_MISPLACED_XML_PI;
  • XMLJRRORJJNKNOWN ENCODING;
  • XML_ERRORJNCORRECT_ENCODING;
  • XML_ERROR_UNCLOSED_CDATA_SECTION;
  • XML_ERROR_EXTERNAL_ENTITY_HANDLING.
  • Примеры

    Следующие примеры демонстрируют возможности интерпретации документов XML.

    Распечатка структуры XML документа

    Сценарий выводит структуру на основе поиска открывающих и закрывающих тегов, используя в качестве форматирования отступы.

    Sfile = "data.xml": Sdeptti = аггау()

    function startElement($parser. $name. Sattrs)




    Содержание  Назад  Вперед