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

xml.resolver.resolver_interface

Class XM_EXTERNAL_RESOLVER


Known direct descendants

XM_FILE_EXTERNAL_RESOLVER, XM_URI_EXTERNAL_RESOLVER, XM_CATALOG_BOOTSTRAP_RESOLVER, XM_NULL_EXTERNAL_RESOLVER, XM_STRING_EXTERNAL_RESOLVER

Features

Invariants

indexing

description

Interface for external resolver of system entities

library

Gobo Eiffel XML Library

copyright

Copyright (c) 2001, Andreas Leitner and others

license

Eiffel Forum License v2 (see forum.txt)

date

$Date: 2004/12/01 18:37:44 $

revision

$Revision: 1.2 $

deferred class

XM_EXTERNAL_RESOLVER

feature -- Action(s)

resolve (a_system: STRING)

-- Resolve a system identifier to an input stream
-- on behalf of an XML parser.

require
a_system_not_void: a_system /= Void
ensure
stream_open_on_success: not has_error implies last_stream.is_open_read
resolve_finish

-- The parser has finished with the last resolved entity.
-- The previously resolved entity becomes the last resolved one.
-- Note: last_stream is not required to be restored accordingly.

resolve_public (a_public: STRING; a_system: STRING)

-- Resolve a public/system identified pair to an input stream.
-- (Default implementation: resolve using system ID only.)

require
a_public_not_void: a_public /= Void
a_system_not_void: a_system /= Void
ensure
stream_open_on_success: not has_error implies last_stream.is_open_read

feature -- Result

has_error: BOOLEAN

-- Did the last resolution attempt succeed?

last_error: STRING

-- Last error message.

require
has_error: has_error
ensure
not_void: Result /= Void
last_stream: KI_CHARACTER_INPUT_STREAM

-- Last stream initialised from external entity.

require
not_error: not has_error
ensure
not_void: Result /= Void

invariant

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

end