Choosing Between Server-Side and Client-Side XML

Internet Explorer 5 natively supports XML. You can send XML to the browser with an XSL file or a schema for markup and validation, both to take advantage of the client computers' desktop processing power and to decrease the load on your Web server. There are other advantages to sending XML to the browser; for example, you can send data to the browser in an XML file and use XSL to sort and filter the data to create different views without incurring any further trips to the server.

Currently, browsers that fully support XML are few and far between. If you want your application to communicate with clients using browsers other than Internet Explorer 5, you cannot rely on the browser to provide fully implemented XML technologies. Internet Explorer 4.0, for example, contains the XML object model, a generalized XML parser, and a DSO written in Java, but does not support XSL, schemas, and other features that Internet Explorer 5 offers.

To reach a broader range of clients, you can use Active Server Pages (ASP) to generate HTML files from XML on the server; for example, in the PT application, the only XML feature implemented in the client is the XML data source object (DSO). The PT application implements two different server-side approaches to generate HTML from XML and send the HTML to the browser. The PT application generates its menus with an XSL transformation,. An XML merge process combines XML files in the Lingo component on the business-services tier.

XML transformations incur a cost if the traffic on your Web server is considerable. Server-side transformations use late binding to call the XML Document Object Model (XML DOM) component. This can limit the scalability of applications that use the XML DOM in this way. But until you can rely on XML support in your clients' browsers, server-side processing is necessary.

The following illustration shows the architectural differences between server-side and client-side XML processing. An application that targets downlevel browsers loads XML and XSL into the XML parser through Active Server Pages and sends the resulting HTML to the client. An application that targets Internet Explorer 5 processes the downloaded XML and XSL files on the client itself, greatly reducing the demand for server resources. .

For a more detailed discussion of this issue, see the "Extreme XML" column "ASP Technology and the XML DOM" under "Voices" on the MSDN site.