class XML_DTD_VALIDATOR
Summary
Class invariant
Overview
creation features
features
Nodes management, for validation
Attributes string management
<!ELEMENT . . .>
<!ATTLIST . . .>
<!ENTITY . . .>
Backtracking internals
  • recycle
    Do whatever needs to be done to free resources or recycle other objects when recycling this one
internal
Common client features
Control of the exploration
Internal
Specific to sequences
Specific to alternatives
internal: allocation and collection
the pools
Memory management
writable attribute
writable attribute
point: XML_DTD_NODE
writable attribute
with_attribute (attribute_name: STRING, attribute_value: STRING, line: INTEGER_32, column: INTEGER_32)
effective procedure
Called by the parser to add an attribute of a node BEFORE calling open_node
is_valid_open_node (node_name: STRING, line: INTEGER_32, column: INTEGER_32): BOOLEAN
effective function
When the parser reads an opening node
is_valid_close_node (node_name: STRING, line: INTEGER_32, column: INTEGER_32): BOOLEAN
effective function
When the parser reads a closing node
is_valid_open_close_node (node_name: STRING, line: INTEGER_32, column: INTEGER_32): BOOLEAN
effective function
When the parser reads a node that opens and closes immediately (syntax "<node/>")
current_node: STRING
effective function
The current node
open_node (node_name: STRING, line: INTEGER_32, column: INTEGER_32)
effective procedure
When the parser reads an opening node
close_node (node_name: STRING, line: INTEGER_32, column: INTEGER_32)
effective procedure
When the parser reads a closing node
open_close_node (node_name: STRING, line: INTEGER_32, column: INTEGER_32)
effective procedure
When the parser reads a node that opens and closes immediately (syntax "<node/>")
entity (a_entity: STRING, line: INTEGER_32, column: INTEGER_32): STRING
effective function
When the parser reads an &entity;'.
is_valid_data (a_data: STRING, line: INTEGER_32, column: INTEGER_32): BOOLEAN
effective function
Called by the parser when the node contains raw data
data (a_data: STRING, line: INTEGER_32, column: INTEGER_32)
effective procedure
Called by the parser when the node contains raw data
the_end
effective procedure
Called when the xml is totally parsed; usually it is used to recycle memory resources
once function
new_node (node: XML_DTD_ELEMENT, parent: XML_DTD_NODE): XML_DTD_NODE
effective function
free_node (a_node: XML_DTD_NODE)
effective procedure
strings_pool: FAST_ARRAY[STRING]
once function
new_string (s: STRING): STRING
effective function
free_string (a_string: STRING)
effective procedure
clear_attributes
effective procedure
parse_done
effective procedure
Called when done parsing the DTD
writable attribute
current_element: XML_DTD_ELEMENT
writable attribute
element_built (element_name: STRING): BOOLEAN
effective function
adding_element (element_name: STRING): BOOLEAN
effective function
building_element: BOOLEAN
effective function
add_element (element_name: STRING)
effective procedure
commit_element (element_name: STRING)
effective procedure
list_depth: INTEGER_32
effective function
open_list
effective procedure
close_list
effective procedure
one_or_more
effective procedure
zero_or_more
effective procedure
zero_or_one
effective procedure
exactly_one
effective procedure
pcdata (alternative: BOOLEAN)
effective procedure
any
effective procedure
empty
effective procedure
child (child_element_name: STRING)
effective procedure
alternative_child (child_element_name: STRING)
effective procedure
root_element: XML_DTD_ELEMENT
effective function
get_element (element_name: STRING): XML_DTD_ELEMENT
effective function
once function
attlist_element: XML_DTD_ELEMENT
writable attribute
building_attlist: BOOLEAN
effective function
has_attlist (element_name: STRING, attribute_name: STRING): BOOLEAN
effective function
adding_attlist (element_name: STRING, attribute_name: STRING): BOOLEAN
effective function
add_attlist (element_name: STRING, attribute_name: STRING)
effective procedure
commit_attlist (element_name: STRING, attribute_name: STRING)
effective procedure
addlist_list_value (value: STRING)
effective procedure
attlist_cdata
effective procedure
attlist_id
effective procedure
attlist_idref
effective procedure
attlist_idrefs
effective procedure
attlist_nmtoken
effective procedure
attlist_nmtokens
effective procedure
attlist_entity
effective procedure
attlist_entities
effective procedure
attlist_notation
effective procedure
attlist_required
effective procedure
attlist_implied
effective procedure
attlist_fixed (value: STRING)
effective procedure
attlist_default_value (value: STRING)
effective procedure
writable attribute
has_entity (entity_name: STRING): BOOLEAN
effective function
add_entity (pe_name: STRING, entity_name: STRING, entity_value: STRING)
effective procedure
backtrack_valid_data (a_children: FAST_ARRAY[XML_DTD_NODE], a_node: BACKTRACKING_NODE, a_data: STRING): BOOLEAN
effective function
backtrack_is_valid (a_children: FAST_ARRAY[XML_DTD_NODE], a_node: BACKTRACKING_NODE, a_next: STRING): BOOLEAN
effective function

backtrack_valid_child (n: XML_DTD_ELEMENT)
effective procedure
backtrack_valid_pcdata
effective procedure
backtrack_valid_any
effective procedure
backtrack_valid_empty
effective procedure
backtrack_valid_end
effective procedure
backtrack_pcdata: STRING
writable attribute
backtrack_children: FAST_ARRAY[XML_DTD_NODE]
writable attribute
backtrack_index: INTEGER_32
writable attribute
backtrack_ok: BOOLEAN
writable attribute
backtrack_next: STRING
writable attribute
writable attribute
context_clear
effective procedure
Clear any saved context.
context_push
effective procedure
Push the current context.
context_restore
effective procedure
Restore the context to the last saved one.
context_restore_and_pop
effective procedure
Restore the context to the last saved one and drop it.
context_cut
effective procedure
Remove the last saved context.
root_name: STRING
writable attribute
make (root_node_name: STRING)
effective procedure
recycle
effective procedure
Do whatever needs to be done to free resources or recycle other objects when recycling this one
recycle_elements
effective procedure
set_current_node (node: BACKTRACKING_NODE)
effective procedure
Set the next node of the BACKTRACKING_NODE graph to be evaluated.
push_and (node: BACKTRACKING_NODE)
effective procedure
Pushes 'node' in front of the continuation path.
push_and_list (list: BACKTRACKING_NODE_AND_LIST)
effective procedure
Pushes 'list' in front of the continuation path.
push_or (node: BACKTRACKING_NODE)
effective procedure
Pushes 'node' in front of the possible alternatives.
push_or_list (list: BACKTRACKING_NODE_OR_LIST)
effective procedure
Pushes 'list' in front of the possible alternatives.
evaluate_current_state
effective procedure
That feature is called to evaluate the current state
search_first
effective procedure
Resets all and searchs the first solution.
search_next
effective procedure
Searchs the next solution.
search_is_success: BOOLEAN
writable attribute
True when search is successfull
is_off: BOOLEAN
effective function
True when search is finished
clear
effective procedure
Clears the current state to nothing.
is_cleared: BOOLEAN
effective function
True if no partial data remain in the current state
push_sequence (sequence: ABSTRACT_BACKTRACKING_SEQUENCE)
effective procedure
Pushs the 'sequence' in front of the continuation path.
push_alternative (alternative: ABSTRACT_BACKTRACKING_ALTERNATIVE)
effective procedure
Pushs the 'alternative' before the continuation path.
continue
effective procedure
Continues the exploration of the current path.
backtrack
effective procedure
Stops the exploration of the current path and tries to explore the next alternative path.
push_cut_point
effective procedure
Inserts a cut point into the continuation path.
cut
effective procedure
Removes the alternatives until the one recorded by the next cut point in the continuation path.
cut_all
effective procedure
Cuts all alternatives.
stop_search_loop: BOOLEAN
writable attribute
True if at the end of a search.
search
effective procedure
Common search loop to search_first and serch_next
cut_until (alternative: ABSTRACT_BACKTRACKING_ALTERNATIVE)
effective procedure
Cut all alternatives until 'alternative'.
writable attribute
Stack of sequences represented by its top (can be Void)
current_continuation: ABSTRACT_BACKTRACKING_SEQUENCE
writable attribute
The current continuation path
pop_sequence
effective procedure
Removes the current sequence and replace it by the next sequence in the continuation path.
writable attribute
Stack of alternatives represented by its top (can be Void)
continue_alternative
effective procedure
Returns to the alternative on the top of the stack and put its saved continuation path as the current continuation path.
pop_alternative
effective procedure
Returns to the alternative on the top of the stack and put its saved continuation path as the current continuation path.
remove_top_sequence
effective procedure
Removes the top sequence.
remove_top_alternative
effective procedure
Removes the top alternative.
once function
Bank of cut points
once function
pool_of_sequence_list: BACKTRACKING_POOL_OF_SEQUENCE_LIST
once function
pool_of_alternative: BACKTRACKING_POOL_OF_ALTERNATIVE
once function
pool_of_alternative_list: BACKTRACKING_POOL_OF_ALTERNATIVE_LIST
once function
dtd_validators_pool: RECYCLING_POOL[XML_DTD_VALIDATOR]
effective function
new_dtd_validator (root_node_name: STRING): XML_DTD_VALIDATOR
effective function
recycle_dtd_validator (a_validator: XML_DTD_VALIDATOR)
effective procedure