Automatic generation produced by ISE Eiffel
note description: "[ A parser callbacks implementation for processing XML documents using a state-machine. ]" legal: "See notice at end of class." status: "See notice at end of class." date: "$Date: 2019-08-01 23:54:51 -0800 (Thu, 01 Aug 2019) $" revision: "$Revision: 103378 $" deferred class interface XML_STATE_LOAD_CALLBACKS feature -- Access associated_parser: detachable XML_PARSER -- Associated parser -- mainly used to report error back to the parser -- to handle position -- (from XML_CALLBACKS) generating_type: TYPE [detachable XML_STATE_LOAD_CALLBACKS] -- Type of current object -- (type of which it is a direct instance) -- (from ANY) ensure -- from ANY generating_type_not_void: Result /= Void generator: STRING_8 -- Name of current object's generating class -- (base class of the type of which it is a direct instance) -- (from ANY) ensure -- from ANY generator_not_void: Result /= Void generator_not_empty: not Result.is_empty last_error_message: STRING_32 -- Last error message require has_error: has_error ensure result_attached: Result /= Void xml_parser: XML_STOPPABLE_PARSER -- The XML parser used to in conjunction with Current feature -- Comparison frozen deep_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void -- or attached to isomorphic object structures? -- (from ANY) ensure -- from ANY instance_free: class shallow_implies_deep: standard_equal (a, b) implies Result both_or_none_void: (a = Void) implies (Result = (b = Void)) same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b)) symmetric: Result implies deep_equal (b, a) frozen equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached -- to objects considered equal? -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.is_equal (b)) frozen is_deep_equal alias "≡≡≡" (other: XML_STATE_LOAD_CALLBACKS): BOOLEAN -- Are Current and other attached to isomorphic object structures? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY shallow_implies_deep: standard_is_equal (other) implies Result same_type: Result implies same_type (other) symmetric: Result implies other.is_deep_equal (Current) is_equal (other: XML_STATE_LOAD_CALLBACKS): BOOLEAN -- Is other attached to an object considered -- equal to current object? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY symmetric: Result implies other ~ Current consistent: standard_is_equal (other) implies Result frozen standard_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached to -- field-by-field identical objects of the same type? -- Always uses default object comparison criterion. -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.standard_is_equal (b)) frozen standard_is_equal alias "≜" (other: XML_STATE_LOAD_CALLBACKS): BOOLEAN -- Is other attached to an object of the same type -- as current object, and field-by-field identical to it? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY same_type: Result implies same_type (other) symmetric: Result implies other.standard_is_equal (Current) feature -- Status report conforms_to (other: ANY): BOOLEAN -- Does type of current object conform to type -- of other (as per Eiffel: The Language, chapter 13)? -- (from ANY) require -- from ANY other_not_void: other /= Void has_error: BOOLEAN -- Indicates if Current has an error same_type (other: ANY): BOOLEAN -- Is type of current object identical to type of other? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY definition: Result = (conforms_to (other) and other.conforms_to (Current)) feature -- Status setting set_is_perserving_whitespace (a_preserve: like is_perserving_whitespace) -- Sets evalation of text content whitespace preservation. -- See `is_perserving_whitespace` for more information. -- -- a_preserve: True to retain the whitespace; False otherwise. ensure is_perserving_whitespace_set: is_perserving_whitespace = a_preserve feature -- Element change set_associated_parser (p: like associated_parser) -- Set p to `associated_parser` -- (from XML_CALLBACKS) feature -- Duplication copy (other: XML_STATE_LOAD_CALLBACKS) -- Update current object using fields of object attached -- to other, so as to yield equal objects. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_equal: Current ~ other frozen deep_copy (other: XML_STATE_LOAD_CALLBACKS) -- Effect equivalent to that of: -- `copy` (other . `deep_twin`) -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY deep_equal: deep_equal (Current, other) frozen deep_twin: XML_STATE_LOAD_CALLBACKS -- New object structure recursively duplicated from Current. -- (from ANY) ensure -- from ANY deep_twin_not_void: Result /= Void deep_equal: deep_equal (Current, Result) frozen standard_copy (other: XML_STATE_LOAD_CALLBACKS) -- Copy every field of other onto corresponding field -- of current object. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_standard_equal: standard_is_equal (other) frozen standard_twin: XML_STATE_LOAD_CALLBACKS -- New object field-by-field identical to other. -- Always uses default copying semantics. -- (from ANY) ensure -- from ANY standard_twin_not_void: Result /= Void equal: standard_equal (Result, Current) frozen twin: XML_STATE_LOAD_CALLBACKS -- New object equal to Current -- `twin` calls `copy`; to change copying/twinning semantics, redefine `copy`. -- (from ANY) ensure -- from ANY twin_not_void: Result /= Void is_equal: Result ~ Current feature -- Basic operations frozen default: detachable XML_STATE_LOAD_CALLBACKS -- Default value of object's type -- (from ANY) frozen default_pointer: POINTER -- Default value of type POINTER -- (Avoid the need to write p.`default` for -- some p of type POINTER.) -- (from ANY) ensure -- from ANY instance_free: class default_rescue -- Process exception for routines with no Rescue clause. -- (Default: do nothing.) -- (from ANY) frozen do_nothing -- Execute a null action. -- (from ANY) ensure -- from ANY instance_free: class feature -- Action handlers on_attribute (a_namespace: detachable READABLE_STRING_32; a_prefix: detachable READABLE_STRING_32; a_local_part: READABLE_STRING_32; a_value: READABLE_STRING_32) -- Start of attribute. require -- from XML_CALLBACKS unresolved_namespace_is_void: has_resolved_namespaces implies a_namespace /= Void local_part: is_local_part (a_local_part) a_value_not_void: a_value /= Void on_content (a_content: READABLE_STRING_32) -- Text content. require -- from XML_CALLBACKS not_void: a_content /= Void not_empty: a_content.count >= 0 on_end_tag (a_namespace, a_prefix: detachable READABLE_STRING_32; a_local_part: READABLE_STRING_32) -- End tag. require -- from XML_CALLBACKS unresolved_namespace_is_void: has_resolved_namespaces implies a_namespace /= Void local_part: is_local_part (a_local_part) on_report_xml_error (a_message: READABLE_STRING_32) -- Event producer detected an error. -- -- a_message: The XML error to report. require -- from XML_CALLBACKS not_void: a_message /= Void on_start -- Called when parsing starts. require -- from XML_CALLBACKS True on_start_tag (a_namespace: detachable READABLE_STRING_32; a_prefix: detachable READABLE_STRING_32; a_local_part: READABLE_STRING_32) -- Start of start tag. require -- from XML_CALLBACKS unresolved_namespace_is_void: has_resolved_namespaces implies a_namespace /= Void local_part: is_local_part (a_local_part) on_start_tag_finish -- End of start tag. require -- from XML_CALLBACKS True ensure then current_transition_stack_stack_unchanged: current_transition_stack.count = old current_transition_stack.count feature -- Actions frozen error_reported_actions: ACTION_SEQUENCE [READABLE_STRING_32, NATURAL_32, NATURAL_32] -- Actions used to receive notification of an error -- -- 'msg': Message and cause of the error. -- 'line': Offending one-based line index of the error. -- 'index': Offending one-base character index, on the line, of the error. -- Will be zero if the line is empty. ensure result_consistent: Result = error_reported_actions frozen warning_reported_actions: ACTION_SEQUENCE [READABLE_STRING_32, NATURAL_32, NATURAL_32] -- Actions used to receive notification of an warning -- -- 'msg': Message and cause of the warning. -- 'line': Offending one-based line index of the warning. -- 'index': Offending one-base character index, on the line, of the warning. -- Will be zero if the line is empty. ensure result_consistent: Result = warning_reported_actions feature -- Assertion has_resolved_namespaces: BOOLEAN -- Does this callback event consumer expect resolved -- namespaces? -- If True, it must be located downstream of a filter -- or source producing resolved namespaces such -- as XML_NAMESPACE_RESOLVER. -- (from XML_CALLBACKS) feature -- Document on_finish -- Called when parsing finished. -- (from XML_CALLBACKS_NULL) on_xml_declaration (a_version: READABLE_STRING_32; an_encoding: detachable READABLE_STRING_32; a_standalone: BOOLEAN) -- XML declaration. -- (from XML_CALLBACKS_NULL) require -- from XML_CALLBACKS a_version_not_void: a_version /= Void a_version_not_empty: a_version.count > 0 a_version_is_valid: a_version.is_valid_as_string_8 an_encoding_is_valid: an_encoding /= Void implies an_encoding.is_valid_as_string_8 feature -- Meta on_comment (a_content: READABLE_STRING_32) -- Processing a comment. -- Atomic: single comment produces single event -- (from XML_CALLBACKS_NULL) require -- from XML_CALLBACKS a_content_not_void: a_content /= Void on_processing_instruction (a_name: READABLE_STRING_32; a_content: READABLE_STRING_32) -- Processing instruction. -- (from XML_CALLBACKS_NULL) require -- from XML_CALLBACKS name_not_void: a_name /= Void content_not_void: a_content /= Void feature -- Output Io: STD_FILES -- Handle to standard file setup -- (from ANY) ensure -- from ANY instance_free: class io_not_void: Result /= Void out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY out_not_void: Result /= Void print (o: detachable ANY) -- Write terse external representation of o -- on standard output. -- (from ANY) ensure -- from ANY instance_free: class frozen tagged_out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY tagged_out_not_void: Result /= Void feature -- Platform Operating_environment: OPERATING_ENVIRONMENT -- Objects available from the operating system -- (from ANY) ensure -- from ANY instance_free: class operating_environment_not_void: Result /= Void feature -- Support has_namespace (a: detachable READABLE_STRING_32): BOOLEAN -- Is namespace resolved? -- (from XML_CALLBACKS) has_prefix (a: detachable READABLE_STRING_32): BOOLEAN -- Is prefix in use? -- (from XML_CALLBACKS) is_local_part (a: detachable READABLE_STRING_32): BOOLEAN -- Is this a valid local part string? -- (from XML_CALLBACKS) ensure -- from XML_CALLBACKS definition: Result = (a /= Void and then a.count > 0) invariant current_transition_stack_attached: current_transition_stack /= Void current_attributes_stack_attached: current_attributes_stack /= Void current_content_stack_attached: current_content_stack /= Void xml_parser_attached: xml_parser /= Void xml_parser_callbacks_is_current: xml_parser.callbacks = Current -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note copyright: "Copyright (c) 1984-2019, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" licensing_options: "http://www.eiffel.com/licensing" copying: "[ This file is part of Eiffel Software's Eiffel Development Environment. Eiffel Software's Eiffel Development Environment is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 of the License (available at the URL listed under "license" above). Eiffel Software's Eiffel Development Environment is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Eiffel Software's Eiffel Development Environment; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ]" source: "[ Eiffel Software 5949 Hollister Ave., Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com ]" end -- class XML_STATE_LOAD_CALLBACKS -- Generated by Eiffel Studio --
For more details: eiffel.org