Files
phpy/lib/php/xml.py

133 lines
3.4 KiB
Python

import phpy
ERROR_NONE = 0
ERROR_NO_MEMORY = 1
ERROR_SYNTAX = 2
ERROR_NO_ELEMENTS = 3
ERROR_INVALID_TOKEN = 4
ERROR_UNCLOSED_TOKEN = 5
ERROR_PARTIAL_CHAR = 6
ERROR_TAG_MISMATCH = 7
ERROR_DUPLICATE_ATTRIBUTE = 8
ERROR_JUNK_AFTER_DOC_ELEMENT = 9
ERROR_PARAM_ENTITY_REF = 10
ERROR_UNDEFINED_ENTITY = 11
ERROR_RECURSIVE_ENTITY_REF = 12
ERROR_ASYNC_ENTITY = 13
ERROR_BAD_CHAR_REF = 14
ERROR_BINARY_ENTITY_REF = 15
ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF = 16
ERROR_MISPLACED_XML_PI = 17
ERROR_UNKNOWN_ENCODING = 18
ERROR_INCORRECT_ENCODING = 19
ERROR_UNCLOSED_CDATA_SECTION = 20
ERROR_EXTERNAL_ENTITY_HANDLING = 21
OPTION_CASE_FOLDING = 1
OPTION_TARGET_ENCODING = 2
OPTION_SKIP_TAGSTART = 3
OPTION_SKIP_WHITE = 4
SAX_IMPL = "libxml"
def parser_create(_encoding=None):
return phpy.call('xml_parser_create', _encoding)
def parser_create_ns(_encoding=None, _separator=":"):
return phpy.call('xml_parser_create_ns', _encoding, _separator)
def set_object(_parser, _object):
return phpy.call('xml_set_object', _parser, _object)
def set_element_handler(_parser, _start_handler, _end_handler):
return phpy.call('xml_set_element_handler', _parser, _start_handler, _end_handler)
def set_character_data_handler(_parser, _handler):
return phpy.call('xml_set_character_data_handler', _parser, _handler)
def set_processing_instruction_handler(_parser, _handler):
return phpy.call('xml_set_processing_instruction_handler', _parser, _handler)
def set_default_handler(_parser, _handler):
return phpy.call('xml_set_default_handler', _parser, _handler)
def set_unparsed_entity_decl_handler(_parser, _handler):
return phpy.call('xml_set_unparsed_entity_decl_handler', _parser, _handler)
def set_notation_decl_handler(_parser, _handler):
return phpy.call('xml_set_notation_decl_handler', _parser, _handler)
def set_external_entity_ref_handler(_parser, _handler):
return phpy.call('xml_set_external_entity_ref_handler', _parser, _handler)
def set_start_namespace_decl_handler(_parser, _handler):
return phpy.call('xml_set_start_namespace_decl_handler', _parser, _handler)
def set_end_namespace_decl_handler(_parser, _handler):
return phpy.call('xml_set_end_namespace_decl_handler', _parser, _handler)
def parse(_parser, _data, _is_final=False):
return phpy.call('xml_parse', _parser, _data, _is_final)
def parse_into_struct(_parser, _data, _values, _index=None):
return phpy.call('xml_parse_into_struct', _parser, _data, _values, _index)
def get_error_code(_parser):
return phpy.call('xml_get_error_code', _parser)
def error_string(_error_code):
return phpy.call('xml_error_string', _error_code)
def get_current_line_number(_parser):
return phpy.call('xml_get_current_line_number', _parser)
def get_current_column_number(_parser):
return phpy.call('xml_get_current_column_number', _parser)
def get_current_byte_index(_parser):
return phpy.call('xml_get_current_byte_index', _parser)
def parser_free(_parser):
return phpy.call('xml_parser_free', _parser)
def parser_set_option(_parser, _option, _value):
return phpy.call('xml_parser_set_option', _parser, _option, _value)
def parser_get_option(_parser, _option):
return phpy.call('xml_parser_get_option', _parser, _option)
class XMLParser():
def __init__(self):
self.__this = phpy.Object(f'XMLParser')
def getattr(self, name):
return self.__this.get(name)
def setattr(self, name, value):
self.__this.set(name, value)