Composizione delle regole di ordinamento delle selezioni

Introduzione

In primo luogo vediamo cosa si intenda per ordinamento e cosa siano gli oggetti ordinati. Ad essere ordinate sono solitamente delle unità informative ma in alcuni casi particolari si può assumere che siano dei sottinsiemi di queste unità ad essere ordinati.
L'ordinamento viene effettuato sulal base di valori contenuti in attributi o elementi delle unità . A tali componenti possono essere applicati di volta in volta una serie di modificatori che vedremo di seguito.

La sintassi dell'ordinamento deriva da quella precedentemente concepita per il programma HigHway Server che basa il tutto sull'identificatore del campo sul cui conteuto effettuare l'ordinamento. In eXtraWay il concetto di Campo viene naturalmente sostituito dal concetto di Canale che è appunto riconducibile al contenuto degli attributi ed elementi dell'unità informativa.

In generale, comunque, la sintassi è rappresentata da
NomeCampo[(eventuali modificatori)] [, altro nome campo coi suoi modificatori]

Come detto il concetto di NomeCampo andrebbe sostituito da un concetto di Canale che è di fatto rappresentato dal percorso XML che identifica la porzione di unità informativa che ci interessa sfruttare. Se in HighWay il nome del campo era sufficiente, in eXtraWay tale nome campo può assumere solo i valori NRECORD, UD e XML. Il primo rappresenta il numero logico dell'unità informativa (Che tipicamente corrisponde al suo numero fisico), il secodo rappresenta il campo che ospita informazioni di servizio ed il terzo è quello che contiene la parte dell'unità informativa vera e propria corrispondente al frammento XML identificato dal catalogo. I valori dei percorsi XML validi entro tali Campi può essere estratto dalla struttura dei canali rilevati in indicizzazione da parte del server e tornata al Client all'atto del caricamento dell'archivio. A tale nome campo va quindi sempre associato un modificatore, xpart, quello che rappresenta la porizione dell'XML di nostro interesse. Il percorso XML indicato può contenere degli asterischi per indicare che l'oggetto in esmae ha una posizione non nota o comunque non sempre uguale. In fine, il nome del campo porta ad un ordinamento crescente se esso viene espresso in caratteri maiuscoli (è sufficiente il primo) ed un ordinamento inverso, quindi decrescente, se espresso in caratteri minuscoli.
Ogni componente dell'ordinamento sarà separata dalla successiva da una virgola. Le componenti vengono considerate nell'ordine in cui sono state espresse, da sinistra verso destra: a valore uguale di un particolare componente si passa alla valutazione del suggessivo e così via. Si noti che due unità informative che contengano, per i Canali espressi, esattamente lo stesso valore, avranno lo stesso valore nell'ordinamento ma, se pure adiacenti, potranno essere indicate in un qualsiasi ordine. In pratica, ordinando più volte la stessa selezione, la posizione entro di essa di unità informative equivalenti potrebbe essere invertito.

La regola di ordinamento viene indicata al server in due modi:

I modificatori

Scopo dei modificatori è quello di dichiarare con che modalità eseguire l'ordinamento della componente identificata o di unire tra loro componenti da combinare.

I modificatori vengono espressi immediatamente dopo il NomeCampo, senza alcuno spazio di separazione, e sono racchiusi tra parentesi tonde. Se all'interno delle parentesi tonde un valore può contenere a sua volta una tonda, in particolare una tonda chiusa, essa va escapata per mezzo del carattere '\'. L'ordine dei modificatori non è particolarmente significativo se pure si suggerisce di rifarsi se possibile all'ordine in cui essi sono presentati in questa documentazione. Anch'essi non sono separati da spazi ed in pratica è bene che non ci siano spazi lungo tutta la sintassi del Canale di ordinamento.

Vediamo nel dettaglio la loro sintassi ed il loro significato:

Esisteva anche il modificatore title che è divenuto obsoleto in eXtraWay. Se pure ancora supportato per compatibilità col passato non lo si documenta perché non ritenuto necessario.

Autore:
Tirabassi Roberto
Date
2005/11/23 12:38:45

Torna a Indice delle voci


HighWay/eXtraWay Project - Frequently Asked Questions (Doxygen 1.6.1)