Phptempt is a template engine for PHP and Java. Templates are precompiled and then included to the script/Java program as a PHP script/Java program. Templates are organized in blocks and placeholders, all placed in one single file. Blocks may be recursive. A version of the engine is available that is optimized for Java and particularly useful for the creation of code generators of any kind.
WebComp is a tool for using scripting to compose and configure Web sites from various existing components, such as static HTML, Java Servlets, Java server pages, and others. It includes a scripting language, a component model/framework, and a set of basic pluggable components to use with it. It is based on Java Servlets.
ShaniXmlParser is an XML/HTML DOM/SAX parser. It can parse not well formed XML/HTML files. It can parse files with inverted tags and bad escaped &,<,> and ". It expands all XHTML entities by default. It is well suited to parse HTML files, and is fast with low memory usage. It is compliant with the jaxp/w3c DOM1/2/3 interfaces.
Groovy is an agile, dynamic language for the JVM which combines many features from languages like Python, Ruby, and Smalltalk and makes them available to Java developers using a Java-like syntax. It is designed to help get things done on the Java platform in a quicker, more concise, and fun way. It can be used as an alternative compiler to javac to generate standard Java bytecode to be used by any Java project or it can be used dynamically as an alternative language, such as for scripting Java objects, templating, or writing unit test cases.
JHighlight is an embeddable Java syntax highlighting library that supports Java, Groovy, C++, HTML, XHTML, XML, and LZX languages and outputs to XHTML. The library can be used in several ways: embedded into another tool (for instance a blog or forum), through the command-line to generate highlighted files locally, or as a servlet filter to highlight source files on your server on-the- fly. It also supports RIFE templates tags and highlights them clearly so that you can easily identify the difference between your RIFE markup and the actual marked up source.