Eiffel Media API
Overview Cluster Class Classes Index      Previous Next      Top Features

xml.event

Class XM_CALLBACKS


Known direct descendants

XM_CALLBACKS_FILTER, XM_FORWARD_CALLBACKS, XM_CALLBACKS_NULL

Features

Invariants

indexing

description

Callback interface for core content XML events

library

Gobo Eiffel XML Library

copyright

Copyright (c) 2002, Eric Bezault and others

license

Eiffel Forum License v2 (see forum.txt)

date

$Date: 2004/01/21 16:50:03 $

revision

$Revision: 1.13 $

deferred class

XM_CALLBACKS

feature -- Document

on_finish

-- Called when parsing finished.

on_start

-- Called when parsing starts.

on_xml_declaration (a_version: STRING; an_encoding: STRING; a_standalone: BOOLEAN)

-- XML declaration.

require
a_version_not_void: a_version /= Void
a_version_not_empty: a_version.count > 0

feature -- Errors

on_error (a_message: STRING)

-- Event producer detected an error.

require
not_void: a_message /= Void

feature -- Meta

on_comment (a_content: STRING)

-- Processing a comment.
-- Atomic: single comment produces single event
-- Warning: strings may be polymorphic, see XM_STRING_MODE.

require
a_content_not_void: a_content /= Void
on_processing_instruction (a_name: STRING; a_content: STRING)

-- Processing instruction.
-- Warning: strings may be polymorphic, see XM_STRING_MODE.

require
name_not_void: a_name /= Void
content_not_void: a_content /= Void

feature -- Tag

on_attribute (a_namespace: STRING; a_prefix: STRING; a_local_part: STRING; a_value: STRING)

-- Start of attribute.
-- Warning: strings may be polymorphic, see XM_STRING_MODE.

require
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_end_tag (a_namespace: STRING; a_prefix: STRING; a_local_part: STRING)

-- End tag.
-- Warning: strings may be polymorphic, see XM_STRING_MODE.

require
unresolved_namespace_is_void: has_resolved_namespaces implies a_namespace /= Void
local_part: is_local_part (a_local_part)
on_start_tag (a_namespace: STRING; a_prefix: STRING; a_local_part: STRING)

-- Start of start tag.
-- Warning: strings may be polymorphic, see XM_STRING_MODE.

require
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.

feature -- Content

on_content (a_content: STRING)

-- Text content.
-- NOT atomic: two on_content events may follow each other
-- without a markup event in between.
-- Warning: strings may be polymorphic, see XM_STRING_MODE.

require
not_void: a_content /= Void
not_empty: a_content.count >= 0

feature -- Support

has_namespace (a: STRING): BOOLEAN

-- Is namespace resolved?

has_prefix (a: STRING): BOOLEAN

-- Is prefix in use?

is_local_part (a: STRING): BOOLEAN

-- Is this a valid local part string?

ensure
definition: Result = (a /= Void and then a.count > 0)

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 XM_NAMESPACE_RESOLVER.

invariant

-- From ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)

end