DxpHome ||
Samples ||
Details ||
Docs ||
Trees ||
xml-xsl ||
Links
This is the home of the XML namespace dxp.plands.com
dxp is an acronym for Dynamic XML Page. The dxp system is a framework
for building web applications that interact with online database systems. Applications are built
from a collection of .dxp pages written as xml source files. The page you are reading now
was created by a very simple dxp page that writes a static file with a shared header and footer.
<?xml version="1.0"?>
<dxp:DxpPage xmlns:dxp="dxp.plands.com" contentType="text/html" staticFile="index.html" buffsize="6000">
<dxp:ReadBytes filename="header0.txt"/>
<dxp:ReadBytes filename="index-content.txt"/>
<dxp:ReadBytes filename="footer0.txt"/> </dxp:DxpPage>
A DxpPage is a server side object that dynamically creates HTML, XML, text or binary files in
response to http requests. There are many template systems available today that perform similar
functions so why reinvent the wheel?
Does a bicycle use the same wheel as a tractor? The dxp framework was designed to meet
the following goals:
- Create a system that allows a non-programmer to build complex web applications
- Prevent page authors from embedding code that puts the server at risk
- Use a standard page description language (xml) and a standard SAX parser
- Avoid proprietary syntax and parsers required by jsp, php and our previous ddp system
- Specify logic, data access and diplay on a single xml page
- Create a reusable set of active tags that support the most common activities
- Make it easy for programmers to create and plug in new tags
- Minimize excess processing and share resources whenever possible
- Isolate web apps run by different Virtual Hosts from each other
- Resist feature creep; expand only when the current framework does not do the job
- Turn custom feature requests into generic objects that can be used by all
- Keep the source tree stable and thoroughly documented
Most of the design goals have been met with modest success. There is always room for improvement.
Features missing from the current version:
- Ability to compile and execute arbitray code embedded in pages - may stay missing
- EBJ, SOAP, UDDI and other non http protocols
- Support for non ASCII char sets
- Tags that take advantage of advanced JDBC 3.0 features
- Page fragments callable from multiple pages (coming soon)
- Other stuff we haven't needed yet..open to suggestions
To learn more...
- Samples - example pages with dxp source
- Details - structure and setup information
- Docs - information about individual tags
- xml-xsl - xml output rather than html
- Trees - decision trees, execution trees
- Links - Servlet Runners, Java, Parser, Database
|