ServingXML is a markup language for expressing XML pipelines and an extensible Java framework for defining the elements of the language. It defines a vocabulary for expressing flat-XML, XML-flat, flat-flat, and XML-XML transformations in pipelines. The accompanying console app supports reading content as XML files, flat files, SQL queries, or SAX events, and writing it as XML, HTML, PDF, or mail attachments. This software is especially suited for converting flat file or database records to XML, with its support for namespaces, variant record types, multi-valued fields, segments and repeating groups, hierarchical grouping of records, and row-by-row validation with XML Schema. There is also an API for embedding the software in a Java application.