|Oracle8i Application Developer's Guide - XML
Release 3 (8.1.7)
Part Number A86030-01
Building n-Tier Architectures for Media-Rich Management using XML: ArtesiaTech, 9 of 13
When providing web-based access to digital asset management services, the challenge arises to maintain and aggregate user input from numerous wizards, all of which may be optional, into a data format capable of being reliably submitted for processing. Because entities can resolve to actual or empty data streams, XML can be deployed as a skeletal structure wherein any, all, or none of the wizard delivered data can be maintained as separate physical storage units and subsequently aggregated by the XML parser.
For example, consider the scenario wherein there are three wizards, each represented by an HTML page. User input is sequentially supplied as HTML form data and submitted to a servlet for processing as the user navigates from one HTML page (wizard) to the next. In order to preserve the contents of one page to the next, there are a number of approaches that can work. The data can be persistently stored inside of cookies, or it can be passed between the pages as hidden form data, but XML offers by far a more elegant solution. Consider the following XML-based skeletal structure for a transaction:
The data for each wizard is represented by an entity reference, which resolves from some storage system, ordinarily as simple a single file. Irrespective of the sequence of wizard traversal, the departure from one page always produces a transaction codified as an XML data stream whose readiness for submission can easily be governed by DTD-assigned rules. As data does not need to be passed between pages as part of an HTTP session, the state of a transaction can be efficiently maintained and updated.