OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

xacml message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Subject: RE: [xacml] Revised specification - added matching functions

They are all sequenced - if there is one instance of foo in the context (in
my example)
it will be exactly the same input.

The difference between declared single<type> and ne_sequence<type> is ONLY
the specified behavior, 
when function is given a sequence of a particular size.
function taking single<type>, should produce an error is the SEQUENCE
provided as the argument, is
of size != 1, function specified ne_sequence<type>, should process sequence
of any size >0 - it will
process single<type> just as well.

On the other hand - if you do not restrict to a non-empty sequence - you
have to specify the result
for an empty sequence (missing attribute).

To clarify my proposal.

Let have an attribute foo, of type decimal that may be present in context 0,
1, or 5 times.

I need two rules
First - should check if the rounded value of foo, if it is defined one, and
only one time, is equal to 42.

Second - should check if at least one value, rounded is equal to 3.

First rule will have condition (in pseudo language)

(integer-equal ((attributevalue type=integer)42) (round (attribute
designator name=foo)))

It will yield INDERTERMINATE if foo is missing, or present 5 times (that is
if sttribute designator returns no, or 5 values in a sequence.  Only exactly
one returned value is accepted.

Second rule will be
(integer-member-of ((attributevalue type=integer)3) (round (attribute
designator name=foo)))

This one will work for 1, or 5 present values returned by the designator,
but round will produce error, treated as
invalid argument by integer-member-of.  Not restricting round to non-empty
sequence will require the round returns SOMETHING, when given an empty
sequence of decimals, other then an error.  What would the result be?

-----Original Message-----
From: Polar Humenn [mailto:polar@syr.edu]
Sent: Wednesday, August 21, 2002 11:34 AM
To: Daniel Engovatov
Cc: ''''Tim Moses' ' ' '; ''''XACML' ' ' '
Subject: RE: [xacml] Revised specification - added matching functions

There is no reason to restrict round to a non-empty sequence.
That is why I believe we should have two functions, round and map_round.

You will not be able to apply your "round" to a non-sequenced

On Wed, 21 Aug 2002, Daniel Engovatov wrote:

> I am revising the spreadsheet anyway - some functions were missing - I
> send it out soon.
> But I do not think there is a problem with this - we naturally have all
> arguments as sequences anyway - due to the nature of attribute selection
> context.  There is nothing confusing about what this functions return as
> they will provide the exact same result on single<type> as on
> ne_sequence<type>.  Whatever function consumes their result will deal with
> the
> sequence being of incorrect length.
> Use case would be:  if context has multiple values of a decimal argument
> foo, and you want to check whether at least one of the values, rounded, is
> equal to an integer 3.
> you will use (member_of ((attribute value type=int)3) (round (attribute
> selector name=foo)))
> On the other hand I would not advice specifying map_X functions with
> sequence<type>, instead of ne_sequence<>.

Why not.

> What are their result for an empty sequence?  They should produce an
> as specified for an empty sequence.

If applied to a function that requires a non-empty sequence, yes. But some
do not have to be applied to non-empty sequences.

> So you addition does seem to clarify anything, but introduces a
> unspecified behaviour for an empty sequence..

There is no unspecified behavior for an empty sequence. Empty sequences
can be your "set" with nothing in them.

> Daniel.
> -----Original Message-----
> From: Polar Humenn [mailto:polar@syr.edu]
> Sent: Wednesday, August 21, 2002 10:51 AM
> To: Daniel Engovatov
> Cc: ''''Tim Moses' ' ' '; ''''XACML' ' ' '
> Subject: RE: [xacml] Revised specification - added matching functions
> Danel,
> I have an issue with :
> 22	round	ne_sequence<xs:decimal>	ne_sequence<xs:decimal>
> 23	floor	ne_sequence<xs:decimal>	ne_sequence<xs:decimal>
> 24	abs	ne_sequence<xs:decimal>	ne_sequence<xs:decimal>
> 25	integer	ne_sequence<xs:integer>	ne_sequence<xs:decimal>
> 26	decimal	ne_sequence<xs:decimal>	ne_sequence<xs:integer>
> These functions which you would assume apply to numbers apply to
> non empty sequences.
> I would prefer:
> round              xs:decimal xs:decimal
> floor              xs:decimal xs:decimal
> abs                xs:decimal xs:decimal
> integer_to_decimal xs:integer xs:decimal
> decimal_to_integer xs:decimal xs:integer
> and their "map" equivalents, if they are really needed.
> map_round              sequence<xs:decimal> sequence<xs:decimal>
> map_floor              sequence<xs:decimal> sequence<xs:decimal>
> map_abs                sequence<xs:decimal> sequence<xs:decimal>
> map_integer_to_decimal sequence<xs:integer> sequence<xs:decimal>
> map_decimal_to_integer sequence<xs:decimal> sequence<xs:integer>
> The new proposed spreadsheet is attached.
> Cheers,
> -Polar
> On Mon, 19 Aug 2002, Daniel Engovatov wrote:
> >
> >
> > Attached.
> >
> >
> ----------------------------------------------------------------
> To subscribe or unsubscribe from this elist use the subscription
> manager: <http://lists.oasis-open.org/ob/adm.pl>

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Powered by eList eXpress LLC