Ferdinand Soethe wrote:
OK, I've commited part 1, the input plugin for now to learn about
connecting the grammar properly.
SmartSlides is about creating smart presentations using a specialized
grammar that guides the users through the creation process.
I've renamed it to 'SmartSlides' since 'Slidy' is really only a small part of it
all and will only play a role in the output-plugin.
At this point the ant test fails because
the presentation example document cannot be verified.
I have no idea about relaxNG I'm afraid.
Btw: Is there a way around having to create yet another plugin for the
output as a slidy presentation. It will create so much redundand code
(example site, grammar, documentation) that it would really be much
nicer if I could create it as an inAndOutputPlugin.
It is possible to "cheat" the plugin system and have a plugin that does
both input and output. However, there are very good reasons for not
doing this, most importantly separation of concerns, a plugin should
only do one job, input, or output. This makes it much easier to maintain
and resuse code.
Looking at your examples of redundant code:
site: I don't see this as the case, your input plugin takes your new
schema and creates our internal format, so only documents the new
schema, there is no need to document what it is converted into internally.
grammar: why is this needed on the output side? The output plugin should
only work with our internal format.
documentation: isn't this the same as site?
Ross