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

xml.event

Class XM_DTD_XMLID_VALIDATOR


Direct ancestors

XM_DTD_CALLBACKS_FILTER, KL_SHARED_STRING_EQUALITY_TESTER, XM_MARKUP_CONSTANTS

Creation

Features

Invariants

indexing

description

xml:id DTD validator

library

Gobo Eiffel XML Library

copyright

Copyright (c) 2005, Eric Bezault and others

license

Eiffel Forum License v2 (see forum.txt)

date

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

revision

$Revision: 1.2 $

class

XM_DTD_XMLID_VALIDATOR

inherit

XM_DTD_CALLBACKS_FILTER

create

make_null

-- Next is null processor.

-- (From XM_DTD_CALLBACKS_FILTER)

set_next (a_next: like next)

-- Set receiver of forwarded events.

-- (From XM_DTD_CALLBACKS_SOURCE)

require
a_callback_not_void: a_callback /= Void

feature -- Access

has_error: BOOLEAN

-- Is xml:id incorrectly declared to be other than ID type?

id_attributes: DS_HASH_TABLE [DS_SET [STRING], STRING]

-- List of ID attributes other than xml:id

is_id_attribute (an_element_name, a_name: STRING): BOOLEAN

-- Is this attribute declared with type ID?

require
an_element_name_not_void: an_element_name /= Void
a_name_not_void: a_name /= Void
: XM_DTD_CALLBACKS

-- Receiver for forwarded events

-- (From XM_DTD_CALLBACKS_FILTER)

set_next (a_next: like next)

-- Set receiver of forwarded events.

-- (From XM_DTD_CALLBACKS_SOURCE)

require
a_callback_not_void: a_callback /= Void

feature -- 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

feature -- ID callbacks

on_id_attribute_declaration (an_element_name, a_name: STRING)

-- An attribute has been declared of type ID.

require
an_element_name_not_void: an_element_name /= Void
a_name_not_void: a_name /= Void
ensure
done: is_id_attribute (an_element_name, a_name)
on_invalid_id_declaration

-- An invalid xml:id declaration has another type has occurred

feature -- Document type definition callbacks

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

invariant

next_not_void: next /= Void

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

end