- From: Dave Beckett <dave.beckett@bristol.ac.uk>
- Date: Thu, 13 Sep 2001 14:32:10 +0100
- To: www-rdf-comments <www-rdf-comments@w3.org>
- CC: Rick Jelliffe <ricko@allette.com.au>
>>>Rick Jelliffe said: > From: "Dave Beckett" <dave.beckett@bristol.ac.uk> > > > > 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 http://www.w3.org/TR/2001/WD-rdf-syntax-grammar-20010906/#section-Infoset-Grammar-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: element(.... [attributes]=set(idAboutAttr?, bagIdAttr?, propertyAttrs) ...) propertyAttrs := (typeAttr | propAttr*)? so that it is precisely clear what are the attributes that generate properties. 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. Dave
Received on Thursday, 13 September 2001 09:32:12 UTC