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

xml.event

Class XM_OASIS_XML_CATALOG_FILTER


Direct ancestors

XM_DTD_CALLBACKS_FILTER, XM_CALLBACKS_FILTER, XM_SHARED_CATALOG_MANAGER, KL_IMPORTED_STRING_ROUTINES

Creation

Features

Invariants

indexing

description

Filters that read oasis-xml-catalog PIs and update the catalog manager.

library

Gobo Eiffel XML Library

copyright

Copyright (c) 2004, Colin Adams and others

license

Eiffel Forum License v2 (see forum.txt)

date

$Date: 2005/07/13 19:45:03 $

revision

$Revision: 1.4 $

class

XM_OASIS_XML_CATALOG_FILTER

inherit

XM_DTD_CALLBACKS_FILTER
XM_CALLBACKS_FILTER
XM_SHARED_CATALOG_MANAGER
KL_IMPORTED_STRING_ROUTINES

create

set_next (a_callback: XM_CALLBACKS; a_dtd_callback: XM_DTD_CALLBACKS)

-- Set forward chains.

require
callbacks_not_void: a_callback /= Void
dtd_callbacks_not_void: a_dtd_callback /= Void

feature -- Access

string_: KL_STRING_ROUTINES

-- Routines that ought to be in class STRING

-- (From KL_IMPORTED_STRING_ROUTINES)

ensure
string_routines_not_void: Result /= Void
callbacks: XM_CALLBACKS

-- Callbacks event interface to which events are forwarded;
-- If void, a null callback is created on startup.

-- (From XM_FORWARD_CALLBACKS)

dtd_callbacks: XM_DTD_CALLBACKS

-- Receiver for forwarded events

-- (From XM_DTD_CALLBACKS_FILTER)

set_next_dtd (a_next: like next)

-- Set receiver of forwarded events.

-- (From XM_DTD_CALLBACKS_SOURCE)

require
a_callback_not_void: a_callback /= Void
shared_catalog_manager: XM_CATALOG_MANAGER

-- Shared catalog manager

-- (From XM_SHARED_CATALOG_MANAGER)

ensure
shared_catalog_manager_not_void: Result /= Void

feature -- Tag

on_start_tag (a_namespace: STRING; a_prefix: STRING; a_local_part: STRING)

-- Start of start tag.

-- (From XM_CALLBACKS)

require
unresolved_namespace_is_void: has_resolved_namespaces implies a_namespace /= Void
local_part: is_local_part (a_local_part)

feature -- Meta

on_processing_instruction (a_name: STRING; a_content: STRING)

-- Processing instruction.

-- (From XM_CALLBACKS)

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

feature -- Document type definition callbacks

on_attribute_declaration (an_element_name, a_name: STRING; a_model: XM_DTD_ATTRIBUTE_CONTENT)

-- Attribute declaration, one event per attribute.

-- (From XM_DTD_CALLBACKS)

require
an_element_name_not_void: an_element_name /= Void
a_name_not_void: a_name /= Void
a_model_not_void: a_model /= Void
on_doctype (a_name: STRING; an_id: XM_DTD_EXTERNAL_ID; has_internal_subset: BOOLEAN)

-- Document type declaration.

-- (From XM_DTD_CALLBACKS)

require
a_name_not_void: a_name /= Void
on_dtd_comment (a_content: STRING)

-- Comment.

-- (From XM_DTD_CALLBACKS)

require
a_content_not_void: a_content /= Void
on_dtd_end

-- End of DTD.

-- (From XM_DTD_CALLBACKS)

on_dtd_processing_instruction (a_name, a_content: STRING)

-- PI.

-- (From XM_DTD_CALLBACKS)

require
name_not_void: a_name /= Void
content_not_void: a_content /= Void
on_element_declaration (a_name: STRING; a_model: XM_DTD_ELEMENT_CONTENT)

-- (From XM_DTD_CALLBACKS)

require
a_name_not_void: a_name /= Void
a_model_not_void: a_model /= Void
on_entity_declaration (entity_name: STRING; is_parameter: BOOLEAN; value: STRING;an_id: XM_DTD_EXTERNAL_ID; notation_name: STRING)

-- Entity declaration.

-- (From XM_DTD_CALLBACKS)

require
entity_name_not_void: entity_name /= Void
on_notation_declaration (notation_name: STRING; an_id: XM_DTD_EXTERNAL_ID)

-- Notation declaration.

-- (From XM_DTD_CALLBACKS)

require
notation_name_not_void: notation_name /= Void
id_not_void: an_id /= Void

feature -- Setting

set_next_filter (a_callbacks: like callbacks)

-- Set callbacks to a_callbacks.

-- (From XM_CALLBACKS_SOURCE)

require
a_callback_not_void: a_callback /= Void

feature {NONE} -- Content

on_content (a_content: STRING)

-- Forward content.

-- (From XM_CALLBACKS)

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

feature {NONE} -- Tag

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

-- Process attribute.

-- (From XM_CALLBACKS)

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.

-- (From XM_CALLBACKS)

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.

-- (From XM_CALLBACKS)

feature {NONE} -- Meta

on_comment (a_content: STRING)

-- Forward comment.

-- (From XM_CALLBACKS)

require
a_content_not_void: a_content /= Void

feature {NONE} -- Errors

on_error (a_message: STRING)

-- Event producer detected an error.

-- (From XM_CALLBACKS)

require
not_void: a_message /= Void

feature {NONE} -- Document

on_finish

-- Forward finish.

-- (From XM_CALLBACKS)

on_start

-- Forward start.

-- (From XM_CALLBACKS)

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

-- XML declaration.

-- (From XM_CALLBACKS)

require
a_version_not_void: a_version /= Void
a_version_not_empty: a_version.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.

-- (From XM_CALLBACKS)

feature -- Support

has_namespace (a: STRING): BOOLEAN

-- Is namespace resolved?

-- (From XM_CALLBACKS)

has_prefix (a: STRING): BOOLEAN

-- Is prefix in use?

-- (From XM_CALLBACKS)

is_local_part (a: STRING): BOOLEAN

-- Is this a valid local part string?

-- (From XM_CALLBACKS)

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

invariant


next_not_void: next /= Void

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

next_not_void: next /= Void

end