Re: APPEL and the dataschema element

> > > But this seems to cause a serious problem for the APPEL matching
> algorithm
> > > >
> > > > Here is an example of what I mean:
> > > >
> > > > RULESET
> > > > ========
> > > >  <DATA-GROUP base="mycustomschema.xml" appel:connective="or">
> > > >         <DATA category="online"/>
> > > >       </DATA-GROUP>
> > > >
> > > > EVIDENCE
> > > > ========
<DATA-GROUP base="">
 
> <DATA-GROUP base=""> because the problem is precisely
> with embedded schemas - because they are now embedded above the policy
> level, and so can't be expressed in APPEL.

"" means the XML-document that contains (within a POLICIES element) the
POLICY element, that represents the policy given into the rule evaluator.
So "" (in the policy!) references the ONLY (custom) dataschema, that's
contained within this XML-document (within a DATASCHEMA element,
include in the POLICIES element.)

> Specifically as to how it will solve the problem of the path to an inline
> schema ("") (which now can't be expressed in APPEL) 

If an XML-document at http://www.foo.bar/policies.xml contains a policy
and a dataschema, you would have to write
base="http://www.foo.bar/policies.xml" in the ruleset, to reference
the dataschema from http://www.foo.bar/policies.xml.
(Writing "" in the ruleset is non-sensical, as no ruleset may contain
a dataschema.)

> Take the previous example:
> 
> RULESET
> ========
>  <DATA-GROUP base="mycustomschema.xml" appel:connective="or">

base is supposed to be a full URI!

>         <DATA category="online"/>
>       </DATA-GROUP>
> 

Note that in this ruleset, the base attribute is of no effect!

> EVIDENCE
> ========
> <DATA-GROUP base="">
>                 <DATA ref="#x.y.z"/>
>         <DATA ref="#x.y.w"/>
>         <DATA ref="#a.b.c"/>
>         <DATA ref="#a.b.e"/>
>       </DATA-GROUP>
> 
> 
> After expansion on both sides would then be
> 
> RULESET
> ========
>  <DATA-GROUP  appel:connective="or">
>          <DATA ref="mycustomschema.xml#x.y.z"/>

After the expansion, ref is supposed to be a full URI reference!
Not only a file!

>         <DATA ref="mycustomschema.xml#x.y.w"/>
>         <DATA ref="mycustomschema.xml#a.b.c"/>
>         <DATA ref="mycustomschema.xml#a.b.e"/>
> etc. . . .
>       </DATA-GROUP>
> 
> EVIDENCE
> ========
> <DATA-GROUP  appel:connective="or">
>              <DATA ref="#x.y.z"/>

Nope. After the expansion, ref is something like
"http://www.foo.bar/the/file/containing/the/policy.xml#x.y.z"!

Moreover, you need to expand the category/ies!

So you would end up with something like

<DATA ref="http://www.foo.bar/the/file/containing/the/policy.xml#x.y.z">
<CATEGORIES><online/></CATEGORIES>
</DATA>

>         <DATA ref="#x.y.w"/>
>         <DATA ref="#a.b.c"/>
>         <DATA ref="#a.b.e"/>
>       </DATA-GROUP>
> 
> 
> This still seems to produce a matching failure:

If you do the expansion as I showed above,
the ruleset matches the evidence!
 
> Could you give me an idea of when are we likely to see the new
> specification?

About end of november, I guess. Not sure.

> 
> Thanks
> 

Welcome

Nikolaj

Received on Monday, 1 October 2001 13:11:33 UTC