Files
EWF/library/text/parser/feed/src/feed_parser.e
2015-09-07 19:22:50 +02:00

63 lines
1.1 KiB
Plaintext

note
description: "[
Interface common to any FEED parser.
Usage:
create parser
if attached parser.feed_from_string (l_feed_content) as l_feed then
...
]"
date: "$Date$"
revision: "$Revision$"
deferred class
FEED_PARSER
inherit
FEED_PARSER_UTILITIES
feature -- Access
name: STRING
-- Associated name.
deferred
ensure
not_blanc: not Result.is_whitespace
end
is_detected (xdoc: XML_DOCUMENT): BOOLEAN
-- Is `xdoc' an feed representation or Current supported format?
deferred
end
feed (xdoc: XML_DOCUMENT): detachable FEED
-- Feed from `xdoc' XML document.
require
is_detected: is_detected (xdoc)
deferred
end
feature -- Basic operations
feed_from_string (a_content: READABLE_STRING_8): like feed
-- Feed from `a_content' document.
local
p: XML_STANDARD_PARSER
cb_tree: XML_CALLBACKS_FILTER_DOCUMENT
xdoc: XML_DOCUMENT
do
create p.make
create cb_tree.make_null
p.set_callbacks (cb_tree)
p.parse_from_string_8 (a_content)
if p.is_correct then
xdoc := cb_tree.document
if is_detected (xdoc) then
Result := feed (xdoc)
end
end
end
end