RefleX is a Java tool that allows people that have no particular knowledge of Java to write smart programs entirely in XML. The concepts of native XML programming used in RefleX have been designed separately, so that other implementations on other platforms/languages can be considered. As the tags used are considered "active", the underlying concepts have been named "Active Tags". Programming in XML allows developers to efficiently produce batch scripts as well as Web applications. With Active Tags, you can dramatically decrease the number of lines you have to code.
CDuce is a programming language adapted to writing safe and efficient applications that manipulate XML documents. A type system checks at compile time that applications deal with all the possible inputs and produce only valid outputs. Pattern matching is a powerful operation based on regular expressions to inspect documents. CDuce also features general-purpose features; it is a higher-order functional language, with a type-safe interface with Objective Caml.