Engineering applications for the World Wide Web is becoming increasingly difficult. Web engineers are forced to contend with a heterogeneous collection of Web services, which differ in terms of available bandwidth, display quality and connection type. Faced with these sources of heterogeneity, Web engineers often publish separate, typically redundant Web sites, each of which is tailored into a specific Web device. This paper describes an XML-based approach, called FlexXML, thant enables a more flexible and adaptable Web. Using FlexXML, a Web engineer publishes a single Web site, using XML to describe the site's content and XSL to specify a collection of style sheets. FlexXML allows a Web user to specify a document quality (e.g., text- or graphics-based) that they desire from a Web site. Based upon the Web user's preferences and browser environment, the FlexXML framework automatically selects a suitable XSL style sheet, creates the document and delivers the appropriate content.