| <svar> (* variabile *)
| <function> <rvar> (* applicazione di funzione *)
-<function> := NAME (* rvar -> nome_oggetto *)
+<function> := NAME (* URIREF -> nome_oggetto *)
| <property>
-<property> := THEORY (* URI -> valore_Proprieta' *)
- | TITLE (* URI -> valore_Prop_DC *)
+<property> := THEORY (* URIREF -> valore_Proprieta' *)
+ | TITLE (* URIREF -> valore_Prop_DC *)
| CONTRIBUTOR
| CREATOR
| PUBLISHER
- le stringhe sono "case sensitive"
- la funzione non definita sull'argomento restituisce la stringa nulla
-- le <rvar> si presuppongono essere istanziate come URI complete o
- URI#xpointer_expression e identificano risorse
+- le <rvar> si presuppongono essere istanziate come URI references costituite
+ da un URI e da un fragment identifier opzionalecomplete; esse identificano
+ risorse
- ogni binding lega una variabile libera (nuova)
- Precedenza operatori:
NOT (+) DIFF
teorema ci sono?
- L'ordinamento di default e' quello alfabetico crescente in base al nome
delle rvar
+- Note su <pattern>
+ Contiene un'espressione regolare per selezionare delle "reference"
+ (cioe` delle uri eventualmente seguite da un fragment identifier)
+ L'espressione regolare contiene i seguenti costrutti:
+
+ costrutto semanticamente fa match con
+ ? un singolo carattere diverso da / e #
+ * la piu' lunga sottostringa che non contiene / e #
+ ** la piu' lunga sottostringa che non contiene #
+ altro carattere solo se' stesso
+
+ Il costrutto ** non puo' comparire nella parte dell'espressione che
+ fa match con un fragment identifier.