Possibly the most significant reason for using XML, though, is that it avoids the "Bikeshed problem" (http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/misc.html#BIKESHED-PAINTING). Working groups can get terribly tied up in grammar and syntax; everyone has their own opinion on their favorite format for comments, for example.
"Fortunately", OPES WG group does not have enough active participants for the above to become a problem :-/.
You did not mention any performance considerations. I guess they were not very important becuase you just needed to support an execution of a static set of alternatives, with each alternative being cheap to evaluate. In OPES, evaluation can be expensive (e.g., is this HTTP request going to be a cache hit or miss?) and non-trivial (hit and request headers contain FooBar but previous service failed). Thus, we need to optimize and reuse code.