Sidewinder uses XHTML as a 'base' language into which other languages can be added. Any document passed into Sidewinder is validated at the same time as it is rendered.
Validation is performed using the base schemata from XHTML 1.1 Modularisation, into which schemata for XForms, SVG, XLink, XML Events and MathML have been added. Support for each language is pluggable, and new languages will be added.
Rendering takes place in parallel to validation rather than following it so as not to delay display of the document to the user.
And just as the languages that can be supported are pluggable, so too are other components that Sidewinder uses, such as renderers. Sidewinder currently detects both Internet Explorer and Gecko, and allows switching between the two renderers via a menu, even after a document has been loaded.

