Why XMLC?
Original XMLC Problem Space
XMLC was designed to work in the an environment where:
- The graphics designer and the programmer are different people
using different tools to create files. There graphics designer
using a HTML authoring tool which the programmer uses a text
editor.
- The graphics designer does the upfront work with the
customer, designing a mockup site with static HTML.
- An initial mockup of the the site is handed off to the
programmer (i.e. check into the source tree), who goes
about developing the dynamic presentation logic.
- The graphics designer will continue to refine the look and
feel of the site and check the modified site into the source
tree.
XMLC's Expanded View of the World
- A useful tool any place were HTML or XML documents are use as templates,
with dynamic content added to the page to create a new document.
XMLC Design Goals
The design goals of XMLC are:
- Be a generic template tool that turns HTML and XML documents
into objects that can then be manipulated externally rather
than with embedded code.
- HTML files will only contain legal HTML and work with
the HTML authoring tools prefered by the designer. The
HTML ID attribute is used as the mechanism for identifying
tags were mockup data is replaced by dynamic data.
- The HTML pages will remain a valid mockup of the site. The
designer may continue to evolve the pages as needed and
updates can be passed to the programmer without losing
the information necessary to generate dyanmic pages.
Since the HTML pages never contain anything but legal
HTML, this falls out naturally.
- Design changes that don't change the dynamic content
of a page should not affect the code. When such changes
do occur, the problem will be indicate at compile time
rather than run time. These goals are met by generating
access methods for the tags that are to be replaced with
dynamic data.
- HTML pages are resources to the Java programmer. There
Java programmer deals with objects and class in a manner
that is natural for them. Flow of the control is in the
hands of the Java, not the linear order defined by
the HTML pages.