Chapter 15 594 Along the way, we will also be covering design techniques applicable for client-side Java XML programming. More specifically, we will see: q How to get XML data from the server to the client side using proven technology q How to access and manipulate the XML data on the client side q How to modify the appearance of the client-side XML document, with or without Java In short, we will see how, as professional Java programmers, we can add value to a web-based application by moving a portion of the presentation logic from server to client. A servlet can be used on the server side to provide this sharing. In order to be complete, there is one more common architecture, somewhere between the 'thin' and the 'medium weight' client that we must take a look at. In this case, XML data and/or mixed HTML/XML data is sent between the client and the server, but the client takes advantage of the built-in support on the browser for presenting the XML data to the user. For example, IE 5 will handle XSLT stylesheets for transforming XML data into HTML documents. The diagram below illustrates this scenario: Client Application Logic Web Browser HTTP carrying Pure XML Data Scripting Logic Built-in formatting via XSL or CSS We will conclude this chapter with an examination of the built-in XML handling capabilities within the current breed of mainstream browsers. Obviously, we can also combine these capabilities with client- side custom applet processing functionality.