New ReleaseUpdated documentatin to come. v3.0 includes many bug fixes and enhanced funtionality.
Dexter is a tool for producing XSLT 1.0-compliant stylesheets to style arbitrary XML data into human-readable XHTML using the design document as the source. Thus changes to the visual layout may be propagated directly to the XSLT through a predictable, automated process. While it can be used with many other XML formats such as WML or RSS, formats with complex attribute-value structures such as SVG will be supported with extension modules in the future.
Dexter allows users to define extended attributes which can be associated with descriptors and editors. These attributes can be embedded into any well-formed XML document. The resulting embellished document, the 'source', is then input to the dexter engine. This will generate one or more XSLT stylesheets describing the input document interpolating editor modifications and any instructions specified by the descriptors.
Operations are specified exclusively with extended attributes embedded in per-module custom namespaces so web browsers will continue to see the decorated source exactly as the web designer saw it before. Thus, the changes we effect while preparing the design document as source for dexter are effectively transparent to all but dexter.
Dexter does not validate input documents, but does expect them to be strictly well-formed XML or XHTML as it uses the JVM's default configured JAXP parser to produce the Document object against which dexter performs it's operations. This constraint helps guarantee that the documents produced from the resulting XSLT will accurately reflect the input document.
Dexter is designed to handle arbitrarily complex input documents so long as they are well-formed.
For an example of dexter's usage, refer to dexter.html. It serves as the design document for dexter's documentation and is used to generate dexter.html.xsl which styles the documentation pages. View the source for dexter.html and scan for attributes in the dx and dd namespaces; they have been been extensively commented. To see the resulting stylesheet applied, refer to any of the documents listed on the right under links such as the User Guide
For more detailed information about descriptor in the dx namespace refer to User Guide#Dexterity.
Operations in the dd namespace are documented under User Guide#Didi.