Links: Next Previous Up Top
How does the specification file tell sgmlspl what to do?
sgmlspl uses an event model rather than
a procedural model -- instead of
saying "do A then B then C" you say "whenever X
happens, do A; whenever Y happens, do B; whenever Z happens, do
C". In other words, while you design the code, sgmlspl
decides when and how often to run it.
The specification file, which contains your instructions, is
regular perl5 code, and you can define packages and subroutines,
display information, read files, create variables, etc. For
processing the SGML document, however, sgmlspl exports a single
subroutine, sgml(event,
handler), into the 'main' package
-- each time you call sgml, you declare a
handler for a specific type of sgmls event, and sgmlspl will then
execute that handler every time the event occurs. You may use
sgml to declare a handler for a generic event, like
'start_element', or a specific event,
like '<DOC>' -- a specific event will
always take precedence over a generic event, so when the
DOC element begins, sgmlspl will execute the
'<DOC>' handler rather than the
'start_element' handler.
Links: Next Previous Up Top
David Megginson <dmeggins@aix1.uottawa.ca>