DSML is the Directory Services Markup Language, an XML dialect for working with directory information. The DSML Tools provide for the querying of any LDAP directory (with search results output as DSML), the importing of DSML data into any LDAP directory, the directory-context validation of DSML (checking for illegal attributes in the entries, etc.), and the calculation of the differences (for a directory) between two DSML documents to provide an XML Diff algorithm for DSML data. This software makes all LDAP-supporting directories DSML-enabled. It can also check the integrity of DSML data, and show at a glance how two data sets, represented as DSML, differ.
FreeMarker is a template engine that was originally designed so that servlet-based applications could keep graphical design separate from application logic. The templates provide an easy and highly flexible way to generate any kind of text output (HTML, PostScript, TeX, source code, etc.) from a variety of data sources such as Java objects, Jython objects, XML object models, and more.
GPP is a general-purpose preprocessor with customizable syntax, suitable for a wide range of preprocessing tasks. Its independence from any programming language makes it much more versatile than cpp, while its syntax is lighter and more flexible than that of m4. The syntax is fully customizable, which makes it possible to process text files, HTML, or source code equally efficiently in a variety of languages.
Grok is a library of Java components for performing various natural language tasks. These include several preprocessing tasks, chart parsing, a large categorial grammar for English (induced from the Penn treebank), and some knowledge representation components (basic coreference, salience tracking, etc.). The library also has a companion kit which provides a GUI interface to the components, several of which are implementations of interfaces in the Quipu OpenNLP API.
Kmy-regex is an regular expression library for Java. It can compile a regular expression into bytecode and then load it into JVM on the fly. In the environments where class loading is not an option (such as applets) it can produce an interpreted (but slower) form of the regular expression.