An XML Pipeline specifies a sequence of operations to be performed on one or more XML documents, producing one or more XML documents as output. Steps in the pipeline may read or write non-XML resources as well.
XProc is currently a W3C working draft. Despite the involvement of Norm Walsh, whom I greatly respect, I wonder whether we actually need another programming language with the worst possible syntax.
We need it because without it we have no interoperable way of passing around XML documents for processing. I can send you an ant script, except maybe you don’t have Ant or even Java installed. I can send you a Makefile, except maybe you don’t have make or are on a platform that doesn’t have make. I can send you … well, you get the idea. Small. Declarative. Simple. Interoperable. That’s the plan.
As for “the worst possible syntax”, I’m afraid that’s likely to be a matter of opinion. But it’s not impossible to imagine that an alternate, compact syntax for XProc might be devised.