The Declarative-Request Process Markup Language (DPML), is a simple, lightweight language. With DPML you can write programs that directly request information resources and leverage various resource models without knowledge of low-level APIs and objects.
Although DPML is a simple language, it leverages the ROC abstraction which allows DPML programs to implement sophisticated applications. Many developers find DPML a valuable tool because it allows them to isolate the definition of process flow at the logical level from details that are properly kept within the physical level.
The syntax evaluated by the DPML language runtime engine is based on an abstract syntax tree (AST). This makes DPML independent of any particular text-based syntax. The current DPML implementation uses an XML based syntax which is compiled (transrepted) to the AST syntax. Being an XML syntax it is well matched to patterns that require dynamically generated processes.
A fundamental difference between DPML and other languages is that DPML works only with requests and responses; it does not manipulate nor even access the representations returned by endpoints within their responses. This clean separation between the logical and physical levels matches the same clean separation between the logical and physical levels in the ROC abstraction.