Vincoli (info da iso19115)
resourceConstraints
[0..n]
MD_LegalConstraints
accessConstraints
[0..n] codelist
useConstraints
[0..n] codelist
otherConstraints
[C..n] text, condizionale, solo se accessConstraints
o useConstraints
hanno valore "otherRestrictions"
Vincoli di accesso
Possono essere individuati grazie all'href
nell'otherConstraints
, tipo (simil-xpath, da controllare):
resourceConstraints[accessConstraints/@codeList="otherRestrictions"][starts-with(otherConstraints/gmx:Anchor/@xlink:href, "http://inspire.ec.europa.eu/metadata-codelist/LimitationsOnPublicAccess")]
"OtherConstraints deve essere un elemento della codelist indicata nella URL. La lista ha 9 elementi. Si potrebbe renderizzare con label "Vincoli di accesso" e una dropdown per la scelta.
Se l'elemento esiste, mostrare la dropdown con i valori plausibili, con il valore selezionato.
Dato che l'lemento è [1..n], , mostrare sempre il bottone ""+ aggiungi vincoli di accesso"""
Vincoli di fruibilità
Possibile xpath di individuazione:
resourceConstraints[*/@codeList="otherRestrictions"][not(starts-with(otherConstraints/gmx:Anchor/@xlink:href, "http://inspire.ec.europa.eu/metadata-codelist/LimitationsOnPublicAccess"))]
"OtherConstraints in questo caso o è un testo (gco:CharacterString
) oppure un gmd:Anchor
a
- "Nessuna condizione applicabile", oppure
- "Condizioni sconosciute""
Dato che l'elemento è [1..n], mostrare sempre il bottone ""+ aggiungi vincoli di fruibilità"" che si espande nella scelta
- "Nessuna condizione applicabile",
- "Condizioni sconosciute"
- "Testo libero",
e creare l'elemento a seconda della scelta:
- per le prime 2 condizione una dropdown con i 2 valori prefissati
- per la testa una textbox
Se l'elemento esiste, mostrare la dropdown o textbox come sopra.
Improvement: potremmo avere nella dropdown di creazione anche un ""licenza"", e in quel caso si aggiungerebbe una dropdown con le licenze (vedi racc rc.14).
Questo caso si potrebbe filtrare nella GUI tramite l'Anchor alla licenza
Altro sui vincoli
Non permettiamo la creazione di vincoli che non siano otherRestrictions
.
Se esistono nel metadato corrente, potremmo scegliere di:
- ignorarli, dato che le specifiche RNDT non li contemplano
- mostrarli in sola lettura
Se si vogliono rimuovere si andrà nella vista "full"