- From: Mark Jones <jones@research.att.com>
- Date: Mon, 14 May 2001 16:34:49 -0400 (EDT)
- To: Noah_Mendelsohn@lotus.com, moreau@crf.canon.fr
- Cc: xml-dist-app@w3.org
I also wondered about disjunction. It seems like it might be a
coomon case that a pool of potential actors could carry out similar
functionality, but with slightly different parameters. You might,
e.g., be required to do SASL-like authentication with some (only
one) actor, but different actors may support different mechanisms.
How about the following mechanism for disjunction, exactly-one-of
or other logical dependencies?
<SOAP-ENV:Header ID="A"
SOAP-ENV:Actor="uriA"
SOAP-ENV:mustUnderstand="true"
SOAP-ENV:markHappened="true">
<nsa:DoThisForA xmlns:nsa="http://nsa.gov/uriA">
...
</nsa:DoThisForA>
</SOAP-ENV:Header>
<SOAP-ENV:Header ID="B"
SOAP-ENV:Actor="uriB"
SOAP-ENV:mustUnderstand="true"
SOAP-ENV:markHappened="true">
<nsb:DoThisForB xmlns:nsb="http://nsb.gov/uriB">
...
</nsb:DoThisForB>
</SOAP-ENV:Header>
<SOAP-ENV:Header ID="C"
SOAP-ENV:Actor="uriLogic"
SOAP-ENV:mustUnderstand="true"
SOAP-ENV:mustHappen="true">
<logic:Or xmlns:logic="http://logic.gov/logic">
<logic:CheckHasHappened href="A"/>
<logic:CheckHasHappened href="B"/>
</logic:Or>
</SOAP-ENV:Header>
Note the markHappened (not mustHappen) attribute to indicate that we
want a block marked hasHappened to be inserted after processing.
Neither headers A or B mustHappen but we want to know if either
hasHappened. If you want another header "D" that depends on the
disjunction being satisfied, it can specify depndsOn="C".
You could have a standard "logic" module or it could be any sort of
extensible manifest. I use the "uriLogic" Actor to match any
processor which implements the logic extension. The important enabler
for this extensibility is getting either the processor or the modules
to insert a block to reflect the hasHappened condition. Note that the
"C" block would have to reinsert itself at each uriLogic actor until
it was satisfied.
--mark
> From: Noah_Mendelsohn@lotus.com
> To: "Jean-Jacques Moreau" <moreau@crf.canon.fr>
> Cc: xml-dist-app@w3.org
> Date: Mon, 14 May 2001 10:22:50 -0400
> Subject: Re: An analysis of mustUnderstand and related issues
> Jean-Jacques Moreau writes:
> >> So we would not be able to express
> >> "headerA OR headerB" ? (That's
> >> fine; just wondering.)
> Right, in this proposal. I tried to indicate that among the many reasons
> to be suspicious of this proposal is that it indeed heads one down the
> slippery slope leading to, for example, a Turing-complete language for
> expressing dependency rules. I don't think we want to go there. If we
> think that a simpel facility like this hits an 80/20 or 90/10 point, then
> I think it's interesting to consider. If not, I don't think we should try
> it at all.
> ...
Received on Monday, 14 May 2001 16:35:11 UTC