For instance, if you want to provide two versions of a site, you can manually maintain both versions, which can lead to a lot of errors or with one section of the site not being updated regularly, or you can automate the process, and make it easy to update repeated sections of text, toolbars, etc. Preprocessors Using a preprocessor allows you to automate the information in your pages with macros and variables, and allows you to publish a version of your site with those macros and variables replaced with the appropriate HTML code so that no server plugin or script is required to access the information. The advantages to this approach over server side scripting are that pages load faster, since no additional work is required by the server, and no special server software is required, so you can use a preprocessor regardless of your server setup. The advantages of this approach are that you can use dynamic information on your pages, such as the current time, the browser the visitor is using, etc., and that there is only one verison of your pages to maintain. The disadvantages are that you need to have support on your server for the script or plugin you are using, there can be security problems with software of this type, and the additional processing the server must do can slow the loading of your pages.
Many tools can function both as preprocessors and as server side plugins or scripts.
Interaction is a Mac web server companion that makes web sites dynamic social places that adapt to the visitor. It support XML and style sheets, which are processed into HTML at serving time. Services such as threaded forums and chat rooms comes as optional components to the application, and are designed to work with all standard browsers included WebTV and text-only browsers. The application processes XML into standard HTML at publishing time based on Cascading Style Sheets. This offers many of the advantages of one-source publishing, but without the overhead, expense and complexity of an SGML system.