In the web services environment software development can involve writing both object-oriented programs and XML transformations. This can be seen in the popular Web Services architecture. In this architecture, crosscutting concerns are often manifest as transformations on XML messages; encrypting messages, adapting between schemas types or adding extrafunctional elements such as transaction contexts can be seen as prime examples. Some existing middleware platforms provide support for Handlers where crosscutting message transformation concerns can be addressed. Although handlers localize some concerns, they do not support the sound software-engineering principle of “programming to an interface”. This prevents a clean mapping from design to implementation and inhibits useful static checking which could take advantage of a well specified interface. To address this and similar design challenges, we have developed Doxpects, which solve many problems with the existing handler approach to...