On Mon, Jun 1, 2009 at 9:42 AM, Costello, Roger L.
Frank Manola wrote:
> Could you say a bit about what your goals are
> for making this distinction?
I shall try.
My goal is to enable symbiotic relationships - applications that share externalized data and act on it using local semantics.
Whew! Lots of explanation is needed to explain that sentence. Let me try...
(Walter Perry if you're still out there please jump in. Your ideas from 10 years ago have germinated and are sprouting quickly. And Len Bullard if you're still out there lots of your ideas are in here too.)
The distinction I am making is between:
XML documents that are devoid of processing semantics.
More accurately, the markup is devoid of processing
semantics. These documents announce to their recipients,
"Here I am, use me in whatever way makes sense to you.
YOU are responsible. YOU are in charge."
versus
XML documents that have inherent processing semantics.
These documents announce to their recipients, "I must
be processed according to my terms. I am responsible.
I am in charge."
A key difference is between local control versus control by an external entity.
Suppose two parties are symbiotically sharing an XML document - mining it, morphing it, and mashing it up. Imagine each party has different needs. The document must be neutral in its processing requirements. Each party must be capable of applying local processing semantics.
Apparently the term "declarative XML" already has a specific meaning. From Kurt and Dimitre's messages I realize that I have used the wrong term. I am not talking about functional programming. In fact, just the opposite.
I am talking about something else. I am talking about these kinds of documents:
XML-devoid-of-processing-semantics-and-local-processing-semantics-must-be-applied
Whew!
For brevity perhaps we can call them:
Local Semantics Documents
Frank also keenly observed:
> Suppose I have a reasonably complete music markup language.
> From one point of view this is pretty declarative, since
> it just describes the notes, sequences, rhythms, etc.
> (e.g. consider an ordinary piece of sheet music). On the
> other hand, it has a pretty obvious "processing semantics":
> you play it on something, and while part of those
> "processing semantics" may be local (e.g., what you decide to
> play it on) another isn't "local" (you follow the note sequence,
> etc., specified in the music). So in this case your distinction
> between "declarative" and not doesn't seem all that stark.
Excellent!
There is a continuum. At one end are XML documents that have clearly defined, inherent processing semantics, such as XSLT documents. On the other end are documents that have no inherent processing semantics. The purchases example I presented lies on that end. The music example Frank presented lies real close to that end.
I assert that documents that have no inherent processing semantics have substantial benefits in terms of reusing them and mining them and mashing them up.
My goal? Enable symbiotic relationships - externalized data that is shared by two or more parties and acted upon using local semantics.
Comments?
/Roger