Re: New syntax spec

>>>Rick Jelliffe said:
>  From: "Dave Beckett" <>
> > > Do you mean this:
> > >    [attributes]=set(idAboutAttr?, bagIdAttr?, typeAttr?, propAttr* )
> > 
> > True (and this is a bit better) but since propAttr also matches
> > "rdf:type", how do I express that when rdf:type is seen, typeAttr
> > should be accepted in priority to propAttr.
> What does "priority" mean? Do you mean
> [attributes]=set(idAboutAttr?, bagIdAttr?, (typeAttr | propAttr*)? )

yes - | has a left-to-right priority where the first matching term is
taken, in the notation

That might be a better way to express it i.e. replacing propertyAttr* 
with (typeAttr | propAttr*)? throughout.  

Another alternative might be to define a term propertyAttrs and use
that like this:
           [attributes]=set(idAboutAttr?, bagIdAttr?,  propertyAttrs)

   propertyAttrs := (typeAttr | propAttr*)?

so that it is precisely clear what are the attributes that generate

This is rather a mess.  Removing typeAttr completely is tempting but
that would loose the constraint that the attribute always takes a
URI-ref value, which would have to be expressed in some other way.


Received on Thursday, 13 September 2001 09:32:12 UTC