This paper outlines a methodology for designing information systems based on XML. The methodology uses XML DTDs to define the design standards, and the structure and constraints of the design specifications. The result of the design process is a set of valid XML documents that are the specifications of transaction programs and applications of the information system. At the start of a design process, the methodology uses a CASE tool to map user requirements into initial XML specifications. Final design specifications are produced by a sequence of XSL transformations of the initial XML specifications. A key feature of the methodology is that it produces a platform independent design of an information system. To enable an early feedback from users, the methodology uses further XSL transformations that produce an executable prototype of the information system in the Java programming environment.