other handlers to consider

2007-08-14 @ 03:51#

now that i have the baseline code pretty stable, i;m reviewing the various handlers i've implemented for exyus. this is all with an eye toward enriching the handler collection. theoretically, i can add one any time. even doing it 'out of band' and compiled separately.

currently, my model is to use generated XML w/ XSLT transforms along with XSD to validate inputs. this reduces the amount of scripting i need to do (in most all cases i do server scripting) and forces me to reply on HTTP methods and returns for just about everything. that said, i am currently working with a limited representation set. so far, here' what i've implemented.

SqlXmlHandler
handles mapping requests to the SQL store. representations are always XML.
HtmlPostHandler
handles GET, HEAD & POST requests. used for simple HTML FORM POST pattern
XmlPageHandler
handle mapping GET & HEAD requests to an internal XML/XSLT templating system.
XmlTemplateHandler
handles special requests for resolving 'partial-page' items such as headers, footers, etc.

note that i handle RSS/ATOM GET requests using the XmlPageHandler with the appropriate XSLT. i could produce microformat output (either stand-alone or within XHTML) using the proper XSLT document.

here are some other possible representations to consider:

AtomHandler
handles mapping requests to the SQL store with Atom representations
JsonHandler
handles mapping requests to the SQL store with representations as JSON objects.
XmlRpcHandler
handles mapping requests to the SQL store with representations as XML-RPC objects.
PdfHandler
handles mapping GET & HEAD requests for PDF representations. i have a very nice FO-XSL library in mind for this.
SvgHandler
handles generating SVG markup. highly dubious since i know so little about this format[grin]

i also need a simple way to handle email posting and other common tasks. of course, i can always write custom compiled code to handle work flow as required. but it would be nice to have the basic patterns already established and ready to use.

UPDATE

of course, an RDF handler would be nice, but i just don't have the 'smarts' for that yet [grin].

site