Hi Folks,
The XML suite of technologies (XML, XSD, Schematron, XPath, XQuery, etc.) are declarative, not procedural, in nature; that is, the XML technology suite always favors declarative solutions over procedural ones, wherever such solutions are feasible. The reason is obvious: Declarative means the system does the work, procedural means the user does the work. That’s why the XML technology suite supports declarative structure definitions (XSD), declarative integrity constraints (Schematron), declarative queries (XPath and XQuery), and so on.
From the book SQL and Relational Theory by C.J. Date (p. 28):
The relational model is declarative, not procedural, in nature; that is, it always favors declarative solutions over procedural ones, wherever such solutions are feasible. The reason is obvious: Declarative means the system does the work, procedural means the user does the work. That’s why the relational model supports declarative queries, declarative updates, declarative view definitions, declarative integrity constraints, and so on.
Neat!
/Roger