Parametri obbligatori - Modelo da BVS
Parametri obbligatori - Modelo da BVS
Parametri obbligatori - Modelo da BVS
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
BIREME / PAHO / WHO<br />
Latin American and Caribbean Center on Health Sciences Information<br />
Programmi d'utilità CISIS - Manuale di riferimento<br />
Versione 5.2<br />
São Paulo - 2005-2007
Copyright © 2005-2007 - BIREME / PAHO / WHO<br />
Programmi d'utilità CISIS - Manuale di riferimento<br />
È garantito il permesso di copiare, distribuire e/o modificare questo documento seguendo i<br />
termini della Licenza per Documentazione Libera GNU, Versione 1.2 o ogni versione successiva<br />
pubblicata <strong>da</strong>lla Free Software Foun<strong>da</strong>tion; con le Sezioni Non Modificabili ELENCARNE I TITOLI,<br />
con i Testi Copertina ELENCO, e con i Testi di Retro Copertina ELENCO. Una copia della licenza<br />
è acclusa nella sezione intitolata "GNU Free Documentation License".<br />
Sche<strong>da</strong> catalografica<br />
Avvertenza – Che determinate compagnie e/o istituzioni o prodotti vengano menzionati nel<br />
testo non implica che essi siano sostenuti o raccoman<strong>da</strong>ti <strong>da</strong> BIREME / PAHO / WHO, e non<br />
significa nemmeno che vi sia preferenza loro accor<strong>da</strong>ta in rapporto ad altri conismili, citati o<br />
meno.<br />
BIREME / PAHO / WHO<br />
Latin American and Caribbean Center on Health Sciences Information<br />
Rua Botucatu 862 V Clementino<br />
BIREME / PAHO / WHO (Brasile)<br />
Programmi d'utilità CISIS - Manuale di riferimento. /<br />
BIREME (org.). São Paulo : BIREME / PAHO / WHO, 2005-<br />
2007.<br />
214 p.<br />
1. Manuali per l'utente. 2. Basi di <strong>da</strong>ti. 3. Sistemi<br />
informativi. 4. Software CDS/ISIS. I. BIREME II. Titolo<br />
Questo documento è stato prodotto con la Metodologia per la Normalizzazione di Documenti (NorDoc)<br />
sviluppata <strong>da</strong>lla BIREME
Indice generale<br />
Abbreviazioni .................................................................................................. X<br />
Come usare il manuale...................................................................................... XII<br />
Prefazione .......................................................................................................1<br />
A proposito di BIREME .......................................................................................1<br />
La Biblioteca virtuale della salute (Biblioteca Virtual en Salud -<strong>BVS</strong>)...............................2<br />
Presentazione...................................................................................................5<br />
CISIS - Interfaccia ............................................................................................5<br />
CISIS – Programma di utilità ................................................................................6<br />
Installazione dei programmi d’utilità CISIS ..............................................................9<br />
Eseguire i programmi d’utilità ........................................................................... 10<br />
Convenzioni sintattiche ................................................................................... 12<br />
Programma di utilità MX .................................................................................... 14<br />
Presentazione............................................................................................... 14<br />
Introduzione ............................................................................................. 14<br />
Descrizione generale ................................................................................... 15<br />
Sintassi....................................................................................................... 19<br />
<strong>Parametri</strong>. Descrizione generale ..................................................................... 21<br />
<strong>Parametri</strong> di inizializzazione (setup)................................................................ 21<br />
<strong>Parametri</strong> che indicano la sorgente dei <strong>da</strong>ti in ingresso ......................................... 21<br />
<strong>Parametri</strong> per il trattamento dei <strong>da</strong>ti .............................................................. 21<br />
<strong>Parametri</strong> per selezionare dei record............................................................. 22<br />
<strong>Parametri</strong> per l’esecuzione di elaborazioni...................................................... 22<br />
<strong>Parametri</strong> di uscita (output) dei <strong>da</strong>ti ............................................................. 22<br />
<strong>Parametri</strong> generali ................................................................................... 23<br />
<strong>Parametri</strong> che indicano qual è l’origine dei <strong>da</strong>ti in ingresso ........................................ 23<br />
Base <strong>da</strong>ti di entrata (input) ........................................................................... 23<br />
File ISO-2709 di entrata (input) ...................................................................... 24<br />
Linee a lunghezza fissa.............................................................................. 26<br />
Lettura di file MARC ................................................................................. 26<br />
Dati del Leader del record MARC .................................................................. 26
Programmi d'utilità CISIS - Manuale di riferimento Indice generale<br />
File di testo ASCII in entrata (input) ................................................................ 26<br />
Base di <strong>da</strong>ti fittizia ..................................................................................... 30<br />
File di parametri........................................................................................ 31<br />
Inverted file come <strong>da</strong>ti in entrata (input).......................................................... 33<br />
<strong>Parametri</strong> che svolgono elaborazioni sui <strong>da</strong>ti in entrata (input) ................................... 36<br />
<strong>Parametri</strong> che applicano formati ai <strong>da</strong>ti in entrata (input) ..................................... 36<br />
Formulazione del formato di visualizzazione a partire della riga di<br />
comando ............................................................................................... 36<br />
Formulazione del formato di visualizzazione a partire <strong>da</strong> un file............................ 37<br />
Formati condizionali ................................................................................. 37<br />
Ampiezza della linea (line width) ................................................................. 38<br />
Estrarre <strong>da</strong>ti <strong>da</strong>l contenuto di una variabile CGI................................................ 38<br />
Produrre un file temporaneo vuoto ............................................................... 39<br />
<strong>Parametri</strong> che estraggono l’insieme di record <strong>da</strong> trattare ...................................... 39<br />
Formulazione dell’espressione di ricerca nella linea di comando............................ 39<br />
Caricare l’espressione di ricerca a partire <strong>da</strong> un file .......................................... 41<br />
Utilizzazione degli esiti intermedi di una ricerca............................................... 42<br />
Eliminazione del resoconto statistico di una ricerca ........................................... 44<br />
Ricerca in più di un inverted file.................................................................. 45<br />
Ricerche a testo libero .............................................................................. 46<br />
Parametro text/show................................................................................ 47<br />
Altre mo<strong>da</strong>lità per selezionare l’insieme dei record <strong>da</strong> trattare............................... 48<br />
Selezione per intervallo............................................................................. 48<br />
Selezionare ogni n record........................................................................... 49<br />
Selezionare n record................................................................................. 50<br />
<strong>Parametri</strong> che modificano i record .................................................................. 51<br />
Funzione ‘A' (aggiunta di un campo) att#str# ................................................... 55<br />
Funzione R,.............................................................................. 57<br />
Funzione ................................. 58<br />
Funzione X[{create|copy|append|merge}=] .............................................. 58<br />
Funzione G[,] ................................................................ 59<br />
Funzione<br />
Gsplit[/clean]=[={|words|letters|numbers|trigram}] .......................... 60<br />
Funzione Gsplit==6words[/if=] ......................................................... 60<br />
Funzione Gload[/][/nonl][=].......................................................... 61<br />
Funzione Gdump[/][/nonl][/xml][=] ................................................ 61<br />
Modifica globale di modelli ........................................................................... 61<br />
Descrizione ............................................................................................ 64<br />
Tabella di conversione mediante codici ASCII o esadecimali ................................. 65<br />
Statistica della conversione tramite gizmo ...................................................... 67<br />
Opzione [decod=] .............................................................................. 68<br />
Unire basi di <strong>da</strong>ti - JOIN................................................................................... 69<br />
Descrizione............................................................................................... 70<br />
Elenco per la selezione e la rinumerazione dei campi ................................... 74<br />
Contenuto dei campi di controllo (32001, 32002, etc.) .......................................... 75<br />
Join per numero di record............................................................................. 77<br />
Parametro [jmax=] ................................................................................. 78<br />
Confrontare basi <strong>da</strong>ti e inverted file................................................................ 78<br />
Contenuto dei campi di controllo (32001, 32002, etc.)........................................ 81<br />
Vantaggi del jchk rispetto al join.................................................................. 82<br />
Tabella per la conversione dei caratteri............................................................ 82<br />
IV
Programmi d'utilità CISIS - Manuale di riferimento Indice generale<br />
Tabella per la definizione dei caratteri alfanumerici ............................................ 82<br />
Tabella per la conversione in maiuscolo dei caratteri alfabetici............................... 83<br />
Tabella di selezione dei campi - generazione di chiavi - FST ................................... 83<br />
Riferimento ad una tabella di selezione dei campi esterna................................... 84<br />
File di parole non significative (stopwords) ..................................................... 85<br />
Tecniche de indicizzazione 1-8 / 1000 - 1008 ................................................... 87<br />
Generazione dei link file ........................................................................... 89<br />
Link file a lunghezza fissa .......................................................................... 89<br />
Output ....................................................................................................... 90<br />
Esecuzione di un programma esterno ............................................................... 90<br />
Opzione /show........................................................................................ 91<br />
<strong>Parametri</strong> che creano/modificano basi <strong>da</strong>ti........................................................ 92<br />
Creazione di un master file ........................................................................ 92<br />
Copiare record su un master file .................................................................. 93<br />
Aggiungere record a una base <strong>da</strong>ti ................................................................ 94<br />
Fondere/Intercalare record ........................................................................ 94<br />
Aggiornamento di campi ............................................................................ 95<br />
Generare un file ISO 2709 .......................................................................... 97<br />
Generare un file ASCII con separatori ............................................................ 98<br />
Recuperare i <strong>da</strong>ti del Leader del record ......................................................... 99<br />
Caricare <strong>da</strong>ti prodotti <strong>da</strong> una FST ..................................................................100<br />
Funzione fullinv ..................................................................................... 100<br />
Analisi tabellare delle frequenze ................................................................... 101<br />
<strong>Parametri</strong> di inizializzazione / variabili d’ambiente (setup)....................................... 102<br />
File di parametri CISIS ................................................................................ 102<br />
Dimensione massima di un record................................................................... 103<br />
Dimensione massima dell’esito di un formato formato .........................................103<br />
<strong>Parametri</strong> generali ........................................................................................ 103<br />
<strong>Parametri</strong> che controllano l’output a schermo ................................................... 103<br />
Parametro +.......................................................................................... 104<br />
Parametro - .......................................................................................... 104<br />
<strong>Parametri</strong> per ambienti multiutente ............................................................... 105<br />
Opzioni di mo<strong>da</strong>lità d’azione...................................................................... 105<br />
Altri parametri ......................................................................................... 107<br />
Delimitatori .......................................................................................... 107<br />
Indicatori (prompt) predefiniti ................................................................... 107<br />
Parametro trace..................................................................................... 108<br />
Parametro mfrl ...................................................................................... 108<br />
MX: codice di fine esecuzione........................................................................... 109<br />
Programmi d’utilità del master file .................................................................... 110<br />
MXF0 - Programma ........................................................................................ 110<br />
MXF0 - Presentazione..................................................................................... 111<br />
MXF0 - Sintassi............................................................................................. 112<br />
<strong>Parametri</strong> <strong>obbligatori</strong> ................................................................................. 112<br />
Nome del master file in entrata (input)......................................................... 112<br />
Nome del master file di uscita.................................................................... 112<br />
Creare master file di uscita (output) ............................................................ 113<br />
Numero di record approssimativo ................................................................ 113<br />
<strong>Parametri</strong> facoltativi.................................................................................. 113<br />
Eliminazione di spazi (blanks)..................................................................... 113<br />
Informazioni relative all’esecuzione della procedura......................................... 114<br />
V
Programmi d'utilità CISIS - Manuale di riferimento Indice generale<br />
MXF0 – Uscita (output) ................................................................................... 114<br />
MXTB - Programma........................................................................................ 115<br />
MXTB - Presentazione .................................................................................... 116<br />
MXTB - Sintassi............................................................................................. 118<br />
<strong>Parametri</strong> <strong>obbligatori</strong> ................................................................................. 118<br />
Nome del master file in entrata (input)......................................................... 118<br />
Nome del master file di uscita (output)......................................................... 119<br />
Creare un master file di uscita (output) ........................................................ 119<br />
Chiave................................................................................................. 119<br />
Lunghezza massima della chiave ................................................................. 119<br />
Formato che specifica la chiave .................................................................. 120<br />
<strong>Parametri</strong> facoltativi.................................................................................. 120<br />
Trattare il risultato di una ricerca ............................................................... 120<br />
Tabulazione del risultato del formato ........................................................... 120<br />
Numero di categorie ................................................................................ 121<br />
MXTB – Uscita (output) ................................................................................... 121<br />
MXCP - Presentazione .................................................................................... 122<br />
MXCP - Sintassi............................................................................................. 125<br />
Nome del master file in entrata (input)......................................................... 125<br />
Nome del master file di uscita (output)......................................................... 126<br />
Crear master file di uscita (output).............................................................. 126<br />
<strong>Parametri</strong> facoltativi [option] ....................................................................... 126<br />
Recuperare record cancellati ..................................................................... 127<br />
Cambiamento globale di modelli ................................................................. 127<br />
Convertire campi in ripetibili ..................................................................... 128<br />
Eliminazione degli spazi (blanks) ................................................................. 128<br />
Eliminazione di campi in base al TAG............................................................ 129<br />
Registrare i messaggi di sistema.................................................................. 129<br />
MXCP – Uscita (output) ................................................................................... 129<br />
MSRT - Programma ........................................................................................ 130<br />
MSRT - Presentazione..................................................................................... 130<br />
MSRT - Sintassi............................................................................................. 131<br />
<strong>Parametri</strong> <strong>obbligatori</strong>: ................................................................................ 131<br />
Nome del master file in entrata (input)......................................................... 131<br />
Lunghezza massima della chiave ................................................................. 131<br />
Generazione della chiave .......................................................................... 132<br />
<strong>Parametri</strong> facoltativi.................................................................................. 132<br />
Mantenere gli MFNs originali ...................................................................... 132<br />
Eliminare le chiavi identiche ...................................................................... 132<br />
MSRT – Uscita (output) ................................................................................... 133<br />
RETAG - Programma ...................................................................................... 133<br />
RETAG - Presentazione ................................................................................... 133<br />
RETAG - Sintassi ........................................................................................... 134<br />
<strong>Parametri</strong> <strong>obbligatori</strong> ................................................................................. 134<br />
Master file in entrata (input) ..................................................................... 134<br />
Tavola di rinumerazione ........................................................................... 135<br />
<strong>Parametri</strong> facoltativi.................................................................................. 135<br />
RETAG – Uscita (output).................................................................................. 135<br />
CTLMFN - Programma..................................................................................... 136<br />
CTLMFN - Presentazione ................................................................................. 136<br />
CTLMFN - Sintassi ......................................................................................... 137<br />
VI
Programmi d'utilità CISIS - Manuale di riferimento Indice generale<br />
Nome del master file di entrata (input) ........................................................... 137<br />
Prompt di conferma ................................................................................... 137<br />
CTLMFN – Uscita (output) ................................................................................ 137<br />
MKXRF - Programma ...................................................................................... 138<br />
MKXRF - Presentazione ................................................................................... 138<br />
MKXRF - Sintassi ........................................................................................... 139<br />
Master file di entrata (input)........................................................................ 139<br />
MKXRF – Uscita (output) .............................................................................. 139<br />
Ripristinare una base <strong>da</strong>ti <strong>da</strong>nneggiata.......................................................... 140<br />
Calcolo per approssimazione del MaxMFN....................................................... 140<br />
ID2I - Programma.......................................................................................... 141<br />
ID2I - Presentazione ...................................................................................... 141<br />
Struttura del file ASCII:............................................................................... 141<br />
ID2I - Sintassi............................................................................................... 142<br />
<strong>Parametri</strong> <strong>obbligatori</strong> ................................................................................. 142<br />
File ASCII in entrata (input) ....................................................................... 142<br />
Nome del master file di uscita (output)......................................................... 142<br />
Creare master file di uscita (output) ............................................................ 143<br />
<strong>Parametri</strong> facoltativi.................................................................................. 143<br />
I2ID - Programma.......................................................................................... 143<br />
I2ID - Presentazione ...................................................................................... 143<br />
I2ID - Sintassi............................................................................................... 144<br />
<strong>Parametri</strong> <strong>obbligatori</strong>: ................................................................................ 144<br />
Master file di entrata (input) ..................................................................... 145<br />
<strong>Parametri</strong> facoltativi.................................................................................. 145<br />
CRUNCHMF - Sintassi...................................................................................... 145<br />
Programmi d’utilità dell’inverted file ................................................................. 146<br />
IFKEYS - Programma ...................................................................................... 146<br />
IFKEYS - Presentazione ................................................................................... 146<br />
IFKEYS - Sintassi ........................................................................................... 147<br />
Inverted file in entrata (input)...................................................................... 147<br />
<strong>Parametri</strong> facoltativi.................................................................................. 148<br />
Primo termine a venire elencato .................................................................148<br />
Ultimo termine a venire elencato ................................................................ 148<br />
Mostra il <strong>da</strong>to relativo all’etichetta (tag = ID della FST) ..................................... 148<br />
IFKEYS – Uscita (output).................................................................................. 148<br />
IFLOAD - Programma...................................................................................... 149<br />
IFLOAD - Presentazione .................................................................................. 149<br />
IFLOAD - Sintassi .......................................................................................... 152<br />
<strong>Parametri</strong> <strong>obbligatori</strong> ................................................................................. 152<br />
Inverted file in entrata (input) ................................................................... 152<br />
Link file delle chiavi corte ........................................................................ 152<br />
Link file delle chiavi lunghe....................................................................... 153<br />
<strong>Parametri</strong> <strong>obbligatori</strong> ................................................................................. 153<br />
Reinizializzare il segnale di “aggiornamento in sospeso” ....................................153<br />
Aggiornamento in sospeso ......................................................................... 153<br />
Non riequilibrare dizionario ....................................................................... 153<br />
Non caricare i postings ............................................................................. 154<br />
Informazioni circa l’esecuzione della procedura............................................... 154<br />
Link file a lunghezza fissa ......................................................................... 154<br />
Caricare file a lunghezza fissa .................................................................... 154<br />
VII
Programmi d'utilità CISIS - Manuale di riferimento Indice generale<br />
Carica link file con formato ridotto.............................................................. 154<br />
IFLOAD – Uscita (output) ................................................................................. 155<br />
IFUPD - Programma ....................................................................................... 155<br />
IFUPD - Presentazione .................................................................................... 156<br />
IFUPD - Sintassi ............................................................................................ 156<br />
<strong>Parametri</strong> <strong>obbligatori</strong> ................................................................................. 157<br />
Inverted file <strong>da</strong> aggiornare ........................................................................ 157<br />
Tavola di selezione dei campi .......................................................................157<br />
FST per default ...................................................................................... 157<br />
Caricare una FST <strong>da</strong> un file esterno.............................................................. 158<br />
Specifica della FST nella linea di comando .....................................................158<br />
File delle parole non significative .................................................................. 158<br />
File STW di default.................................................................................. 158<br />
Carica la lista STW leggendolo <strong>da</strong> file esterno .................................................158<br />
Mantenere il contrassegno di aggiornamento in sospeso........................................ 158<br />
Non caricare i postings................................................................................159<br />
Master file alternativo................................................................................ 159<br />
IFUPD – Uscita (output)................................................................................... 159<br />
MYS - Sintassi .............................................................................................. 159<br />
MYS – Uscita ................................................................................................ 160<br />
IFMERGE - Sintaxis ........................................................................................ 160<br />
IFMERGE – Uscita (output) ............................................................................... 160<br />
MKIY0 - Sintassi ............................................................................................ 160<br />
MKIY0 – Uscita (output) .................................................................................. 161<br />
CRUNCHIF - Sintassi....................................................................................... 161<br />
CRUNCHIF - Uscita ........................................................................................ 161<br />
Riferimenti bibliografici .................................................................................. 162<br />
Glossario ..................................................................................................... 163<br />
Appendice I - <strong>Parametri</strong> di uso generale .............................................................. 166<br />
Relativi all’uscita (output) stan<strong>da</strong>rd: .................................................................. 166<br />
Disabilitare il prompt fra record.................................................................... 166<br />
Segnalare ogni n record............................................................................... 167<br />
Disabilitare l’invio di <strong>da</strong>ti a schermo............................................................... 167<br />
Reindirizzare l’uscita (output) stan<strong>da</strong>rd........................................................... 168<br />
Relativi alla selezione di record: ....................................................................... 169<br />
Iniziare <strong>da</strong>l record n................................................................................... 169<br />
Terminare col record n ............................................................................... 169<br />
Trattare un record ogni n ............................................................................ 169<br />
Selezionare n record .................................................................................. 169<br />
Relativi ai record in uscita (output):................................................................... 170<br />
Addiziona n al numero di record (MFN) ............................................................ 170<br />
Cambiamento globale di modelli .......................................................................171<br />
Appendice II - File CIPAR ................................................................................. 174<br />
<strong>Parametri</strong> che possono venire inclusi nel CIPAR ..................................................... 177<br />
<strong>Parametri</strong> solo per MX ................................................................................ 177<br />
<strong>Parametri</strong> per MX e applicazioni programmate per ambiente multiutente...................... 180<br />
Parametro maxmfrl ....................................................................................... 181<br />
Parametro mstxl nel CIPAR .............................................................................. 181<br />
Come superare il limite di 512 MB per il master file:...........................................181<br />
Parametro dbxtrace=y.................................................................................... 182<br />
Parametro mstload=.................................................................................. 183<br />
VIII
Programmi d'utilità CISIS - Manuale di riferimento Indice generale<br />
Parametro invload=................................................................................... 183<br />
Parametro mclose={y|n} ................................................................................. 183<br />
Parametro iflush={y|n}................................................................................... 183<br />
Parametro mflush={y|n} ................................................................................. 184<br />
Parametro what={y|n} ................................................................................... 184<br />
Appendice III - Struttura del record di una base ISIS............................................... 191<br />
Il record di CONTROL ..................................................................................... 192<br />
Il record di XREF........................................................................................... 193<br />
Il record del file MST ..................................................................................... 193<br />
Struttura del LEADER.................................................................................. 194<br />
Struttura della DIRECTORY........................................................................... 194<br />
Appendice IV - Lista dei file TAB disponibili.......................................................... 195<br />
ASCII CODE PAGE 437 (CP437)........................................................................... 195<br />
ASCII CODE PAGE 850 (CP850)........................................................................... 195<br />
ANSI (Windows) ............................................................................................ 196<br />
GIZMO disponibili per la conversione del contenuto di basi <strong>da</strong>ti ..................................196<br />
Conversione di insiemi di caratteri ................................................................. 196<br />
ASCII CODE PAGE 437 (CP437)........................................................................ 196<br />
ASCII CODE PAGE 850 (CP850)........................................................................ 197<br />
ANSI (Windows)......................................................................................... 197<br />
Conversione supplementare dei caratteri di marcatura ............................................ 197<br />
Conversione supplementare <strong>da</strong> e verso elementi HTML ............................................ 197<br />
Come riconoscere l’insieme di caratteri che è presente in una base CDS/ISIS ................. 198<br />
OSSERVAZIONI.............................................................................................. 198<br />
Appendice V - MX.PFT: Lista dei parametri che estrae <strong>da</strong>ll’ambiente CGI..................... 199<br />
IX
ANSI. American National Stan<strong>da</strong>rds Institute [Istituto nazionale<br />
americano di normalizzazione].<br />
Abbreviazioni<br />
ASCII. American Stan<strong>da</strong>rd Code for Information Interchange [Codice<br />
americano normalizzato per lo scambio dell’informazione].<br />
BIREME. Centro Latinoamericano y del Caribe de Informazione en<br />
Ciencias de la Salud [centro latinoamericano e caraibico per le<br />
scienze della salute].<br />
<strong>BVS</strong>. Biblioteca Virtual en Salud [Biblioteca virtuale della salute].<br />
CDS. Computerized Documentation System [Sistema di<br />
documentazione informatizzata].<br />
CP. Code Page [Pagina di codifica caratteri].<br />
FST. Field Selection Table [Tabella di selezione dei campi].<br />
FTP. File Transfer Protocol [Protocollo per il trasferimento di files].<br />
IFP. Inverted File Pointer [Puntatore dell’indice trasposto].<br />
X
Programmi di utilità CISIS: manuale di riferimento Abbreviazioni<br />
ISIS. Integrated Set of Information Systems [Insieme integrato di<br />
sistemi informativi].<br />
ISO. International Organization for Stan<strong>da</strong>rdization [Organizzazione<br />
internazionale per la normalizzazione].<br />
LILACS. Literatura Latinoamericana y del Caribe en Ciencias de la<br />
Salud [Letteratura latinoamericana e caraibica in scienze della<br />
salute].<br />
OMS. Organización Mundial de la Salud [Organizzazione mondiale<br />
della sanità].<br />
OPS. Organización Panamericana de la Salud [Organizzazione<br />
panamericana della sanità].<br />
UNESCO. United Nations Educational, Scientific and Cultural<br />
Organization [Organizzazione delle Nazioni Unite per l’educazione<br />
la scienza e la cultura].<br />
XI
Questo manuale è stato concepito come testo di riferimento per l’uso dei<br />
programmi di utilità CISIS, il contenuto sostanziale è trattato in quattro capitoli:<br />
Come usare il<br />
manuale<br />
1. Presentazione: descrizione di CISIS, interfaccia, installazione, esecuzione e<br />
convenzioni utilizzate ;<br />
2. Programma di utilità MX: contiene la descrizione completa di tutti i parametri<br />
e delle funzioni disponibili;<br />
3. Programma di utilità del master file: descrive la sintassi e l’uso dei programmi<br />
di utilità per il master file.<br />
4. Programma di utilità dell’inverted file: descrive la sintassi e l’uso dei<br />
programmi di utilità per l’inverted file.<br />
Vi sono poi quattro appendici che contengono informazioni supplementari<br />
trasversali ai vari capitoli nonché informazioni relative alla struttura interna di<br />
CDS/ISIS [talora indicato anche come MicroIsis].<br />
Un Glossario e una lista delle Abbreviazioni completano il documento.<br />
XII
A proposito di BIREME<br />
Anno dopo anno, BIREME assolve la sua funzione di centro specializzato<br />
nell’informazione scientifica e tecnica per la salute nell’area dell’America latina e<br />
dei Caraibi. Fon<strong>da</strong>ta in Brasile nel 1967, col nome di Biblioteca Regionale di<br />
Medicina (Biblioteca Regional de Medicina: <strong>da</strong> cui la sigla BIREME), sin <strong>da</strong>ll’inizio<br />
prestò attenzione alla crescente doman<strong>da</strong> di letteratura scientifica corrente<br />
proveniente <strong>da</strong>i sistemi sanitari nazionali e <strong>da</strong>lle comunità di ricercatori,<br />
professionisti e studenti. In seguito, nel 1982, prese il nome di Centro<br />
Latinoamericano e dei Caraibi per l’informazione in scienze della salute (Centro<br />
Latinoamericano y del Caribe de Informazione en Ciencias de la Salud), allo scopo<br />
di esprimere meglio le proprie funzioni, orientate all’irrobustimento e<br />
all’ampliamento del flusso dell’informazione scientifica e tecnica relativa alla<br />
salute in tutta l’area, tuttavia mantenne la stessa sigla.<br />
L’attività in rete, fon<strong>da</strong>ta sul decentramento, volta a sviluppare le capacità locali,<br />
condividere le risorse informative, sviluppare prodotti e servizi cooperativi,<br />
elaborare metodologie comuni, fu sempre la base del lavoro cooperativo di<br />
BIREME. In tale maniera il centro si consoli<strong>da</strong> come un modello internazionale<br />
che promuove le capacità dei professionisti dell’informazione a livello gestionale e<br />
Prefazione<br />
1
Programmi di utilità CISIS: manuale di riferimento Prefazione<br />
tecnico, affinché essi adottino protocolli di informazione e di comunicazione che<br />
meglio servano le esigenze locali.<br />
I principi fon<strong>da</strong>mentali che sono alla base e sostengono l’esistenza di BIREME<br />
sono:<br />
• l’ accesso all’informazione sanitaria scientifica e tecnica è essenziale per lo<br />
sviluppo della sanità;<br />
• la necessità di sviluppare le capacità dei paesi dell’America latina e dei Caraibi<br />
a sfruttare le fonti di informazione sanitaria scientifica e tecnica in maniera<br />
coperativa ed efficiente;<br />
• la necessità di promuovere l’uso e di rispondere alla richiesta di informazione<br />
sanitaria scientifica e tecnica <strong>da</strong> parte dei governi, dei sistemi sanitari, delle<br />
istituzioni educative e di ricerca.<br />
BIREME, in qualità di centro specializzato della Organizzazione panamericana<br />
della sanità (Organización Panamericana de la Salud - OPAS)/Organizzazione<br />
mondiale della sanità (OMS), coordina e realizza attività di cooperazione tecnica in<br />
gestione dell’informazione e della conoscenza scientifiche, coll’intento di rafforzare<br />
ed ampliare la circolazione dell’informazione sanitaria scientifica e tecnica in<br />
Brasile e negli altri paesi dell’America latina e dei Caraibi, come condizione<br />
essenziale per lo sviluppo della sanità, includendovi programmazione, gestione,<br />
promozione, ricerca, educazione e servizio.<br />
L’accordo che è alla base di BIREME viene rinnovato ogni cinque anni <strong>da</strong>i membri<br />
del Comité Asesor Nacional de la institución (OPAS, Ministerio de la Salud de<br />
Brasil, Ministerio de Educación y Cultura de Brasil, Secretaría de Salud del Estado<br />
de São Paulo y Universi<strong>da</strong>d Federal de São Paulo – Unifesp). Quest’ultima mette a<br />
disposizione l’infrastruttura fisica necessaria al funzionamento dell’istituzione.<br />
Nel 2004 l’istituzione prese la decisione di mutarsi in un’entità fon<strong>da</strong>ta sulla<br />
conoscenza.<br />
La Biblioteca virtuale della salute (Biblioteca<br />
Virtual en Salud -<strong>BVS</strong>)<br />
Con la nascita e il consoli<strong>da</strong>mento di Internet come mezzo prevalente di<br />
informazione e di comunicazione, il modello de cooperazione tecnica di BIREME<br />
2
Programmi di utilità CISIS: manuale di riferimento Prefazione<br />
prese ad evolvere <strong>da</strong>l 1998 verso la costruzione e lo sviluppo della Biblioteca<br />
virtuale della salute (Biblioteca Virtual en Salud <strong>BVS</strong>) quale spazio comune di<br />
confluenza del lavoro cooperativo dei produttori, degli intermediari e degli utenti<br />
di informazione. La <strong>BVS</strong> promuove lo sviluppo di una rete di fonti di informazione<br />
scientifica e tecnica con accesso universale in Internet. Per la prima volta si apre la<br />
possibilità di un accesso equo all’informazione sanitaria.<br />
BIREME cura la Biblioteca Virtual come modello per la gestione dell’informazione<br />
e della conoscenza, il che implica la cooperazione e la convergenza di istituzioni,<br />
sistemi, reti e iniziative di produttori, intermediari ed utenti per la messa in opera<br />
di reti di fonti di informazione locali, nazionali, regionali e internazionali,<br />
privilegiando in tal maniera l’accesso aperto ed universale.<br />
Attualmente, tutti i paesi dell’America latina e della regione dei Caraibi<br />
partecipano direttamente o indirettamente nella fornitura dei prodotti e dei servizi<br />
cooperativi promossi <strong>da</strong>lla <strong>BVS</strong>, il che significa oltre mille istituzioni in oltre 30<br />
paesi.<br />
La <strong>BVS</strong> si situa in uno spazio virtuale di Internet formato <strong>da</strong>lla raccolta o rete di<br />
fonti di informazione sanitaria di tutta l’area. Utenti di livelli e provenienza diversi<br />
possono interagire e navigare nello spazio di una o più fonti d’informazione, a<br />
prescindere <strong>da</strong>ll’ubicazione fisica. Le fonti informative vengono generate,<br />
aggiornate, conservate e trattate in Internet <strong>da</strong> produttori, integratori e<br />
intermediari, in regime di decentramento, impiegando metodologie condivise per<br />
la loro integrazione nella <strong>BVS</strong>.<br />
La <strong>BVS</strong> organizza l’informazione in una struttura che integra e interconnette basi<br />
di <strong>da</strong>ti referenziali, elenchi di specialisti, eventi ed enti, catalogo di risorse<br />
informative disponibili in Internet, collezioni di testi integrali con particolare<br />
risalto per la raccolta SciELO (Scientific Electronic Online) di riviste scientifiche,<br />
servizi di disseminazione selettiva dell’informazione, fonti di informazione di<br />
supporto all’educazione ed alle attività decisionali, notizie, liste di discussione e<br />
sostegno alle comunità virtuali. Conseguentemente, lo spazio della <strong>BVS</strong> costituisce<br />
una rete dinamica e decentrata di fonti informative a partire <strong>da</strong>lla quale si possono<br />
recuperare ed estrarre informazione e conoscenza per sostenere i processi<br />
decisionali nell’ambito della salute.<br />
3
Programmi di utilità CISIS: manuale di riferimento Prefazione<br />
La <strong>BVS</strong> Biblioteca Virtual en Salud è vista come la base <strong>da</strong>ti distribuita della<br />
conoscenza scientifica e tecnica in materia di salute memorizzata, organizzata<br />
conservata in formato elettronico nei paesi dell’area, accessibile universalmente<br />
inInternet in maniera compatibile con le altre basi <strong>da</strong>ti internazionali.<br />
4
CISIS - Interfaccia<br />
MicroISIS (CDS/ISIS for Mini-microcomputers) è un software sviluppato<br />
Presentazione<br />
<strong>da</strong>ll’UNESCO per basi di <strong>da</strong>ti eminentemente testuali. MicroISIS gestisce campi<br />
(unità di <strong>da</strong>ti) a lunghezza variabile. Un campo può mancare in uno o più record,<br />
può contenere una sola occorrenza dei <strong>da</strong>ti, o due o più sottocampi a lunghezza<br />
variabile. Del pari un campo può essere ripetibile ossia il record ne contiene più di<br />
un’occorrenza.<br />
L’interfaccia CISIS è una biblioteca (library) di funzioni, scritta in linguaggio di<br />
programmazione C, concepita per consentire lo sviluppo di applicazioni per basi<br />
<strong>da</strong>ti MicroISIS (senza dover attivare il software MicroISIS). Le applicazioni CISIS<br />
sono pienamente compatibili con MicroISIS, ivi incluse le applicazioni<br />
multiutente.<br />
Esistono ormai varie implementazioni attuate sopra la struttura originale di<br />
CDS/ISIS, al punto che è oggi più appropriato definire tutte queste varianti come<br />
la “famiglia Isis”. E’ importante mettere in evidenza che i <strong>da</strong>ti creati per mezzo di<br />
una qualsiasi delle varianti che compongono questa “famiglia” sono compatibili e<br />
interscambiabili fra di esse.<br />
5
Programmi di utilità CISIS: manuale di riferimento Presentazione<br />
Le applicazioni sviluppate con l’interfaccia CISIS possono manipolare varie basi di<br />
<strong>da</strong>ti contemporaneamente; il master file e l’inverted file vengono elaborati<br />
indipendentemente l’uno <strong>da</strong>ll’altro. Né è indispensabile disporre della FDT tabella<br />
di definizione dei campi della base <strong>da</strong>ti per fare funzionare le applicazioni CISIS.<br />
L’interfaccia CISIS e i programmi di utilità CISIS sono stati concepiti e<br />
implementati presso il Centro de Informazione en Ciencias de la Salud para<br />
América Latina y el Caribe - BIREME, Organización Panamericana de la Salud -<br />
OPS, e al momento sono disponibili per le piattaforme:<br />
• PC IBM1 32 bits<br />
• UNIX su processori Intel (LINUX, SCO, etc.)<br />
• UNIX su altri processori (HP-UX, Sun, IBM-AIX, CDC/S4320, etc.)<br />
• VAX sotto VMS<br />
• HP3000/950 sotto MPE/XL<br />
CISIS – Programma di utilità<br />
I programmi di utilità CISIS (CISIS Interface Utility Programs) costituiscono un<br />
insieme di programmi sviluppati in linguaggio C che “chiamano” le funzioni offerte<br />
<strong>da</strong>ll’interfaccia CISIS al fine di realizzare varie funzioni su basi <strong>da</strong>ti della famiglia<br />
Isis, come ad esempio recuperare e visualizzare record, effettuare la manutenzione<br />
di basi <strong>da</strong>ti, etc. Parimenti si possono svolgere funzioni particolari che permettano<br />
l’ordinamento di un master file, generare tabelle a partire <strong>da</strong> quello stesso,<br />
cambiare i TAG (le etichette) dei campi, etc.<br />
Questo insieme di programmi di utilità è disponibile in quattro versioni: 10/30 e<br />
16/60, LIND, FFI. Le differenze sostanziali risiedono nella lunghezza delle chiavi<br />
dell’inverted file e nella dimensione massima del record misurata in byte che le<br />
diverse versioni consentono, così come illustrato nella tabella che segue.<br />
1 Per MS-DOS a 16 bit occorrerà usare le applicazioni CISIS fino alla versione 3.4<br />
6
Programmi di utilità CISIS: manuale di riferimento Presentazione<br />
10/30 16/60 LIND FFI<br />
Chiavi dell’inverted file 30 60 60 60<br />
Dimensione massima del<br />
record<br />
32.767 32.767 32.767 1.048.576<br />
Nota: La versione 10/30 è l’unica compatibile con CDS/ISIS Unesco<br />
Per ulteriori dettagli relativi alla struttura del master e dell’ inverted file<br />
cfr.l’Appendice III: Struttura del record di una base ISIS.<br />
Le caratteristiche particolari di questi programmi vengono evidenziate <strong>da</strong>lla<br />
dichiarazione di versione che si suscita col comando what<br />
Per esempio:<br />
mx what<br />
CISIS Interface v5.2a/PC32/M/32767/10/30/I - Utility MX<br />
CISIS Interface<br />
v5.2a/.iy0/Z/4GB/GIZ/DEC/ISI/UTL/INVX/B7/FAT/CIP/CGI/MX<br />
Copyright (c)BIREME/PAHO 2006.<br />
[http://www.bireme.br/products/cisis]<br />
Acronimo Spiegazione<br />
V5.2a numero di versione<br />
PC32 Compilatore usato (in questo caso Windows PC)<br />
L Versione Lind se presente<br />
M Versione anche multiutente<br />
32767 Dimensione massima del record in byte, approssimato per difetto<br />
10/30 Lunghezza delle voci dell’inverted file<br />
I Consente l’aggiornamento dell’I/F<br />
Utility MX Nome del programma<br />
.iy0 Un solo file fisico per l’I/F (costruito con mkiy0)<br />
Z I/F compresso (construito con myz – non più attivo)<br />
4GB Dimensione massima del master file<br />
GIZ Gizmo<br />
DEC Decod<br />
ISI Importazione Iso-2709<br />
UTL Modulo Ciutl<br />
INVX Ricerca multipla su I/F<br />
B7 Versione del meccanismo interno di ricerca<br />
FAT Fatal() - [errore]<br />
CIP Cipar()<br />
GCI Consente il funzionamento in ambiente CGI<br />
MX Cisis_mx()<br />
7
Programmi di utilità CISIS: manuale di riferimento Presentazione<br />
Programma di utilità MX<br />
MX Il programma MX è un strumento di impiego generale per lavorare su<br />
basi di <strong>da</strong>ti MicroISIS. Può effettuare la maggior parte delle funzioni<br />
dell’interfaccia CISIS, inclusi l’importazione/esportazione di file ISO-<br />
2709, ricerche, cambiamenti globali di modelli, legame fra record del<br />
master file in base al numero di record o a voce dell’inverted file,<br />
inserimento nei campi di <strong>da</strong>ti generati <strong>da</strong>lla Tabella di selezione dei<br />
campi (FST), e operazioni di aggiunta/soppressione di campi.<br />
Programmi di utilità per il master file<br />
MXF0 Analizza tutti i record di un master file, fornendo informazioni circa i<br />
campi presenti ed i caratteri in essi usati.<br />
MXTB Il programma MXTB permette di fare calcoli sul contenuto dei campi,<br />
ad esempio il numero di volte che ricorre un autore, un descrittore, o la<br />
presenza congiunta di un autore e di un titolo di periodico, etc.<br />
Il risultato dell’esecuzione di MXTB è un master file che contiene un<br />
record per ogni diversa frase trovata (categoria). Questi record<br />
contengono campi per memorizzare la categoria e la sua frequenza.<br />
MXCP Copia i record a partire <strong>da</strong> un master file di partenza ad un master file<br />
di uscita, ammettendo che il <strong>da</strong>to di partenza venga modificato per<br />
cambiamento globale di modello e/o soppressione di spazi (blanks) in<br />
inizio o fine, caratteri non stampabili e segni di punteggiatura in fine.<br />
Trasforma pure in ripetibili campi che contengono uno specifico<br />
delimitatore di occorrenze e può scartare campi in entrata in base ai<br />
valori dei loro TAG (etichette).<br />
Altra caratteristica del MXCP è il recupero (undelete) di record del<br />
master file logicamente cancellati.<br />
MSRT Ordina i record di un master file in sequenza ascendente sulla base<br />
delle chiavi generate <strong>da</strong>ll’applicazione ai record di un formato.<br />
RETAG Questo programma comprende due funzioni:<br />
Cambiare i TAG (etichette) dei campi di un master file, sulla base di<br />
una tabella di rinumerazione.<br />
Sbloccare (unlock) un master file.<br />
CTLMFN Visualizza e fa aggiornare il record di controllo del master file.<br />
Va usato quando un master file viene reinizializzato per errore.<br />
MKXRF Programma per il recupero del master file, che legge un file .mst e crea<br />
il corrispondente file .xrf.<br />
Può venire usato per recuperare tutti i record attivi di un master file<br />
logicamente reinizializzato.<br />
I2ID Legge un master file e genera un file ASCII, che può venire editato e<br />
modificato.<br />
L’idea è di servirsene insieme al programma ID2I che svolge il compito<br />
inverso: legge un file ASCII e converte i <strong>da</strong>ti letti in record di un master<br />
8
Programmi di utilità CISIS: manuale di riferimento Presentazione<br />
Programmi di utilità per il master file<br />
file.<br />
ID2I Legge un file ASCII prodotto <strong>da</strong> I2ID (o uno avente la medesima<br />
struttura di un file prodotto <strong>da</strong> questo) e converte i <strong>da</strong>ti letti in record<br />
del master file.<br />
CRUNCHMF Converte il master file <strong>da</strong> un sistema operativo ad un altro, per<br />
esempio <strong>da</strong> Windows a Linux.<br />
Programmi di utilità per l’inverted file<br />
IFKEYS Mostra i termini dell’inverted file e la quantità di postings di ciascuno<br />
di essi.<br />
Facoltativamente i termini possono venire disaggregati in base<br />
all’etichetta a partire <strong>da</strong>lla quale sono stati estratti.<br />
IFLOAD Carica un inverted file a partire <strong>da</strong>i link file, secondo certe opzioni di<br />
trattamento. Accetta altri formati oltre a quello dei link file stan<strong>da</strong>rd di<br />
MicroISIS.<br />
MYS Effettua l’ordinamento (sort) dei link file per creare l’inverted file.<br />
IFMERGE Riunisce più inverted file di diversi master file in un solo inverted file,<br />
grazie ad un procedimento che recupera i record <strong>da</strong>i master file di<br />
partenza.<br />
MKIY0 Combina i sei file che compongono l’inverted file in un solo file fisico.<br />
CRUNCHIF Converte l’inverted file <strong>da</strong> un sistema operativo ad un altro, per<br />
esempio <strong>da</strong> Windows a Linux.<br />
Installazione dei programmi d’utilità CISIS<br />
Tutta l’installazione dei programmi d’utilità CISIS consiste nel creare una cartella<br />
(directory), in genere \CISIS\SYS\, e copiarvi i programmi.<br />
Per comodità si può inserire il percorso \CISIS\SYS nel PATH del sistema<br />
operativo in modo <strong>da</strong> potere lanciare in esecuzione i programmi là dove ci si trova<br />
senza essere legati a posizionarsi in \CISIS\SYS.<br />
Esempi del manuale<br />
9
Programmi di utilità CISIS: manuale di riferimento Presentazione<br />
La maggior parte degli esempi del manuale sono basati sulla base <strong>da</strong>ti CDS<br />
[distribuita <strong>da</strong>ll’Unesco insieme a CDS/ISIS e a Winisis], e che si suppone venga<br />
posizionata nella cartella:<br />
\CISIS\BASES\<br />
Si lavorerà su questa base <strong>da</strong>ti modificandola varie volte, per cui è consigliato<br />
effettuarne previamente una copia di salvataggio.<br />
Eseguire i programmi d’utilità<br />
I programmi d’utilità CISIS si man<strong>da</strong>no in esecuzione come comandi, <strong>da</strong>l prompt<br />
del sistema operativo, o a partire <strong>da</strong> file .bat (file contenenti sequenze di<br />
operazioni eseguite in batch) del MS-DOS o scripts (shell scripts) di UNIX.<br />
Qualsiasi programma di utilità CISIS può venire eseguito scrivendo il suo nome<br />
seguito <strong>da</strong> uno o più parametri, assumendo che il nome del percorso della cartella<br />
\cisis\sys (directory dove sono ubicati i programmi di utilità CISIS) sia incluso fra<br />
quelli indicati nel PATH. Se nel lanciare un programma non si indicano parametri<br />
ogni strumento d’utilità CISIS visualizza a schermo una breve spiegazione della<br />
propria mo<strong>da</strong>lità d’uso. Per esempio, scrivendo solo il nome MXCP <strong>da</strong>l prompt di<br />
DOS, compare:<br />
CISIS Interface v5.2a/PC32/M/32767/10/30/I - Utility MXCP<br />
Copyright (c)BIREME/PAHO 2006.<br />
[http://www.bireme.br/products/cisis]<br />
mxcp {in=|} [create=] [ [...]]<br />
options: {from|to|loop|count|tell|offset}=<br />
gizmo=[,tag_list>]<br />
undelete<br />
clean [mintag=1] [maxtag=9999]<br />
period=.[,]<br />
repeat=%[,]<br />
log=<br />
10
Programmi di utilità CISIS: manuale di riferimento Presentazione<br />
Ex: mxcp in create=out clean period=.,3 repeat=;,7<br />
in = 3 « Field 3 occ 1. »<br />
3 «Field 3 occ 2 . »<br />
7 « Field 7/1;Field 7/2 ;Field 7/3.»<br />
out = 3 «Field 3 occ 1»<br />
3 «Field 3 occ 2»<br />
7 «Field 7/1»<br />
7 «Field 7/2»<br />
7 «Field 7/3.»<br />
I parametri dell’invio in esecuzione vanno forniti come una lista separata <strong>da</strong> spazi<br />
(blanks) e conseguentemente ogni singolo parametro va racchiuso fra virgolette<br />
doppie quando a sua volte contiene spazi od un qualsiasi carattere d’uso speciale<br />
per il sistema operativo (come segni di maggiore minore, barra verticale, etc.).<br />
L’esempio seguente mostra l’esecuzione del programma MX con tre parametri<br />
(nome della base <strong>da</strong>ti, espressione di ricerca e specifiche del formato di<br />
visualizzazione):<br />
mx \cisis\bases\cds "plants*water" "pft=mfn/,'Ti: 'v24/,(|Au:<br />
|v70/)"<br />
Per potere usare le virgolette doppie all’interno di un parametro di esecuzione<br />
occorre fale precedere <strong>da</strong> una barra retroversa:<br />
mx \cisis\bases\cds "plants*water" "pft=mfn/, \" Ti: \"v24/,(|Au:<br />
|v70/)"<br />
!<br />
I segni di: dollaro, apostrofo, asterisco, punto<br />
interrogativo, punto fermo, virgola, ed altri<br />
caratteri che hanno valenza specifica per i sistemi<br />
operativi della famiglia UNIX, devono parimenti<br />
venire racchiusi fra virgolette.<br />
11
Programmi di utilità CISIS: manuale di riferimento Presentazione<br />
Convenzioni sintattiche<br />
Vengono applicate le seguenti convenzioni per descrivere la sintassi propria dei<br />
programmi d’utilità CISIS:<br />
parametro <strong>obbligatori</strong>o<br />
[] parametro facoltativo<br />
{|} Scelta esclusiva fra o <br />
[...] che può venire ripetuta<br />
!<br />
Ad esempio, MXCP dispone di questa sintassi generale:<br />
mxcp [create=] [ [...]]<br />
options:<br />
{from|to|loop|count|tell|offset}=<br />
gizmo=[,]<br />
undelete<br />
clean [mintag=1] [maxtag=9999]<br />
period=.[,]<br />
repeat=%[,]<br />
log=<br />
Alcuni parametri sono parole riservate che,<br />
quando usate, devono venire scritte come<br />
prescritto, facendo caso a maiuscole e minuscole.<br />
Dove traspare che due parametri sono <strong>obbligatori</strong>: (a) nome della base <strong>da</strong>ti in<br />
entrata e (b) nome della base <strong>da</strong>ti in uscita.<br />
Pertanto il comando:<br />
mxcp \cisis\bases\cds newcds<br />
12
Programmi di utilità CISIS: manuale di riferimento Presentazione<br />
Copia il master file cds alloggiato nella cartella \cisis\bases nel master file newcds<br />
situato nella directory corrente. Il master file newcds dovrà già esistere, altrimenti<br />
l’esempio in questione produrrà un errore.<br />
Se newcds non esiste già lo si può creare mediante il parametro opzionale create<br />
come mostrato nell’esempio che segue:<br />
mxcp \cisis\bases\cds create=newcds<br />
Le opzioni di elaborazione possono venire indicate usando i parametri facoltativi.<br />
Per indicare, ad esempio, gli estremi dei record <strong>da</strong> trattare si usa from e to<br />
mxcp \cisis\bases\cds create=newcds from=10 to=20<br />
13
Presentazione<br />
Introduzione<br />
Programma di utilità MX<br />
MX è un programma di uso generale per basi <strong>da</strong>ti CDS/ISIS che svolge la maggior<br />
parte delle funzioni dell’interfaccia CISIS. Al pari degli altri programmi d’utilità<br />
CISIS, MX viene man<strong>da</strong>to in esecuzione a muovere <strong>da</strong>lla linea di comando del<br />
sistema operativo, indicando le operazioni <strong>da</strong> svolgere mediante parametri.<br />
MX può, ad esempio, venire usato per recuperare e visualizzare un insieme di<br />
record di una base <strong>da</strong>ti, in ragione di un’espressione di ricerca e di un formato di<br />
visualizzazione, come nella seguente linea di comandi:<br />
mx \cisis\bases\cds "plants * water" "pft=mfn,x1,v24/"<br />
Così pure, MX permette di effettuare ricerche a testo libero ogniqualvolta manchi<br />
un inverted file.<br />
MX può anche leggere files ISO-2709 o file in mero testo ASCII, che usano segni<br />
delimitatori come separatori di campo. In questi casi i record in ingresso vengono<br />
convertiti in record di master file via via che vengono letti.<br />
14
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
I record in entrata possono venire sottoposti alle seguenti manipolazioni:<br />
1. Cambiamento globale di modelli.<br />
2. Unione di record, grazie al numero di record o alla chiave interna all’inverted<br />
file.<br />
3. Unire campi e <strong>da</strong>ti generati <strong>da</strong> una FST Tabella di selezione dei campi.<br />
4. Aggiunta/soppressione di record, specificate tramite un linguaggio di<br />
formattazione.<br />
I record trattati con il MX possono venire inviati ad un master file, ad un file ISO-<br />
2709 o all’uscita stan<strong>da</strong>rd (che può venire reindirizzata verso un file o una<br />
stampante). Le linee prodotte <strong>da</strong> un formato possono venire inviate al sistema<br />
operativo.<br />
L’esecuzione del MX può fare scaturire una chiamata rivolta al sistema operativo<br />
affinché esso esegua un determinato programma.<br />
L’esito dell’applicazione di una Tabella di selezione dei campi (FST) ad un master<br />
file può venire inviato ai link file o essere integrato in un inverted file.<br />
Il file di uscita può essere lo stesso di quello di ingresso.<br />
MX può operare anche in ambiente multiutente.<br />
Descrizione generale<br />
Per man<strong>da</strong>re in esecuzione il MX è necessario indicargli dove si trovano i <strong>da</strong>ti su<br />
cui deve operare. Possono provenire <strong>da</strong> un master file, <strong>da</strong> un file ISO-2709 o <strong>da</strong> un<br />
file di testo. E’ questo l’unico parametro <strong>obbligatori</strong>o del programma.<br />
La sequenza<br />
mx \cisis\bases\cds<br />
invia sullo schermo la lista dei record della base cds, situata nella cartella<br />
\cisis\bases. I record elencati vengono visualizzati senza formattazione.<br />
Possono venire specificate altre opzioni tramite i relativi parametri, ad esempio:<br />
mx \cisis\bases\cds from=10 to=20<br />
15
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
il che mostra a schermo i record della base <strong>da</strong>ti cds <strong>da</strong>l 10 al 20. La base si trova<br />
nella directory \cisis\bases e i record vengono visualizzati senza formattazione.<br />
La stringa di comando:<br />
mx \cisis\bases\cds from=10 to=20 "pft=mfn,x1,v24(0,7)/"<br />
visualizza sullo schermo i record <strong>da</strong> 10 a 20 della base <strong>da</strong>ti cds, applicando loro il<br />
formato specificato col parametro pft=mfn,x1,v24(0,7)/. La base <strong>da</strong>ti si trova nella<br />
directory \cisis\bases.<br />
E’ importante considerare che l’ordine in cui i parametri opzionali vengono<br />
indicati non influisce sull’esecuzione del MX. L’esecuzione di questi parametri<br />
avverrà nell’ordine secondo cui sono elencati nella dichiarazione formale della<br />
sintassi del comando.<br />
Così la stringa di cui sopra potrebbe venire scritta come:<br />
mx \cisis\bases\cds to=20 "pft=mfn,x1,v24(0,7)/" from=10<br />
o come<br />
mx \cisis\bases\cds "pft=mfn,x1,v24(0,7)/" from=10 to=20<br />
Tuttavia, ancorché le dichiarazioni sottostanti siano equivalenti:<br />
mx \cisis\bases\cds pft=@file1 proc=@miproc.prc<br />
mx \cisis\bases\cds proc=@miproc.prc pft=@file1<br />
mx \cisis\bases\cds gizmo=gizfile1 proc=@miproc.prc<br />
mx \cisis\bases\cds proc=@miproc.prc gizmo=gizfile1<br />
il parametro gizmo verrà trattato prima del proc, perché così è stipulato nella<br />
sintassi.<br />
Se l’input principale (primo parametro) è una base <strong>da</strong>ti e il suo inverted file è<br />
disponibile, l’insieme di record <strong>da</strong> trattare può venire enucleato grazie ad una<br />
ricerca.<br />
L’esempio seguente recupera i record della base cds, ubicata nella directory<br />
\cisis\bases, che contengono le parole plants e water.<br />
mx \cisis\bases\cds "plants * water"<br />
16
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
MX può leggere i <strong>da</strong>ti in ingresso a partire <strong>da</strong> un file in formato ISO-2709 o <strong>da</strong> un<br />
file di testo con delimitatori.<br />
La seguente sequenza di comandi visualizza i primi 5 record di un file ISO-2709 di<br />
nome cds.iso, situato nella directory \cisis\bases.<br />
mx iso=\cisis\bases\cds.iso to=5<br />
Nell’esempio che segue MX utilizza un file ASCII di nome name come input, il cui<br />
contenuto è:<br />
Autore 1|titolo 1|^aParis^bUnesco^c1965<br />
|titolo 2|^aParis^bUnesco^c1965<br />
Autore 3|titolo 3|^aParis^bUnesco^c1965<br />
E può venire elencato a schermo tramite questa sequenza di comandi MX:<br />
mx seq=name "pft=mfn,c11,v1,c21,v2,c31,v3/" now<br />
Che genererà come output:<br />
000001 Autore 1 Titolo 1 ^aParis^bUnesco^c1965<br />
000002 Titolo 2 ^aParis^bUnesco^c1965<br />
000003 Autore 3 Titolo 3 ^aParis^bUnesco^c1965<br />
I record trattati possono venire memorizzati in un master file. Le seguenti stringhe<br />
di comandi creano il master file sample:<br />
mx\cisis\bases\cds "plants * water" create=sample -all now<br />
mx iso=\cisis\bases\cds.iso to=5 create=sample -all now<br />
mx seq=name create=sample -all now<br />
Questi record possono altresì venire esportati in un file di formato ISO-2709, per<br />
esempio sample.iso:<br />
mx \cisis\bases\cds "plants * water" iso=sample.iso -all now<br />
mx iso=\cisis\bases\cds.iso to=5 iso=sample.iso -all now<br />
mx seq=name iso=sample.iso -all now<br />
17
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Quando MX effettua uno o più procedimenti che modificano i record (provenienti<br />
vuoi <strong>da</strong>lla base <strong>da</strong>ti, vuoi <strong>da</strong> un file ISO-2709 o <strong>da</strong> un file di testo), queste<br />
modifiche si effettuano in memoria e non modificano la base <strong>da</strong>ti, a meno che<br />
ciò non venga esplicitamente indicato.<br />
I record modificati possono venire mostrati a schermo, memorizzati in una base<br />
<strong>da</strong>ti o in un file di output.<br />
Fra i principali procedimenti di modifica si possono annoverare:<br />
Cambiamenti globali di modelli (gizmo).<br />
Unificazione di record (o di loro parti) provenienti <strong>da</strong> basi <strong>da</strong>ti diverse (join).<br />
Aggiornamento di campi (proc).<br />
Sfruttare una Tabella di selezione dei campi (FST) di ISIS e associare i <strong>da</strong>ti che ne<br />
risultano a record in memoria (fst).<br />
L’esempio seguente serve a mostrare i record del master file di cds: l’utente <strong>da</strong><br />
tastiera decide quali visualizzare scrivendone il numero di record (mfn).<br />
• MS-DOS:<br />
mx seq=con "join=cds='mfn='v1" "proc='D1/1D32001'"<br />
• UNIX:<br />
mx seq=/dev/ttyp0 "join=cds='mfn='v1" "proc='D1/1D32001'"<br />
MX può aggiornare i record modificati all’interno del medesimo master file<br />
utilizzato come input:<br />
mx cds "proc='D24'" copy=cds -all now<br />
quest’esempio cancella il campo con etichetta (TAG) 24 in tutti i record della base<br />
<strong>da</strong>ti cds, realizzando la modifica nella stessa base <strong>da</strong>ti.<br />
MX può recepire i parametri <strong>da</strong> un file di testo, consentendo così di superare i<br />
limiti posti <strong>da</strong>l sistema operativo che si presenterebbero quando:<br />
1. Una stringa di comandi MX contiene più caratteri di quanti siano ammessi in<br />
una riga di comando del sistema operativo (128 caratteri in MS-DOS e 512<br />
caratteri in certi UNIX).<br />
2. La stringa di comandi che si sta immettendo <strong>da</strong> tastiera contiene caratteri<br />
riservati per il sistema operativo.<br />
18
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Quest’esempio mostra come utilizzare un file di parametri:<br />
mx in=somefile<br />
Laddove il file somefile contiene:<br />
\cisis\bases\cds<br />
proc='D1'<br />
copy=\cisis\bases\cds<br />
-all<br />
now<br />
Sintassi<br />
MX versione 5.2a, tavola della sintassi:<br />
CISIS Interface v5.2a/PC32/L/M/32767/16/60/I - Utility MX<br />
Copyright (c)BIREME/PAHO 2006.<br />
[http://www.bireme.br/products/cisis]<br />
mx [cipar=] [{mfrl|load}=] [cgi={mx|}]<br />
[in=]<br />
{[db=]|<br />
seq[/1m]=|<br />
iso[={marc|}]= [isotag1=]|<br />
dict=[,[,[/]]]<br />
[k{1|2}=]}<br />
options:<br />
{from|to|loop|count|tell|btell}=<br />
text[/show]=<br />
[bool=]{|@} [invx=] [tmpx=]<br />
gizmo=[,] [gizp[/h]=] [decod=]<br />
join=[:][,]=<br />
join=[:][,]= [jmax=]<br />
jchk=[+]=<br />
proc=[|@]<br />
19
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
D{[/]|*}<br />
A<br />
H <br />
<br />
S[]<br />
R,<br />
G[,]<br />
Gsplit[/clean]=[={|words|letters|numbers|trigrams}]<br />
Gsplit==6words[/if=]<br />
Gload[/][/nonl][=]<br />
Gmark[/]{/|/keys|/decs|/,[,]}=<br />
Gmarx[/]/[@="x"]<br />
=[:&[]|/c[=224]|/i]<br />
Gdump[/][/nonl][/xml][=]<br />
=<br />
X[append=]<br />
convert=ansi [uctab={|ansi}] [actab={|ansi}]<br />
fst[/h]={|@[]} [stw=@[]]<br />
[mono|mast|full] {create|copy|append|merge|up<strong>da</strong>tf}=<br />
[out]iso[={marc|}]= [outisotag1=]<br />
fullinv[/dict][/keep][/ansi]=<br />
[maxmfn=|master=]<br />
ln{1|2}= [+fix[/m]]<br />
fix= tbin=<br />
tab[/lines:100000/width:100/tab:]=<br />
{prolog|pft|epilog}={|@} [lw={|0}]<br />
{+|-}{control|leader|xref|dir|fields|all} mfrl now<br />
MX assume i parametri nell’ordine indicato nella tavola. In primo luogo devono<br />
trovarsi, se presenti, i parametri di inizializzazione (setup), poi la sorgente dei <strong>da</strong>ti<br />
in ingresso, ed infine i parametri d’elaborazione facoltativi. Vi sono alcune<br />
20
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
eccezioni che vengono indicate nel manuale, ad esempio btell= deve venire<br />
indicato prima di bool=.<br />
<strong>Parametri</strong>. Descrizione generale<br />
Se si immette il nome del programma MX senza parametri, si visualizza il menu di<br />
tutte le opzioni possibili e una breve illustrazione del suo uso così come mostrato<br />
nella tavola precedente.<br />
<strong>Parametri</strong> di inizializzazione (setup)<br />
I parametri facoltativi di inizializzazione (files, mfrl, fmtl, load), nel caso in cui uno<br />
o più siano presenti, devono venire elencati prima di qualsivoglia altro parametro.<br />
<strong>Parametri</strong> che indicano la sorgente dei <strong>da</strong>ti in ingresso<br />
Parametro <strong>obbligatori</strong>o che indica la sorgente dei <strong>da</strong>ti in input (nome della base<br />
<strong>da</strong>ti, file ISO-2709 o file di testo): deve essere il parametro indicato per primo, a<br />
meno che nella sequenza dei comandi non vi siano parametri di inizializzazione,<br />
nel qual caso va posto immediatamente dopo di questi.<br />
<strong>Parametri</strong> per il trattamento dei <strong>da</strong>ti<br />
<strong>Parametri</strong> facoltativi che svolgono il proprio compito sui <strong>da</strong>ti in ingresso. Nella<br />
sequenza dei comandi vengono dopo il parametro che indica i <strong>da</strong>ti sorgente.<br />
!<br />
MX dà per scontato (ossia assume per default)<br />
che qualunque stringa (sequenza di caratteri) che<br />
si trova dopo la sorgente dei <strong>da</strong>ti in ingresso e che<br />
non comincia con una parola riservata (from, to,<br />
join, etc.) sia un’espressione di ricerca.<br />
I parametri di trattamento possono venire classificati come:<br />
21
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
<strong>Parametri</strong> per selezionare dei record<br />
Con questi parametri si individua un sottoinsieme dell’input sul quale operare. La<br />
maniera di individuare questo sottoinsieme può consistere in:<br />
• Una ricerca (bool)<br />
• Un modello grazie al quale si effettua una ricerca a testo libero (text)<br />
• Un intervallo di record (i cui estremi si indicano con from, to)<br />
• Una certo numero di record (count)<br />
• Una sequenza discontinua di record <strong>da</strong> trattare (loop)<br />
<strong>Parametri</strong> per l’esecuzione di elaborazioni<br />
Si tratta di parametri che richiamano procedimenti interni che svolgono<br />
operazioni in memoria sull’insieme dei record letti.<br />
Queste operazioni possono essere:<br />
• Effettuare cambiamenti globali (gizmo)<br />
• Unificare record (join)<br />
• Confrontare master file e inverted file (jchk)<br />
• Effettuare modifiche nei campi dei record (proc)<br />
• Applicare la FST Tabella di selezione dei campi (fst) ai record<br />
• Applicare i formati ai record (pft)<br />
! La<br />
<strong>Parametri</strong> di uscita (output) dei <strong>da</strong>ti<br />
sequenza di esecuzione di queste elaborazioni<br />
è: gizmo, join e/o jchk, proc, fst e pft.<br />
Si tratta di parametri che consentono ad esempio di indicare:<br />
• La base <strong>da</strong>ti di uscita (create, copy, append, etc.)<br />
• Il nome di un file ISO-2709 di uscita (iso)<br />
• Il nome di un link file (ln1, ln2)<br />
• Chiamate al sistema operativo (sys)<br />
22
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
<strong>Parametri</strong> generali<br />
Sono parametri che servono a svolgere funzioni generali, ad esempio:<br />
Disattivare il prompt (interazione con l’utente) fra i vari record trattati (now)<br />
Cambiare il testo del prompt di mx (p1, p2)<br />
Modificare le opzioni di visualizzazione (+fields, +all, -all, etc.).<br />
° Reindirizzare l’uscita stan<strong>da</strong>rd (>, >>)<br />
° Mostrare i parametri del comando CISIS in esecuzione (trace=rec,<br />
trace=all, etc.).<br />
<strong>Parametri</strong> che indicano qual è l’origine dei <strong>da</strong>ti<br />
in ingresso<br />
Base <strong>da</strong>ti di entrata (input)<br />
<br />
Specifica il master file che deve venire letto. Le elaborazioni <strong>da</strong> effettuare saranno<br />
compiute sopra questo master file.<br />
C:\isis\<strong>da</strong>ta> mx cds<br />
o<br />
X:\[altra directory]> mx C:\isis\<strong>da</strong>ta\cds<br />
Genera un output senza formattazione, mostrando tutti i campi di un record per<br />
volta.<br />
mfn= 1<br />
44 «Methodology of plant eco-physiology: proceedings of the<br />
Montpellier Symposium»<br />
50 «Incl. bibl.»<br />
69 «Paper on: »<br />
24 «Techniques for the measurement of transpiration of individual<br />
plants»<br />
26 «^aParis^bUnesco^c-1965»<br />
30 «^ap. 211-224^billus.»<br />
23
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
..<br />
!<br />
Il programma mostra il prompt (..) in attesa che<br />
<strong>da</strong>ll’utente venga indicata l’azione <strong>da</strong> effettuare.<br />
Se si preme il tasto(invio) verrà<br />
visualizzato il record successivo e così via.<br />
mfn= 2<br />
44 «Methodology of plant eco-physiology: proceedings of the<br />
Montpellier Symposium»<br />
50 «Incl. bibl.»<br />
69 «Paper on: » 24 « Controlled<br />
climate in the plant chamber and its influence upon assimilation<br />
and transpiration»<br />
26 «^c1965»<br />
30 «^ap. 225-232^billus.»<br />
70 «Bosian, G.»<br />
..<br />
A fronte del prompt(..) è possibile compiere tre azioni:<br />
a) Continuare a visualizzare record premendo <br />
b) Immettere una x minuscola e premere per uscire <strong>da</strong>l programma.<br />
c) Qualsiasi altro <strong>da</strong>to immesso verrà interpretato come un’espressione di ricerca<br />
e dopo avere premuto MX procederà ad effettuare la ricerca e a<br />
visualizzare i record reperiti.<br />
File ISO-2709 di entrata (input)<br />
iso[={marc|}]= [isotag1=]<br />
Finora si sono considerati come <strong>da</strong>ti sorgente in entrata delle basi <strong>da</strong>ti in formato<br />
CDS/ISIS. Il programma MX può leggere indifferentemente file in formato ISO-<br />
2709 e svolgere gli stessi procedimenti di quelli effettuabili sui master file<br />
(eccezione fatta per quelli che implicano l’uso dell’inverted file, o indice dizionario,<br />
come, ad esempio, la ricerca).<br />
24
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Ogni record in formato ISO-2709 in input viene letto e trasformato internamente<br />
in un record in formato ISIS, sul quale si passa ad operare.<br />
Esempi:<br />
!<br />
• Esaminare un file ISO-2709:<br />
mx iso=\isis\sys\cds.iso<br />
I separatori di campo e quelli di record nei file<br />
ISO-2709 non vengono presi in<br />
considerazione <strong>da</strong> MX.<br />
esamina un file in formato ISO-2709 di nome cds.iso ubicato nella cartella<br />
\isis\sys.<br />
• Leggere un file ISO e creare un master file con il suo contenuto. Il prompt<br />
viene soppresso <strong>da</strong>l parametro now (no wait).<br />
mx iso=cds.iso create=newcds now<br />
! Il<br />
parametro now verrà illustrato in dettaglio<br />
nell’Appendice I <strong>Parametri</strong> d’uso generale.<br />
• Leggere un file in formato ISO-2709 che risiede nella directory corrente e<br />
creare un master file newcds con i <strong>da</strong>ti forniti <strong>da</strong>l file ISO.<br />
Questo esempio svolge il medesimo procedimento del precedente però senza<br />
mostrare <strong>da</strong>ti sullo schermo. Il parametro -all disattiva l’invio delle<br />
informazioni sullo schermo.<br />
mx iso=cds.iso create=newcds now -all<br />
! Il<br />
parametro -all verrà illustrato in dettaglio<br />
nell’Appendice I <strong>Parametri</strong> d’uso generale.<br />
• Leggere un file ISO e creare un master file di nome newcds con i record d’input, cominciando<br />
con l’mfn 1001. Come nell’esempio precedente non verrà visualizzata alcuna informazione sullo<br />
schermo (-all) né ci si fermerà fra record e record attendendo l’intervento dell’utente (now).<br />
mx iso=cds.iso create=newcds from=1001 -all now<br />
25
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Linee a lunghezza fissa<br />
Il comando MX può leggere file ISO con linee a lunghezza fissa. Questa opzione si<br />
usa per scambiare file ISO creati su PC con altri elaboratori e software che così<br />
esigono (come il MINIISIS di HP). Per leggere file con righe a lunghezza fissa,<br />
occorre indicare l’ampiezza della linea di seguito al parametro ISO:<br />
mx iso=80=cds.iso create=newcds now -all<br />
Questop esempio legge il file ISO assumendo che l’ampiezza della linea sia di 80<br />
caratteri.<br />
Se la lunghezza delle linee è variabile il parametro sarà “0” (zero).<br />
mx iso=0=cds.iso create=newcds2 now -all<br />
Lettura di file MARC<br />
I file il cui formato osserva lo stan<strong>da</strong>rd MARC hanno a fine riga solamente il<br />
carattere ‘\0Bx’ e non recano anche il ‘\0Cx’ () aggiuntivo. Per trattare questi<br />
file si indicherà il parametro così:<br />
mx iso=marc=input.iso create=output.iso now –all<br />
Dati del Leader del record MARC<br />
I record MARC contengono nel Leader <strong>da</strong>ti che non vengono convertiti<br />
automaticamente in CDS/ISIS. Qualora questi <strong>da</strong>ti fossero indispensabili<br />
occorrerà convertirli in campi normali indicando un valore nel parametro<br />
isotag1= come base a partire <strong>da</strong>lla quale verranno caricati i byte del leader. Per<br />
esempio, se si indica isotag1=3000, il byte in posizione 5 del leader verrà caricato<br />
nel campo 3005.<br />
mx iso=marc=input.iso isotag1=3000 create=newcds now -all<br />
File di testo ASCII in entrata (input)<br />
seq[/1m]=<br />
={filename|con|null}<br />
26
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
MX può assumere come sorgente dei <strong>da</strong>ti in entrata un file di puro testo ASCII. La<br />
lunghezza della linea può arrivare fino ad 1MB, il che viene indicato con /1m.<br />
Ogni linea del file in ingresso diventerà un record del master file. I <strong>da</strong>ti all’interno<br />
di ciascuna linea possono essere separati con delimitatori, in tal modo ogni<br />
porzione della linea verrà immessa nel record come una serie di campi consecutivi.<br />
Il numero dei campi sarà uguale a quello dei delimitatori più uno.<br />
Il delimitatore predefinito in MX è la barra verticale (| pipe). Ogni riga del file<br />
ASCII in ingresso può arrivare fino a 32743 caratteri di lunghezza per il<br />
caricamento di un campo, 32740 per due campi, 32735 per tre campi, etc.<br />
Se si ha a che fare con un file di testo, di nome input.in, il cui contenuto è:<br />
agua|tierra|abono<br />
Con la sequenza:<br />
mx seq=input.in create=sali<strong>da</strong> now<br />
Lo si convertirà in:<br />
mfn= 1<br />
1 «agua»<br />
2 «tierra»<br />
3 «abono»<br />
Due delimitatori consecutivi produrrano un intervallo nel numero dei campi:<br />
agua||tierra||abono<br />
mfn= 1<br />
1 «agua»<br />
3 «tierra»<br />
5 «abono»<br />
!<br />
E’ possibile mutare il delimitatore in un qualsiasi<br />
altro carattere che non sia né numerico né<br />
alfabetico, indicandolo di seguito al nome del file<br />
in ingresso senza lasciare spazi.<br />
Nell’esempio che segue il punto e virgola (;) verrà inteso come delimitatore.<br />
27
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Il file input.in contiene la riga:<br />
agua;abono;tierra<br />
Per leggere il file input.in con punto e virgola (;) come separatoredi campo occorre<br />
scrivere:<br />
mx "seq=input.in;" create=sali<strong>da</strong> now<br />
E’ possibile anche assumere lo spazio (blank) come separatore:<br />
mx "seq=input.in " create=sali<strong>da</strong> now<br />
! Notare<br />
che nell’esempio fra la n finale di input.in e le<br />
virgolette di chiusura c’è uno spazio.<br />
Il file dei <strong>da</strong>ti in ingresso può venire creato anche scrivendo i <strong>da</strong>ti direttamente <strong>da</strong><br />
tastiera, grazie al parametro stan<strong>da</strong>rd di input con (console) assunto come origine.<br />
Pertanto è possibile creare record dentro una base CDS/ISIS scrivendo i <strong>da</strong>ti<br />
direttamente <strong>da</strong> tastiera.<br />
Si esamini la sequenza qui sotto riprodotta:<br />
Passo Spiegazione<br />
IMPIEGO DEL PARAMETRO con<br />
Comandi <strong>da</strong> scrivere<br />
C:\path> mx seq=con create=out<br />
1<br />
Dal prompt del sistema operativo<br />
si impartisce il comando<br />
(MS-DOS)<br />
unixuser:~$ mx seq=/dev/tty1 create=out<br />
(input <strong>da</strong> console 1 in UNIX)<br />
2<br />
3<br />
4<br />
Si inizia una fase di input <strong>da</strong>lla<br />
linea di comando che terminerà<br />
con l’<br />
Automaticamente si crea il record<br />
mfn=1 nel master file out<br />
e vengono visualizzati i campi del<br />
record<br />
Il prompt di MX rimane in attesa<br />
di nuovi comandi. Si continua a<br />
creare record premendo a<br />
agua|tierra|vegetales|abono<br />
mfn= 1<br />
1 «agua»<br />
2 «tierra»<br />
3 «vegetales»<br />
4 «abono»<br />
..<br />
28
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
IMPIEGO DEL PARAMETRO con<br />
Passo Spiegazione Comandi <strong>da</strong> scrivere<br />
5<br />
6<br />
7<br />
8<br />
fronte dell’invito del prompt di<br />
MX<br />
Si immette una nuova riga che<br />
terminerà col prossimo <br />
Si crea il record mfn=2<br />
e si visualizzano i campi del record<br />
Si conclude la creazione di record<br />
inserendo una x minuscola al<br />
prossimo invito del prompt del<br />
MX<br />
Si conclude l’esecuzione del<br />
comando<br />
bovinos|ovinos|equinos<br />
mfn= 2<br />
1 «bovinos»<br />
2 «ovinos»<br />
3 «equinos»<br />
..x<br />
C:\path><br />
(MS-DOS)<br />
unixuser:~$<br />
(UNIX)<br />
L’operazione può venire snellita eliminando l’invito del prompt di MX<br />
aggiungendo il parametro now. In questo caso per concludere la fase di<br />
immissione si dovrà premere la combinazione + o (in MS-DOS) e<br />
+ (in UNIX).<br />
La seguente tabella descrive lo stesso procedimento con l’uso del parametro now:<br />
Passi Spiegazione<br />
IMPIEGO DEL PARAMETRO now<br />
Comandi <strong>da</strong> scrivere<br />
Al prompt del sistema operativo C:\path>mx seq=con create=out now<br />
si impartisce il comando<br />
(MS-DOS)<br />
1<br />
unixuser:~$ mx seq=/dev/tty1<br />
create=out now<br />
(input <strong>da</strong>lla console 1 in UNIX)<br />
2<br />
3<br />
Si inizia una sessione di input <strong>da</strong><br />
linea di comando che viene<br />
conclusa premendo <br />
Si crea il record mfn=1<br />
e si visualizzano i campi del<br />
record<br />
agua|tierra|vegetales|abono<br />
mfn= 1<br />
1 «agua»<br />
2 «tierra»<br />
3 «vegetales»<br />
29
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
IMPIEGO DEL PARAMETRO now<br />
Passi Spiegazione Comandi <strong>da</strong> scrivere<br />
4<br />
5<br />
6<br />
7<br />
Si scrive una nuova riga che<br />
verrà chiusa premendo <br />
Si crea il record mfn=2<br />
e se ne visualizzano i campi<br />
Si pone termine alla creazione di<br />
record direttamente <strong>da</strong> tastiera<br />
premendo i tasti + (o<br />
F6) in DOS, o + in<br />
UNIX<br />
Si pone termine all’intero<br />
procedimento<br />
Base di <strong>da</strong>ti fittizia<br />
4 «abono»<br />
bovinos|ovinos|equinos<br />
mfn= 2<br />
1 «bovinos»<br />
2 «ovinos»<br />
3 «equinos»<br />
+ o <br />
(MS-DOS)<br />
+<br />
(UNIX)<br />
C:\path><br />
(MS-DOS)<br />
unixuser:~$<br />
(UNIX)<br />
con | null<br />
MX ammette che l’origine dei <strong>da</strong>ti sia una base <strong>da</strong>ti fittizia (dummy) denominata<br />
null (in modo generico). La base null consiste di un numero indefinito di record<br />
attivi senza campi per i <strong>da</strong>ti (record vuoti). E’ possibile immettere direttamente i<br />
<strong>da</strong>ti <strong>da</strong> tastiera impiegando il parametro di input con (console). Ogni crea<br />
un record. Per porre termine all’operazione si dovrà digitare +Z.<br />
L’utilizzazione di questo parametro non è direttamente correlata alle operazioni<br />
che si effettuano su una base di <strong>da</strong>ti. Si usa in procedimenti che implicano contare,<br />
generare elenchi di numeri, etc.<br />
Esempi:<br />
• Visualizzare un elenco di numeri consecutivi <strong>da</strong> 1 a 50:<br />
mx null to=50 pft=mfn(3)/ -all now<br />
30
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
• Creare un master file OUT con record <strong>da</strong> 100 a 200 che contengano la stringa<br />
di testo DBN nel campo 999:<br />
mx null from=100 to=200 proc='A999#DBN#' now -all create=OUT<br />
Il parametro proc effettua l’aggiunta/soppressione di campi in un record.<br />
Nell’esempio, proc aggiunge il campo 999 (A999) col contenuto DBN (#DBN#).<br />
!<br />
File di parametri<br />
Il parametro proc verrà illustrato in dettaglio nel<br />
Capitolo 3: <strong>Parametri</strong> che effettuano operazioni<br />
sull’input.<br />
in=<br />
I parametri di MX possono venire letti a partire <strong>da</strong> un file ASCII esterno, in cui<br />
ogni parametro sta su una linea a sé. In tal modo diventa possibile preparare linee<br />
di comandi per MX che va<strong>da</strong>no ben oltre quanto ammesso <strong>da</strong>l sistema operativo<br />
(normalmente limitato a 128 caratteri di lunghezza in MS-DOS e a 512 caratteri in<br />
UNIX).<br />
Supponendo di disporre di un file denominato input.in, il cui contenuto è:<br />
iso=entra<strong>da</strong>.iso<br />
create=sali<strong>da</strong><br />
now<br />
from=10<br />
to=20<br />
-all<br />
La riga di comando:<br />
mx iso=entra<strong>da</strong>.iso create=sali<strong>da</strong> now from=10 to=20 -all<br />
Potrebbe venire scritta come:<br />
mx in=input.in<br />
31
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Il parametro in può venire usato in una qualsiasi porzione della linea dei comandi<br />
a partire <strong>da</strong>lla prima posizione, può essere l’unico parametro o può fare parte di<br />
una serie di parametri per MX.<br />
Se si trova in prima posizione (o se è l’unico parametro) la prima linea di questo<br />
file deve contenere il nome del file <strong>da</strong>ti in ingresso.<br />
!<br />
Occorre tenere a mente che se sono presenti<br />
parametri di configurazione (setup) essi devono<br />
precedere tutti gli altri.<br />
E’ possibile usare più di un file in nella medesima linea di comando, e usare il<br />
parametro in all’interno di un file in fino ad 8 livelli anni<strong>da</strong>ti.<br />
L’esempio che segue mostra un’esecuzione di MX che usa un file di parametri in in<br />
mezzo ad altri parametri:<br />
Dato il file print:<br />
\cisis\bases\cds<br />
pft=v70+|; |, " / "v26". "/# mhl,(v69/)<br />
now<br />
-all<br />
tell=10<br />
La riga di comando potrebbe consistere di:<br />
mx in=print from=10 to=50 > archivo.txt<br />
!<br />
Si osservi che le linee del file di testo ASCII che<br />
vengono recepite come <strong>da</strong>ti in input per i<br />
parametri non vanno racchiuse fra virgolette<br />
doppie ("...") ancorché contengano caratteri<br />
riservati del sistema operativo.<br />
Ogni linea del file in potrà contenere fino a 512<br />
caratteri.<br />
L’uso del parametro in permette di preparare file di procedure batch (a lotti) (.bat<br />
del MS-DOS e scripts di UNIX). Sia <strong>da</strong>to il file imprimir.bat col seguente<br />
contenuto:<br />
32
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Versione MS-DOS<br />
REM Immettere i valori from= to=<br />
REM ad esempio: print 10 20<br />
mx in=print from=%1 to=%2 > archivo.txt<br />
Versione UNIX<br />
# Immettere i valori from= to=<br />
# Ad esempio: print 10 20<br />
mx in=print from=$1 to=$2 > archivo.txt<br />
Memento: il file imprimir.bat in UNIX deve avere i permessi di esecuzione.<br />
L’operatore ad esempio potrebbe scrivere:<br />
• MS-DOS<br />
C:\cisis\sys> imprimir 10 40<br />
• UNIX<br />
unixuser:~/cisis/sys$ imprimir 10 40<br />
il che si traduce in:<br />
mx in=print from=10 to=40 > archivo.txt<br />
che a sua volta diventa:<br />
mx \cisis\bases\cds pft=v70+|; |, " / "v26". "/# mhl,(v69/) now -<br />
all tell=10 from=10 to=40 > archivo.txt<br />
Inverted file come <strong>da</strong>ti in entrata (input)<br />
dict=[,[,[/]]]<br />
[k{1|2}=]<br />
MX legge come <strong>da</strong>ti in ingresso le chiavi di un inverted file producendo record con<br />
TAG (etichetta di campo) , fra le chiavi k1 e k2, coi seguenti parametri.<br />
if Nome dell’inverted file (I/F)<br />
keytag TAG (etichetta) che conterrà la chiave letta (key tag), per default 1<br />
Questo campo contiene i seguenti sottocampi<br />
^l il tipo di chiave (1=corta, 2=lunga)<br />
33
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
^s dimensione reale della chiave (numerodi caratteri = keylength)<br />
^t totale dei puntatori ai record (totalpostings)<br />
^k numero di posizione sequenziale (keyorder)<br />
posttag TAG (etichetta) che conterrà il puntatore letto (posting tag)<br />
Se si indica questo parametro, MX porrà insieme le chiavi dell’inverted file I/F<br />
e i loro corrispondenti postings. Il campo posttag conterrà i seguenti<br />
sottocampi<br />
^m MFN del puntatore in questione<br />
^t etichetta del campo [ID della FST e non TAG della FDT] in cui è stata<br />
reperita la chiave<br />
^o numero di occorrenza all’interno dell’etichetta in cui è stata reperita la<br />
chiave<br />
^c posizione della chiave nel campo, calcolata in base al numero delle parole<br />
^p numero sequenziale del puntatore in questione<br />
^k numero sequenziale di lettura della chiave<br />
postsperre Quantità massima di puntatori letti per ciascun record, per default (all)<br />
c<br />
k1= Prima chiave <strong>da</strong> considerare<br />
k2= Ultima chiave <strong>da</strong> considerare<br />
Esempio 1 Legge le chiavi dell’inverted file CDS comprese nell’intervallo fra i termini<br />
AFRICA e AFRICAN LANGUAGES<br />
Mx dict=cds k1=africa "k2=african languages" now<br />
mfn= 1<br />
1 «AFRICA^l1^s6^t5^k1»<br />
mfn= 2<br />
1 «AFRICAN LANGUAGES^l2^s17^t1^k2»<br />
Esempio 2 Legge 3 chiavi e i postings dell’inverted file CDS a muovere <strong>da</strong>l termine AFRICA<br />
mx dict=cds,1,2 k1=africa count=3 now<br />
mfn= 1<br />
1 «AFRICA^l1^s6^t5^k1»<br />
2 «^m93^t69^o1^c9^p1^k1»<br />
2 «^m111^t24^o1^c3^p2^k1»<br />
2 «^m111^t69^o1^c3^p3^k1»<br />
2 «^m115^t69^o1^c7^p4^k1»<br />
2 «^m121^t69^o1^c4^p5^k1»<br />
mfn= 2<br />
1 «AFRICAN LANGUAGES^l2^s17^t1^k2»<br />
2 «^m75^t69^o1^c10^p1^k2»<br />
mfn= 3<br />
1 «AGE^l1^s3^t1^k3»<br />
2 «^m136^t24^o1^c7^p1^k3»<br />
34
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Esempio 3 Legge le chiavi dell’inverted file CDS considerando al massimo tre postings alla<br />
volta, a partire <strong>da</strong>l termine AFRICA, mostra tre record in uscita, in questo caso<br />
tre chiavi<br />
mx dict=cds,1,2/3 k1=africa count=3 now<br />
Esempio 4<br />
mfn= 1<br />
1 «AFRICA^l1^s6^t5^k1»<br />
2 «^m93^t69^o1^c9^p1^k1»<br />
2 «^m111^t24^o1^c3^p2^k1»<br />
mfn= 2<br />
1 «AFRICA^l1^s6^t5^k1»<br />
2 «^m115^t69^o1^c7^p4^k1»<br />
2 «^m121^t69^o1^c4^p5^k1»<br />
mfn= 3<br />
1 «AFRICAN LANGUAGES^l2^s17^t1^k2»<br />
2 «^m75^t69^o1^c10^p1^k2»<br />
Legge le chiavi dell’inverted file CDS considerando i postings del termine AFRICA uno alla volta<br />
mx dict=cds,1,2/1 k1=africa count=5 now<br />
mfn= 1<br />
1 «AFRICA^l1^s6^t5^k1»<br />
2 «^m93^t69^o1^c9^p1^k1»<br />
mfn= 2<br />
1 «AFRICA^l1^s6^t5^k1»<br />
2 «^m111^t24^o1^c3^p2^k1»<br />
mfn= 3<br />
1 «AFRICA^l1^s6^t5^k1»<br />
2 «^m111^t69^o1^c3^p3^k1»<br />
mfn= 4<br />
1 «AFRICA^l1^s6^t5^k1»<br />
2 «^m115^t69^o1^c7^p4^k1»<br />
mfn= 5<br />
1 «AFRICA^l1^s6^t5^k1»<br />
2 «^m121^t69^o1^c4^p5^k1»<br />
35
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
<strong>Parametri</strong> che svolgono elaborazioni sui <strong>da</strong>ti in<br />
entrata (input)<br />
<strong>Parametri</strong> che applicano formati ai <strong>da</strong>ti in entrata<br />
(input)<br />
Questo parametro impartisce le specifiche di formato per la visualizzazione dei<br />
record. I record logicamente cancellati (logically deleted) non vengono mostrati<br />
usando il parametro pft=.<br />
MX recepisce tutti comandi del linguaggio di formattazione di CDS/ISIS stan<strong>da</strong>rd<br />
per DOS (eccezione fatta per i format exits) e aggiunge alcune estensioni<br />
sviluppate per l’interfaccia CISIS. Molte di queste nuove istruzioni sono state<br />
incorporate in Winisis, tuttavia MX non accetta le istruzioni di Winisis concernenti<br />
i formati tipografici <strong>da</strong> realizzare in RTF (Rich text format).<br />
Il manuale completo dei formati è disponibile sul sito del “<strong>Modelo</strong>” della <strong>BVS</strong>,<br />
presso la URL: http://bvsmodelo.bvsalud.org/.<br />
Formulazione del formato di visualizzazione a partire della riga<br />
di comando<br />
pft=<br />
L’esempio seguente applica il formato mfn/v24/v26 ai record tratti <strong>da</strong>l master file<br />
di input (cds):<br />
mx cds pft=mfn/v24/v26<br />
Se i comandi di formattazione includono caratteri riservati del sistema operativo<br />
(quali: > | % etc.) o spazi (blanks) tutta la sequenza dei comandi andrà racchiusa<br />
fra virgolette doppie:<br />
mx cds "pft=mfn,/(v70+|; |)/v24/#"<br />
36
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Formulazione del formato di visualizzazione a partire <strong>da</strong> un file<br />
pft= @[]<br />
MX ammette che venga indicato un file (pft=@[]) in cui è memorizzato il<br />
formato che si vuole usare. É un modo più comodo per indicare un formato di<br />
visualizzazione, così l’esecuzione di MX risulta più chiara e d’altra parte non si<br />
perde il formato una volta eseguito il comando.<br />
Inoltre, in questo modo si supera uno dei limiti dei sistemi operativi, <strong>da</strong>l momento<br />
che la lunghezza di una stringa di comandi è limitata (128 caratteri in MS-DOS e<br />
512 caratteri in UNIX) e pertanto un formato ampio non potrebbe venire scritto<br />
tutto per esteso sulla stessa linea.<br />
Se non si indica alcun nome di file MX userà per default il formato che ha lo stesso<br />
nome della base <strong>da</strong>ti:<br />
mx cds pft=@ Equivale a mx cds pft=@cds.pft<br />
Se si indica un file, il nome di questo può essere lungo più di sei caratteri, può<br />
risiedere sul disco in un posizione diversa <strong>da</strong> quella della base <strong>da</strong>ti e può avere una<br />
estensione oppure non averla (qualora ce l’abbia bisognerà scriverla anche se fosse<br />
.pft).<br />
Esempi:<br />
mx cds pft=@cdsnew.pft<br />
mx cds pft=@\dbisis\otro_dir\otro.pft<br />
mx cds pft=@long_name.pft<br />
mx cds pft=@sin_ext<br />
! I<br />
Formati condizionali<br />
record cancellati non vengono visualizzati.<br />
prolog | epilog<br />
37
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
prolog è un comando che si applica al primo record prodotto in output e epilog<br />
all’ultimo.<br />
Esempio:<br />
mx cds prolog=’Primero: ‘ pft=mfn/ epilog=’ultimo’ from=10<br />
to=20 now<br />
Ampiezza della linea (line width)<br />
La linea di output ha un’ampiezza predefinita di 78 caratteri. E’ possibile<br />
modificare l’ampiezza della linea con il parametro lw=n.<br />
mx cds "pft=mfn,/(v70+|; |)/v24/#" lw=40 to=20 now<br />
Estrarre <strong>da</strong>ti <strong>da</strong>l contenuto di una variabile CGI<br />
lw={|0}<br />
getenv('cgi=',)<br />
è un’istruzione di formato che genera un nome di variabile cgi. Le varie<br />
occorrenze vengono separate con il carattere %<br />
set "REQUEST_METHOD=GET"<br />
set "QUERY_STRING=db~cds&btell~0&bool~plants*water"<br />
mx cds cgi=mx "pft='Cercando \"',getenv('cgi=bool'),'\" nella base:<br />
',getenv('cgi=db')/,' MFN Titulo'/,mfn,x2,mhl,v24.50,'...'/"<br />
che produce come output:<br />
Cercando "plants*water" nella base: cds<br />
MFN Titulo<br />
000004 Mc An Electric hygrometer apparatus for me...<br />
..<br />
Cercando "plants*water" nella base: cds<br />
MFN Titulo<br />
000011 Measurement of water stress in plants...<br />
..<br />
Cercando "plants*water" nella base: cds<br />
38
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
MFN Titulo<br />
000013 Experience with three vapour methods for measuring...<br />
->x<br />
Affinché quest’esempio possa funzionare occorre<br />
!<br />
avere a disposizione il file mx.pft fornito nel<br />
pacchetto delle applicazioni cisis. La spiegazione<br />
del parametro cgi=mx viene <strong>da</strong>ta nell’Appendice<br />
II nel paragrafo <strong>Parametri</strong> che possono venire<br />
inclusi nel CIPAR.<br />
Produrre un file temporaneo vuoto<br />
getenv('tmp=',[])<br />
Il formato produce il nome di un file vuoto nella directory di lavoro corrente, o in<br />
quella indicata nel percorso (path) che si specifica nel formato . Se si<br />
specifica ‘ci_tmpdir’ il percorso è desunto <strong>da</strong>lle seguenti variabili d’ambiente:<br />
ci_tempdir, temp, tmp.<br />
mx null pft=getenv('tmp=')<br />
TMP1.$$$<br />
mx null pft=getenv('tmp=','ci_tempdir')<br />
C:\windows\TEMP\TMP1.$$$<br />
set ci_tempdir=C:\work<br />
mx null pft=getenv('tmp=','ci_tempdir')<br />
C:\work\TMP1.$$$<br />
echo ci_tempdir=C:\work2 >xcip<br />
mx cipar=xcip null pft=getenv('tmp=','ci_tempdir')<br />
C:\work2\TMP1.$$$<br />
<strong>Parametri</strong> che estraggono l’insieme di record <strong>da</strong> trattare<br />
Formulazione dell’espressione di ricerca nella linea di comando<br />
bool=<br />
39
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Il parametro bool consente di effettuare ricerche dentro basi <strong>da</strong>ti. MX mette a<br />
disposizione tutte le espressioni booleane proprie del linguaggio di ricerca di<br />
CDS/ISIS.<br />
Il risultato di una ricerca è un insieme di record che corrispondono a quanto<br />
specificato nell’espressione di ricerca.<br />
Il parametro bool è facoltativo visto che MX assume come espressione di ricerca<br />
tutto quello che non è un parametro. I due esempi sottostanti producono il<br />
medesimo risultato:<br />
mx cds bool=water<br />
mx cds water<br />
L’esito dell’esecuzione della ricerca è:<br />
mx cds culture pft=mfn/<br />
2 CULTURE<br />
2 Set #000001<br />
Hits=2<br />
000050<br />
..<br />
000064<br />
-><br />
Anzitutto si visualizza il risultato della ricerca e gli si assegna un numero<br />
sequenziale (Set #000001). Dopodiché si visualizzano i record secondo il formato<br />
prestabilito.<br />
!<br />
Mentre si stanno visualizzando i record risultanti<br />
<strong>da</strong>lla ricerca si usa il prompt .. e quando si è finito<br />
di trattare i record il prompt muta in ->.<br />
Si può continuare a fare ricerche a partire <strong>da</strong>l prompt in mo<strong>da</strong>lità interattiva, però<br />
non è possibile, con questo parametro, fare riferimento a risultati precedenti come<br />
si farebbe -in una sessione CDS/ISIS- con #1 + #2, etc. Per farlo è necessario<br />
usare il parametro tmpx (che viene illustrato più oltre in questo stesso capitolo).<br />
40
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Non si dimentichi che nella stringa di comando<br />
!<br />
MS-DOS gli spazi blanks separano distinti<br />
parametri e dunque se l’espressione di ricerca<br />
contiene spazi o caratteri riservati del sistema<br />
operativo si dovrà racchiudere tutta l’espressione<br />
di ricerca ed anche il parametro bool fra virgolette<br />
doppie.<br />
mx cds "bool=water + soil"<br />
mx cds "water + soil"<br />
Il programma MX riconosce gli operatori booleani +, *, ^ usati in CDS/ISIS così come la loro<br />
versione testuale OR, AND, NOT.<br />
mx cds "bool=water or soil"<br />
mx cds "agricult$ and plants"<br />
Caricare l’espressione di ricerca a partire <strong>da</strong> un file<br />
bool=@<br />
bool=@ trae l’espressione di ricerca <strong>da</strong> un file ASCII esterno. In questo caso<br />
non è necessario racchiuderla fra virgolette.<br />
Assumendo che il file consulta.001 contenga l’espressione: agricult$ and plants,<br />
l’ultimo esempio si può rendere con una qualsiasi delle due seguenti formulazioni:<br />
mx cds bool=@consulta.001<br />
mx cds @consulta.001<br />
Il parametro bool è facoltativo, può però diventare <strong>obbligatori</strong>o se l’espressione di<br />
ricerca principia con una parola riservata di MX.<br />
! Il<br />
parametro bool= esclude l’uso del parametro<br />
text[/show]=.<br />
Se si desidera recuperare dei record che contengono la stringa now:<br />
mx cds now Non farà quanto voluto perché now viene letto come<br />
parametro, e non come un’espressione di ricerca.<br />
mx cds "now" Non farà quanto voluto perché now viene letto come<br />
parametro, e non come un’espressione di ricerca.<br />
mx cds bool=now Corretto.<br />
41
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
mx cds "bool=now" Corretto.<br />
Utilizzazione degli esiti intermedi di una ricerca<br />
tmpx=<br />
parametro obsoleto:<br />
b70=<br />
Il parametro tmpx conserva i risultati intermedi di una sessione di ricerca<br />
permettendo così di fare riferimento ai risultati precedenti con comandi del tipo #1<br />
+ #2.<br />
Il nome assegnato alla destra del segno di uguale è una base <strong>da</strong>ti ISIS che MX crea<br />
e inizializza automaticamente e che non viene cancellata alla fine.<br />
! Il parametro tmpx deve venire indicato prima<br />
dell’espressione di ricerca.<br />
mx cds tmpx=x70 plants water #1*#2 pft=mfn/ now<br />
8 PLANTS<br />
8 Set #000000001<br />
Hits=8<br />
14 WATER<br />
14 Set #000000002<br />
Hits=14<br />
3 Operation *<br />
3 Set #000000003<br />
Hits=3<br />
000004<br />
000011<br />
000013<br />
Si osservi che se si indica il parametro tmpx diventa possibile effettuare ricerche in<br />
mo<strong>da</strong>lità interattiva a partire <strong>da</strong>l prompt di MX facendo riferimento a risultati già<br />
ottenuti.<br />
42
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
! Per<br />
ragioni di compatibilità, MX accetta tanto il<br />
parametro b70 che il b40.<br />
Nell’esempio che segue i termini che vengono inseriti uno alla volta <strong>da</strong> chi opera in<br />
risposta al prompt, sono evidenziati in grassetto. L’esito dell’elaborazione viene<br />
memorizzato nella base <strong>da</strong>ti X70.<br />
mx cds tmpx=x70 plants pft=mfn/<br />
8 PLANTS<br />
8 Set #000000004<br />
Hits=8<br />
000001<br />
..water<br />
14 WATER<br />
14 Set #000000005<br />
Hits=14<br />
000004<br />
..#1 and #2<br />
3 Operation *<br />
3 Set #000000006<br />
Hits=3<br />
000004<br />
..<br />
000011<br />
..<br />
000013<br />
->x<br />
E’ possibile effettuare ricerche complesse leggendo l’espressione di ricerca <strong>da</strong> un<br />
file esterno. Assumendo che il file PERFIL.001 contenga la seguente espressione di<br />
ricerca:<br />
Water<br />
Plants<br />
#1 and #2<br />
Transpiration<br />
#3 or #4<br />
43
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
la sequenza di comandi mostrata qui sotto produce come esito un file di testo<br />
contenente i record recuperati sulla base del profilo di ricerca indicato. Si noti che<br />
ogni singola richiesta va scritta su una linea distinta dentro il file PERFIL.001.<br />
mx CDS tmpx=x70 in=perfil.001 pft=@cds.pft now > out_001.txt<br />
Eliminazione del resoconto statistico di una ricerca<br />
btell=0<br />
E’ possibile non man<strong>da</strong>re a schermo l’output che registra i singoli passi, intermedi<br />
e finale, di una ricerca. In questo caso il parametro btell=0 va specificato prima<br />
dell’espressione di ricerca.<br />
Esempio:<br />
Senza parametro btell= • Con il parametro btell=0<br />
mx cds "water *<br />
mx cds btell=0 "water<br />
plants" pft=mfn/ now<br />
* plants" pft=mfn/<br />
now<br />
14 WATER<br />
8 PLANTS<br />
3 Operation *<br />
3 Set<br />
#000000001<br />
Hits=3<br />
000004<br />
000011<br />
000013<br />
000004<br />
000011<br />
000013<br />
btell=2<br />
Elenca i termini del dizionario che soddisfano una richiesta con troncamento a<br />
destra $.<br />
44
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Ricerca in più di un inverted file<br />
Lo invx contiene record con il campo v101 ripetibile, con questo formato:<br />
^pPrefijo o asterisco^yArchivo[^uUseprefix][^mMessage]<br />
Esempio:<br />
Si crea un master file cdsinvx, con questi campi<br />
^p*^ycds^mText words<br />
^pAU ^ycdsaut^mAuthor<br />
^pTI ^ycdstit^mTitle words<br />
^pKW ^ycdkw^mKeywords<br />
Si creano gli inverted file associati a CDS<br />
mx cds "fst=1 0 (v70/)" fullinv=cdsaut<br />
mx cds "fst=1 4 v24" fullinv=cdstit<br />
mx cds "fst=1 2 v69" fullinv=cdskw<br />
invx=M/F<br />
Ricerche<br />
mx cds invx=cdsinvx "KW plants " pft=mfn,x1,v24,x1,v69<br />
2 PLANTS<br />
2 Set #000000001<br />
Hits=2<br />
000054 Vegetation as a geological agent in tropical deltas Paper<br />
on:<br />
..<br />
000069 Some important animal pests and parasites of East Pakistan<br />
Paper on:<br />
<br />
->x<br />
mx cds invx=cdsinvx "KW plants * east"<br />
2 PLANTS<br />
9 EAST<br />
45
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
1 Operation *<br />
1 Set #000000001<br />
Hits=1<br />
mfn= 69<br />
24 «Some important animal pests and parasites of East Pakistan»<br />
26 «^c1966»<br />
30 «^ap. 285-291^billus.»<br />
44 «Scientific problems of the humid tropical zone deltas and<br />
their implications: proceedings of the Dacca Symposium»<br />
50 «Incl. bibl.»<br />
69 «Paper on:<br />
»<br />
70 «Yosufzai, H.K.»<br />
100 «1001»<br />
->x<br />
Se il prefisso viene indicato fra [ ] viene riferito a tutti i termini contenuti<br />
nell’espressione booleana:<br />
mx cds invx=cdsinvx "[KW] plants * east"<br />
2 PLANTS<br />
EAST<br />
Operation *<br />
Set #000000001<br />
Hits=0<br />
->x<br />
Ricerche a testo libero<br />
text[/show]=<br />
Questa funzione consente di effettuare ricerche a testo libero (senza richiedere di<br />
indicizzazione). Cerca la stringa di caratteri indicata in in tutti i campi della<br />
base <strong>da</strong>ti di input e seleziona i record che soddisfano la richiesta.<br />
46
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Esempio:<br />
!<br />
mx cds text=water iso=sali<strong>da</strong>.iso now -all<br />
Si tenga presente che il confronto effettuato in<br />
una ricerca a testo libero onora la differenza fra<br />
maiuscole e minuscole, pertanto Water non è la<br />
stessa cosa che water.<br />
questo esempio svolge una ricerca ed esporta i record reperiti dentro a un file ISO-<br />
2709.<br />
Parametro text/show<br />
Il parametro text/show fa visualizzare unicamente le informazioni relative al<br />
text/show<br />
record e al campo che contengono quanto cercato e reperito. Mostra a schermo<br />
due linee: una che contiene: numero di record, TAG, occorrenza in cui si trova il<br />
testo ricercato e il testo cercato; la secon<strong>da</strong> linea visualizza per intero l’occorrenza<br />
del campo che contiene la stringa cercata.<br />
Esempio:<br />
mx cds text/show=water now<br />
Output a schermo:<br />
mfn 56|tag 69|occ 1|water<br />
69 «Paper on: »<br />
Indica che il record con mfn=56 contiene la stringa di caratteri water nella prima<br />
occorrenza del campo con tag 69.<br />
47
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Altre mo<strong>da</strong>lità per selezionare l’insieme dei record <strong>da</strong><br />
trattare<br />
Selezione per intervallo<br />
mx cds from=24 to=50<br />
from= to=<br />
Questa sequenza di comandi visualizza allo schermo i record <strong>da</strong>l 24 al 50 incluso.<br />
Se non si specifica from come inizio verrà assunto il primo record della base, se non<br />
si indica to la base <strong>da</strong>ti verrà trattata fino all’ultimo record o fino a quando non si<br />
deci<strong>da</strong> di uscire premendo x.<br />
!<br />
Gli esempi seguenti NON sono corretti:<br />
mx cds<br />
FROM=10<br />
mx cds from=<br />
10<br />
mx cds from<br />
10<br />
I parametri devono venire scritti<br />
<strong>obbligatori</strong>amente in minuscolo col segno di<br />
eguale (=) e senza lasciare spazi in mezzo.<br />
Il parametro deve essere scritto in minuscole<br />
C’è uno spazio fra l’uguale = e il 10<br />
Manca il segno di uguale =<br />
Se la sintassi è scorretta due sono gli esiti<br />
!<br />
possibili: il programma non viene man<strong>da</strong>to in<br />
esecuzione e presenta un messaggio di<br />
interruzione con cui segnala il tipo di errore,<br />
oppure interpreta il parametro scritto male come<br />
una espressione di ricerca.<br />
• L’espressione dell’esempio (a) genererà il risultato:<br />
FROM=10<br />
Set #000001<br />
48
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Hits=0<br />
-><br />
il che significa che la stringa FROM=10 è stata presa come un termine <strong>da</strong> cercare<br />
dentro la base <strong>da</strong>ti.<br />
• L’espressione dell’esempio (b) genererà il risultato:<br />
FROM<br />
Set #000001<br />
Hits=0<br />
Expression syntax error 5: '='<br />
-><br />
MX riscontra un errore nell’espressione di ricerca a causa del segno = e del blank<br />
• L’espressione dell’esempio (c) genererà il risultato:<br />
FROM<br />
Set #00001<br />
Hits=0<br />
10<br />
Set #000002<br />
Hits=0<br />
-><br />
Questo significa che i termini FROM e 10 sono stati assunti come termini <strong>da</strong><br />
cercare e che non è stato reperito.alcun record che li contenesse<br />
Con questa istruzione verranno visualizzati unicamente i numeri di MFN dei<br />
record <strong>da</strong>l 24 al 50.<br />
mx cds from=24 to=50 pft=mfn/<br />
Selezionare ogni n record<br />
loop=<br />
Il parametro loop=n tratta un record, ne salta n, tratta il record n+1, ne evita altri<br />
n e così di seguito.<br />
49
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Esempio:<br />
mx cds loop=10<br />
Serve a recuperare i record 1, 11, 21, etc.<br />
Selezionare n record<br />
count=<br />
Il parametro count=n seleziona esattamente n record a partire <strong>da</strong> un inizio <strong>da</strong>to.<br />
Se non si indica il record di partenza comincia a lavorare <strong>da</strong>l primo record.<br />
Esempio Esito<br />
mx cds from=24 to=50 loop=5 pft=mfn/<br />
000024<br />
now<br />
000029<br />
000034<br />
000039<br />
000044<br />
000049<br />
mx cds from=24 to=50 count=3 loop=5<br />
pft=mfn/ now<br />
mx cds from=24 to=50 count=9 loop=5<br />
pft=mfn/ now<br />
!<br />
000024<br />
000029<br />
000034<br />
000024<br />
000029<br />
000034<br />
000039<br />
000049<br />
Quando nella medesima sequenza di comandi<br />
ricorrono parametri come count, to, etc.,<br />
l’elaborazione ha fine quando giunge a fine il<br />
primo dei parametri.<br />
50
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
<strong>Parametri</strong> che modificano i record<br />
proc=[][@]<br />
y sintaxis<br />
D{[/]|*}<br />
A<br />
H <br />
<br />
S[]<br />
R,<br />
G[,]<br />
Gsplit[/clean]=[={|words|letters|numbers|trigrams}<br />
]<br />
Gload[/][/nonl][=]<br />
Gmark[/]{/|/keys|/decs|/,[,]}=<br />
Gmarx[/]/[@="x"]<br />
=[:&[]|/c[=224]|/i]<br />
Gdump[/][/nonl][/xml][=]<br />
=<br />
X[append=]<br />
Il parametro proc consente di indicare, mediante un formato, modifiche <strong>da</strong><br />
effettuare sui campi dei record in entrata. Permette di cancellare, aggiungere e<br />
sostituire il contenuto dei campi. Le operazioni <strong>da</strong> svolgere vengono indicate<br />
tramite istruzioni di formato, formulabili sia direttamente <strong>da</strong>lla linea di comando<br />
sia a partire <strong>da</strong> un file di testo esterno.<br />
E’ d’altronde importante sottolineare che le modifiche ai record non hanno effetto<br />
sulla base <strong>da</strong>ti d’origine (<strong>da</strong> cui provengono i <strong>da</strong>ti trattati) ma su quella di<br />
destinazione. Se quella di destinazione non viene indicata, o manca, le modifiche<br />
vengono mostrate a schermo e si perdono a fine elaborazione. Affinché i<br />
cambiamenti siano effettivi sulla stessa base impiegata come input occorre<br />
specificarla anche come base <strong>da</strong>ti di output.<br />
Eesempi:<br />
mx cds from=1 to=10 now proc='d70'<br />
51
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
! L’istruzione<br />
proc='d70' cancella tutte le<br />
occorrenze del campo 70.<br />
Le modifiche saranno mostrate a video però non saranno effettive <strong>da</strong>l momento<br />
che non è stata indicata una base di destinazione. Affinché i mutamenti abbiano<br />
luogo nello stesso master file utilizzato come input occorre specificarlo indicando<br />
il parametro copy:<br />
mx cds from=1 to=10 proc='d70' copy=cds now<br />
Altra possibilità è quella di indicare il formato come file piuttosto che scriverlo in<br />
chiaro nella sequenza dei comandi:<br />
mx cds from=1 to=10 now proc=@modifica<br />
Porta ad effetto le modifiche indicate in un file (modifica) che contiene questa<br />
istruzione di formato:<br />
'd70'<br />
Quantità massima di parametri ammessi<br />
in= 1024<br />
File in= (anni<strong>da</strong>ti) 16<br />
proc= 1024<br />
Join= 128<br />
gizmo= 16<br />
Linee nel file stw 799<br />
In una linea di comandi MX è possibile indicare fino a 1024 parametri proc=<br />
inclusi fst, read, write, I/F up<strong>da</strong>te proc. Ogni proc supplementare interverrà sul<br />
record nelle condizioni in cui si trova al momento, per cui se un proc (o<br />
qualsivoglia elaborazione prodotta <strong>da</strong> altro comando precedente) modifica il<br />
record originale in input, il proc successivo agirà sui <strong>da</strong>ti –modificati- come sono<br />
al momento della sua esecuzione.<br />
52
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Vengono riconosciuti tutti i comandi di formattazione stan<strong>da</strong>rd di CDS/ISIS,<br />
inclusi quelli condizionali come IF, non sono però riconosciute le chiamate di<br />
programmi IsisPascal (format exits). Accetta anche le variabili e0...e9, s0 ..s9 e il<br />
comando while. E’ possibile anni<strong>da</strong>re ricorsivamente e senza limiti un proc dentro<br />
ad un altro proc.<br />
Anche il linguaggio di formattazione di CDS/ISIS accetta l’istruzione proc( ) –[ma<br />
non direttamente bensì incorporandola in comandi di <strong>da</strong>ta entry]. Per i dettagli si<br />
ve<strong>da</strong> il Manuale del linguaggio di formattazione CDS/ISIS.<br />
Nella tabella sottostante vengono descritti i comandi d’uso più frequente eseguibili<br />
<strong>da</strong>l proc, gli altri verranno illustrati singolarmente (MX riconosce tutti i comandi<br />
della funzione fldup<strong>da</strong>t( ) dell’interfaccia CISIS):<br />
Comandi della funzione fldup<strong>da</strong>t ( )<br />
Comando Descrizione Esempio<br />
D. Elimina il record logicamente. proc='d.'<br />
D* Elimina tutti i campi del record. proc='d*'<br />
Dtt Elimina tutte le occorrenze del<br />
campo tt.<br />
proc='d26'<br />
Dtt/occ Elimina l’occorrenza occ del<br />
campo tt.<br />
proc='d26/3'<br />
Att#str# Aggiunge la stringa di caratteri str<br />
come una nuova occorrenza del<br />
campo tt.<br />
proc='A999#cds#'<br />
Htt n str_n Aggiunge la stringa di caratteri<br />
str_n di n byte di lunghezza come<br />
una nuova occorrenza del campo<br />
tt.<br />
= Cambia il numero del record (mfn)<br />
in n .<br />
S Riordina la sequenza dei campi<br />
nella directory del record in base<br />
al TAG.<br />
!<br />
proc='H99 8 CDS/ISIS'<br />
proc='=10'<br />
proc='s'<br />
proc='s70'<br />
All’interno del medesimo parametro proc tutti i<br />
comandi di eliminazione devono precedere quelli<br />
di aggiunta.<br />
In uno stesso parametro proc non si possono<br />
utilizzare due o più comandi Dtt/occ per lo stesso<br />
campo tt.<br />
53
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
In uno stesso parametro proc non si può<br />
utilizzare il comando =n né il comando S insieme<br />
ad altri comandi.<br />
I comandi elencati nella precedente tabella possono venire scritti indistintamente<br />
in maiuscole o in minuscole.<br />
Sostanzialmente lo scopo è quello di realizzare un formato che come risultato dia<br />
luogo ad una stringa di caratteri tipo la seguente:<br />
d36a999#1999#a70#Magalhaes, A.C.#<br />
mediante la quale si elimina il campo 36, si aggiunge 1999 al campo 999 e si<br />
aggiunge Magalhaes, A.C. al campo 70.<br />
Questa stringa (sequenza di caratteri) può scaturire <strong>da</strong> un formato come questo:<br />
if p(v36) and a(v999) then 'd36a999#'v47'#'fi,"a70#"v36"#"<br />
La stringa viene generata in ragione dell’esistenza del campo 36 il cui contenuto è<br />
Magalhaes, A.C., e dell’assenza del campo 999.<br />
Esempi:<br />
Creare una base <strong>da</strong>ti con tutti i record della base d’origine (CDS) eliminando in<br />
questi –nell’output- i campi 69 e 70:<br />
mx cds proc='d69d70' create=sali<strong>da</strong> now -all<br />
! Se la base sali<strong>da</strong> esiste già verrà previamente<br />
azzerata.<br />
Aggiungere <strong>da</strong>ti nel campo 999 di un gruppo di record:<br />
mx cds proc='A999#1998#' from=100 to=120 copy=cds now -all<br />
In questo esempio le modifiche vengono effettuate sopra la stessa base <strong>da</strong>ti che è<br />
stata assunta come sorgente, e conseguentemente le modifiche saranno effettive<br />
nella stessa base.<br />
54
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Importare un file ISO-2709 con l’MFN memorizzato nel campo 999 dei record<br />
ISO:<br />
mx iso=<strong>da</strong>tos.iso proc='='v999 create=master -all now<br />
Esportare record in un file ISO-2709 aggiungendo l’MFN del record di origine al<br />
campo 999 dei record ISO:<br />
mx master proc='D999A999/'mfn'/' -all now iso=<strong>da</strong>to.iso<br />
Funzione ‘A' (aggiunta di un campo) att#str#<br />
La funzione ‘A' è composta <strong>da</strong>:<br />
Comando Descrizione<br />
a Indica che si aggiungerà un campo.<br />
tt TAG del campo in cui verranno aggiunti i <strong>da</strong>ti.<br />
# Separatore fra il tt e i <strong>da</strong>ti.<br />
Il separatore può essere rappresentato <strong>da</strong> un qualsiasi carattere<br />
purché non numerico e non presente all’interno della stringa di<br />
caratteri <strong>da</strong> aggiungere.<br />
str Stringa di caratteri <strong>da</strong> aggiungere.<br />
La stringa può venire immessa come stringa statica di caratteri<br />
oppure venire estratta <strong>da</strong> un campo <strong>da</strong>ti dello stesso record o di un<br />
altro (anche appartenente ad un’altra base <strong>da</strong>ti).<br />
# Separatore che marca la fine della stinga.<br />
Questo esempio:<br />
! Il<br />
separatore (#) usato per l’inizio e per la fine<br />
della stringa deve essere lo stesso.<br />
mx cds proc='A999#1998#' from=100 to=120 copy=cds now -all<br />
Equivale a questo:<br />
mx cds "proc='a999{1998{'" from=100 to=120 copy=cds now -all<br />
Esempi:<br />
55
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
• Eliminare il campo 70, aggiungere solo la prima occorrenza di questo campo<br />
come nuova occorrenza del campo 100.<br />
Gli esempi seguenti mostrano due maniere diverse di ottenere il medesimo<br />
risultato:<br />
mx cds "proc='d70a100#',v70[1],'#' " from=10 to=20 now -all<br />
mx cds "proc='d70',|a100@|v70[1]|@| " from=10 to=20 now -all<br />
• Cancellare tutti i campi del record quando il campo 24 contiene la parola<br />
water, ed esportare il record in una base di nome sali<strong>da</strong>. Il formato che contiene<br />
le istruzioni per il proc è ricavato <strong>da</strong> un file esterno (prueba).<br />
mx cds proc=@prueba now –all create=sali<strong>da</strong><br />
Il file prueba contiene l’istruzione di formato:<br />
If v24:'water' then ‘D*' fi<br />
La relazione comparativa qui [non in CDS/ISIS]<br />
!<br />
fa differenza fra maiuscole e minuscole, e dunque<br />
usare water o Water non produce lo stesso esito.<br />
Per contro, la comparazione tramite<br />
S(mpu,v24):'WATER' non fa differenza fra lettere<br />
maiuscole e minuscole.<br />
Si può anche lavorare sopra la stessa base <strong>da</strong>ti che viene usata come input.<br />
mx CDS proc='d70' copy=CDS now to=1<br />
• Ordinare i campi del record in base al numero di TAG<br />
mx CDS proc='s' copy=CDS now –all<br />
Record in entrata (input):<br />
mfn= 1<br />
44 «Methodology of plant eco-physiology: proceedings of the<br />
Montpellier Symposium»<br />
50 «Incl. bibl.»<br />
69 «Paper on: »<br />
24 «Techniques for the measurement of transpiration of individual<br />
plants»<br />
26 «^aParis^bUnesco^c-1965»<br />
30 «^ap. 211-224^billus.»<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
56
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Record in uscita:<br />
mfn= 1<br />
24 «Techniques for the measurement of transpiration of individual<br />
plants»<br />
26 «^aParis^bUnesco^c-1965»<br />
30 «^ap. 211-224^billus.»<br />
44 «Methodology of plant eco-physiology: proceedings of the<br />
Montpellier Symposium»<br />
50 «Incl. bibl.»<br />
69 «Paper on: »<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
si faccia caso che nell’esempio l’esito del processo ha luogo sulla stessa base <strong>da</strong>ti<br />
usata come origine.<br />
Funzione R,<br />
Aggiunge al master file di uscita i campi del record attivo<br />
nome del master file di entrata (input)<br />
numero del record<br />
mx null proc='a10/1/a20/1/' create=xxx<br />
10 «1»<br />
20 «1»<br />
mx null proc='a20/2/' append=xxx<br />
20 «2»<br />
mx out proc='Rxxx,1' proc='Rxxx,2' copy=out count=1 now<br />
mfn= 1<br />
10 «1»<br />
20 «1»<br />
20 «2»<br />
Scrive dentro al master file out nel record attivo (mfn=1) i campi dei record mfn=1<br />
e mfn=2 del master file xxx.<br />
57
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Funzione <br />
Aggiunge come nuova occorrenza del campo . I marcatori nella<br />
forma “” vengono eliminati <strong>da</strong>l testo fino ad un massimo di<br />
caratteri. Se il testo che dà luogo all’eliminazione dei delimitatori<br />
“” è più corto di caratteri, la modifica non viene effettuata.<br />
Etichetta (TAG) del campo<br />
Lunghezza massima del marcatore (per default: infinito)<br />
Lunghezza minima del campo risultante (per default: zero)<br />
• Aggiunge un’occorrenza con la stringa text nel campo 10<br />
mx null "proc='text'"<br />
mfn= 1<br />
10 «text»<br />
• Include un’occorrenza con la stringa xyz nel campo 10<br />
eliminando i marcatori ma non quanto contenuto fra essi<br />
mx null "proc='xyz'"<br />
mfn= 1<br />
10 «xyz»<br />
• Include un’occorrenza con la stringa xyz nel campo 10<br />
eliminando i marcatori usando come criterio la dimensione del<br />
marcatore, in questo caso sei caratteri.<br />
mx null "proc='xyz'"<br />
mfn= 1<br />
10 «xyz»<br />
• Include un’occorrenza con la stringa xyz nel campo 10<br />
eliminando i marcatori ma non quanto contenuto fra essi<br />
<strong>da</strong>to che questo ha il minimo richiesto di tre caratteri.<br />
mx null "proc='xyz'"<br />
mfn= 1<br />
10 «xyz»<br />
• Non include l’occorrenza con la stringa xyz nel campo 10,<br />
<strong>da</strong>to che dopo l’eliminazione dei marcatori il contenuto non<br />
arriva al minimo richiesto di quattro caratteri.<br />
mx null "proc='xyz'"<br />
mfn= 1<br />
Funzione X[{create|copy|append|merge}=]<br />
Scrive i <strong>da</strong>ti del record corrente nel file , e se non esiste lo crea. In una<br />
stessa riga di comandi è possibile assegnare ad uno stesso record distinti file di<br />
uscita.<br />
58
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
• Assegna come uscita il master file dbn1, dopodiché scrive il medesimo record<br />
nell’mfn=3 del master dbn2.<br />
mx null proc='a10/1/' proc='Xdbn1' proc='a20/2/' proc='=3'<br />
proc='Xdbn2'<br />
mx dbn1<br />
mfn= 1<br />
10 «1»<br />
mx dbn2<br />
mfn= 3<br />
10 «1»<br />
20 «2»<br />
• Crea <strong>da</strong>pprima un file xfile.pft, dopodiché usa come nomi di output per i<br />
master file la prima occorrenza del campo 70 dei record 1,2,3. Si osservi il<br />
formato xfile.pft che aggiunge al nome i segni -+. Il record mfn=1 di CDS viene<br />
scritto in un master di nome “Magalhae” e i record mfn=2, mfn=3 vengono<br />
scritti in un master di nome “Bosian-+”.<br />
echo replace(replace(s(v70[1].8),',','-'),' ','+') >xfile.pft<br />
mx cds proc='Xappend='@xfile.pft, pft=mfn,x1,v70[1]/ count=3 now<br />
000001 Magalhaes, A.C.<br />
000002 Bosian, G.<br />
000003 Bosian, G.<br />
mx Magalhae pft=mfn,x1,v70[1]/<br />
000001 Magalhaes, A.C.<br />
mx Bosian-+ pft=mfn,x1,v70[1]/<br />
000002 Bosian, G.<br />
000003 Bosian, G.<br />
Funzione G[,]<br />
Applica un gizmo al record, e può venire limitato ad un certo numero di campi<br />
specifici.<br />
echo transpiration~xxx> xxx.lst<br />
mx seq=xxx.lst~ create=xxx now<br />
mx cds proc=’Gxxx,2’ from=2 count=1 now<br />
mfn= 2<br />
24 « Controlled climate in the plant chamber and its<br />
influence upon assimilation and xxx»<br />
30 «^ap. 225-232^billus.»<br />
26 «^aParis^c1965»<br />
70 «Bosian, G.»<br />
59
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Funzione Gsplit[/clean]=[={|words|letters|numbers|trigram}]<br />
• Esempio con si usa il ;<br />
echo Perez, J.; Garcia, María; Machado, A. > xxx.lst<br />
mx seq=xxx.lst proc='Gsplit/clean=1=;'<br />
mfn= 1<br />
1 «Perez, J.»<br />
1 «Garcia, María»<br />
1 «Machado, A.»<br />
..<br />
• Si separa il campo 44 di CDS parola per parola<br />
mx cds proc='Gsplit=44=words'<br />
mfn= 1<br />
44 «Methodology»<br />
44 «of»<br />
44 «plant»<br />
44 «eco»<br />
44 «physiology»<br />
44 «proceedings»<br />
44 «of»<br />
44 «the»<br />
44 «Montpellier»<br />
44 «Symposium»<br />
..x<br />
Funzione Gsplit==6words[/if=]<br />
Estrae le parole di un testo secondo quest’ordine:<br />
• Parola 1, parole 1+2, parole 1+2+3 … parole 1+2+…6,<br />
• Quando conclude la serie passa alla secon<strong>da</strong> parola<br />
• ricomincia la medesima sequenza.<br />
Esempio:<br />
Methodology of plant eco-physiology: proceedings of the Montpellier Symposium<br />
mx cds proc='Gsplit=44=6words'<br />
Methodology<br />
Methodology of<br />
Methodology of plant<br />
60
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Methodology of plant eco<br />
Methodology of plant echo physiology<br />
Methodology of plant echo physiology proccedings<br />
of<br />
of plant<br />
of plant echo<br />
of plant echo physiology<br />
…<br />
Opzione /if=<br />
Compie un lookup ad un inverted file ed estrae unicamente le espressioni valide<br />
Funzione Gload[/][/nonl][=]<br />
Carica il file in formato binario nel campo <br />
Se si indica /nonl elimina gli accapo in fine di linea <br />
Funzione Gdump[/][/nonl][/xml][=]<br />
Scrive il contenuto del campo in un file.<br />
Opzione /nonl: elimina i salti di fine linea .<br />
Opzione /xml: scrive in una struttura xml.<br />
Modifica globale di modelli<br />
gizmo=[,] [gizp[/h]=]<br />
[decod=]<br />
Il parametro gizmo permette di realizzare cambiamenti globali del contenuto dei<br />
campi di una base CDS/ISIS, di convertire una sequenza di caratteri in un’altra e<br />
di realizzare così modifiche, codifiche/decodifiche, compressione di <strong>da</strong>ti, etc.<br />
Questi cambiamenti possono venire effettuati su tutti i record della base o su un<br />
insieme di record (selezionati tramite una ricerca, costituenti un intervallo, etc.). A<br />
61
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
loro volta i cambiamenti possono riguar<strong>da</strong>re tutto il record o solamente alcuni<br />
campi.<br />
Per effettuare cambiamenti come ad esempio mutare i segni < > in / /, o la stringa<br />
plants in PLANTS, etc., è necessario disporre di un master file gizmo. Questo<br />
master file di norma presenta due campi: il campo 1 contiene il <strong>da</strong>to <strong>da</strong> cambiare,<br />
e il campo 2 il nuovo valore. Ogni coppia di <strong>da</strong>ti costituirà un record del master file<br />
gizmo.<br />
Ogni record in input viene sottoposto al processo di cambiamento stabilito nella<br />
base gizmo. Quando si avvia l’esecuzione di MX i <strong>da</strong>ti della base gizmo vengono<br />
caricati in memoria come una tabella e si dispongono ordinatamente in base al<br />
valore alfabetico del campo 1 ed alla sua lunghezza (dimodoché le stringhe di<br />
caratteri più lunghe vengano convertite prima di quelle più corte).<br />
E’ possibile indicare fino a 16 gizmo in una riga di comando di MX. Ogni gizmo<br />
successivo agirà sul record nello stato in cui quello si troverà al momento, per cui<br />
se un gizmo modifica il record d’origine in ingresso, il gizmo seguente agirà sui<br />
<strong>da</strong>ti -già modificati- esistenti in quel momento.<br />
Esempi:<br />
• Per mezzo di quanto qui di seguito esemplificato si crea una base <strong>da</strong>ti di nome<br />
prueba usando i parametri di MX già noti e si immettono i <strong>da</strong>ti <strong>da</strong> tastiera:<br />
MS-DOS UNIX<br />
mx seq=con<br />
unixuser:~$ mx seq=/dev/tty1<br />
create=prueba -all<br />
create=prueba -all now<br />
now<br />
|/<br />
plants|PLANTAS<br />
plants|PLANTAS<br />
+ (o )<br />
+<br />
Ottenendo questi record:<br />
mfn= 1<br />
1 «
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
1 «>»<br />
2 «/»<br />
mfn= 3<br />
1 «plants»<br />
2 «PLANTAS»<br />
Il contenuto dei campi titolo e descrittori del record con MFN=1 è:<br />
mx cds to=1 "pft=mfn/v24/v69"<br />
000001<br />
Techniques for the measurement of transpiration of individual<br />
plants<br />
Paper on: <br />
man<strong>da</strong>ndo in esecuzione questo comando:<br />
mx cds gizmo=prueba to=1 "pft=mfn/v24/v69"<br />
si ottiene:<br />
000001<br />
Techniques for the measurement of transpiration of individual<br />
PLANTAS<br />
Paper on: /plant physiology//plant transpiration//measurement and<br />
instruments/<br />
La modifica non concerne la base <strong>da</strong>ti cds che fornisce i <strong>da</strong>ti in ingresso, perché<br />
l’esito del comando si realizza in uscita (lo schermo in questo caso).<br />
Per alterare realmente i record si dovrà inviare il risultato dell’elaborazione<br />
allo stesso master file d’origine come nell’esempio segeuente:<br />
mx cds gizmo=prueba to=1 copy=cds –all now<br />
Se invece si desidera generare una nuova base <strong>da</strong>ti è necessario crearla:<br />
mx cds gizmo=prueba to=1 create=sali<strong>da</strong> –all now<br />
La modifica può venire ristretta ad un campo specifico del record, indicando<br />
dopo il parametro gizmo la o le etichette (TAG) sulle quali si intende operare.<br />
E’ possibile indicare un intervallo di etichette separate <strong>da</strong> una barra (/).<br />
! In ogni parametro gizmo si possono specificare<br />
fino a 16 etichette e/o intervalli di etichette.<br />
mx cds gizmo=prueba,69,24 to=1 create=sali<strong>da</strong> -all now<br />
mx cds gizmo=prueba,35/56 to=1 create=sali<strong>da</strong> -all now<br />
• Un’altra applicazione del gizmo può consistere nella codifica ed eventuale<br />
compressione dei <strong>da</strong>ti per cui dei termini molto ricorrenti possono venire<br />
rimpiazzati <strong>da</strong> codici o <strong>da</strong> valori particolari:<br />
mx seq=con create=tabla1 now -all<br />
63
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
^aParis^bUnesco|*1*<br />
transpiration|*2*<br />
Z<br />
Prima della conversione:<br />
mx cds to=1 pft=mfn/v69/v24/v26<br />
000001<br />
Paper on: <br />
Techniques for the measurement of transpiration of individual<br />
plants<br />
^aParis^bUnesco^c1965<br />
Dopo la conversione:<br />
mx cds gizmo=tabla1 to=1 pft=mfn/v69/v24/v26<br />
000001<br />
Paper on: <br />
Techniques for the measurement of *2* of individual plants<br />
*1*^c1965<br />
!<br />
Per potere leggere file con <strong>da</strong>ti codificati o<br />
compressi, è necessario disporre di un’adeguata<br />
tabella di conversione e usare il parametro gizmo.<br />
Nell’esempio che segue si crea la tabla2 per effettuare la conversione inversa di<br />
quella della tabla1, usando il parametro proc :<br />
mx tabla1 create=tabla2 now -all "proc='d*a1#',v2,'#a2#',v1,'#'"<br />
Descrizione<br />
L’istruzione proc comincia con l’eliminare tutti i campi, poi aggiunge come campo<br />
1 il contenuto del campo 2 ed infine aggiunge come campo 2 il contenuto del<br />
campo 1.<br />
Servendosi delle basi tabla1 e tabla2 si può realizzare l’esempio seguente:<br />
mx CDS to=1 create=OUT gizmo=tabla1 now –all<br />
mx OUT gizmo=tabla2<br />
64
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
!<br />
E’ possibile impiegare più di un gizmo all’interno<br />
di una stessa linea di istruzioni. In tal caso ogni<br />
successiva conversione agisce sul risultato del<br />
gizmo precedente.<br />
• Alla base CDS vengono applicati due gizmo grazie a tabla1 e tabla2, che<br />
effettuano conversioni inverse (per cui i <strong>da</strong>ti originali non cambiano).<br />
mx CDS gizmo=tabla1 gizmo=tabla2<br />
Il parametro gizmo gode di un ampio ventaglio di applicazioni. Per esempio, si<br />
potrebbero allestire tavole in varie lingue con le equivalenze fra il codice numerico<br />
di un descrittore e la sua versione nella lingua in questione. La base <strong>da</strong>ti conterrà<br />
come <strong>da</strong>to il valore numerico e sarà durante il processo di formattazione che si<br />
effettuerà la conversione dei numeri nei termini della lingua trascelta.<br />
Altro esempio interessante consiste nel disporre di una tabella con caratteri<br />
accentati e simboli come campo 1 e il corrispettivo in codifica html (come é<br />
per é) nel campo 2, in questo modo si possono ottenere in uscita documenti html.<br />
Un’altra applicazione ancora potrebbe essere quella di appaiare nomi e<br />
abbreviazioni o acronimi di enti, o abbreviazioni di nomi di lingue o di nomi di<br />
paesi, etc., che è quanto in CDS/ISIS stan<strong>da</strong>rd si suole realizzare mediante l’uso<br />
della funzione di ref+lookup.<br />
Tabella di conversione mediante codici ASCII o esadecimali<br />
Le tabelle di conversione gizmo sono master file composti di due campi, il cui<br />
contenuto è rappresentato <strong>da</strong>lla stringa <strong>da</strong> cambiare (campo 1) e <strong>da</strong>lla stringa che<br />
rimpiazzerà la prima (campo2).<br />
Parimenti è possibile indicare queste stringhe di caratteri mediante la<br />
rappresentazione numerica dei caratteri che le compongono, facendo sì che la<br />
tabella gizmo inclu<strong>da</strong> caratteri che non possono venire <strong>da</strong>ttiloscritti o visualizzati,<br />
o che non siano compatibili con una trasmissione <strong>da</strong>ti effettuata in mo<strong>da</strong>lità non<br />
transparente.<br />
Questo tipo di tabella può contenere fino a quattro campi: i campi 1 e 2 (stringa <strong>da</strong><br />
cambiare e stringa che rimpiazza) e i campi 11 e/o 21 dove si indica che tipo di <strong>da</strong>to<br />
65
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
ospitano i campi 1 e/o 2 rispettivamente. Il valore di questi campi può essere: hex<br />
(se il contenuto del campo 1 o 2 è codificato in due cifre esadecimali) o asc (se il<br />
contenuto del campo 1 o 2 è codificato in tre cifre decimali). E’ possibile immettere<br />
commenti in ogni record servendosi dei campi non riservati: 1, 2, 11, 21.<br />
Esempio:<br />
Le seguenti tabelle gizmo sono equivalenti:<br />
TAG Contenuto<br />
1 OF THE<br />
2 Ç<br />
TAG Contenuto<br />
1 OF THE<br />
2 128<br />
21 Asc<br />
TAG Contenuto<br />
1 079070032084072069<br />
2 Ç<br />
11 Asc<br />
TAG Contenuto<br />
1 4F4620544845<br />
2 Ç<br />
11 Hex<br />
1. Si ha a che fare con un master file in cui si vuole mutare il carattere -<br />
(esadecimale 2D), col carattere ~ (esadecimale 7E).<br />
Anzitutto è necessario allestire una tabella per potere effettuare la sostituzione,<br />
essa sarà dunque un master file contenente:<br />
TAG Contenuto<br />
1 2D<br />
2 7E<br />
11 Hex<br />
21 Hex<br />
Per realizzarlo si crea un file testo di nome cambio.seq, il cui contenuto è:<br />
2D|7E|hex|hex<br />
Poi si man<strong>da</strong> in esecuzione questa sequenza di comandi:<br />
66
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
mx seq=cambio.seq create=cambio -all now<br />
Con ciò si è creata una tabella coi quattro campi necessari alla realizzazione della<br />
sostituzione. Ancora, i campi 3 e 4 dovranno avere tag 11 e 21 rispettivamente, per<br />
cambiare i numeri dei tag si può fare ricorso ai programmi di utilità RETAG o<br />
ID2I, però in questo esempio lo si farà con MX usando il comando proc:<br />
mx cambio proc='d3d4a11#hex#a21#hex#' copy=cambio<br />
!<br />
Adesso tutto è pronto per effetuare la sostituzione:<br />
mx cds gizmo=cambio -all now<br />
Statistica della conversione tramite gizmo<br />
Per cambiare i numeri di tag si possono usare i<br />
programmi di utilità RETAG o ID2I, che vengono<br />
illustrati nei rispettivi capitoli.<br />
gizp/h=<br />
Il parametro gizp= genera un master file per ogni gizmo utilizzato<br />
nella linea di comando, producendo un resoconto sul trattamento cui i record sono<br />
stati sottoposti. Ogni base <strong>da</strong>ti avrà come prefisso ‘dbnx' più un numero<br />
sequenziale, ad esempio: dbnx0, dbnx1, dbnx2, etc. Il parametro /h indica che i<br />
<strong>da</strong>ti vengono memorizzati in esadecimale.<br />
Esempio:<br />
mx cds gizmo=codigo,80 gizmo=precod,87 now –all create=OUT<br />
gizp=dbnx<br />
Crea due master file in output: dbnx0 corrispondente all’elaborazione svolta con<br />
gizmo=codigo, e dbnx1 corrispondente all’elaborazione svolta con gizmo=precod.<br />
Ciascuno di questi master file conterrà un record per ogni voce del gizmo che sia<br />
stata effettivamente utilizzata durante l’esecuzione di MX. I campi creati sono:<br />
TAG Descrizione<br />
1 Campo 1 del file gizmo.<br />
67
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
TAG Descrizione<br />
2 Campo 2 del file gizmo.<br />
10 Numero di volte che questa conversione è stata effettuata durante l’elaborazione.<br />
31 Lunghezza in caratteri del campo 1.<br />
32 Lunghezza in caratteri del campo 2.<br />
Opzione [decod=]<br />
Nome di un master file che codifica/decodifica i <strong>da</strong>ti. Il file mf contiene il carattere<br />
che funge <strong>da</strong> separatore degli elementi <strong>da</strong> decodificare e il campo dove va<br />
applicato.<br />
Si dispone di due file di codifica, decodp e zdecsp:<br />
mx decodp<br />
mfn= 1<br />
1 "ZDECSP"<br />
2 ";"<br />
3 "87"<br />
3 "88"<br />
3 "71"<br />
3 "76"<br />
..<br />
mx zdecsp<br />
mfn= 2<br />
3 "Temefos"<br />
mfn= 3<br />
3 "Matadouros"<br />
mfn= 4<br />
3 "Abreviaturas"<br />
mfn= 5<br />
3 "Abdome"<br />
mx lilacs "pft=mfn/(|87=|v87/)(|88=|v88/)(|71=|v71/)(|76=|v76)#"<br />
432938<br />
87=^d731;^d9525^s22004;^d2465^s22004<br />
68
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
432937<br />
87=^d3977;^d1732^s22045;^d30912^s22045;^d7840;^d6893<br />
432936<br />
87=^d1942^s22004;^d2465^s22004;^d731<br />
76=841;21044;21030<br />
Unire basi di <strong>da</strong>ti - JOIN<br />
join=[:][,]=<br />
join=[:][,]= [jmax=]<br />
Il parametro join fa sì che uno o più record della stessa o di altre basi <strong>da</strong>ti si<br />
uniscano al record che sta venendo trattato al momento. Il record in fase di<br />
elaborazione può provenire <strong>da</strong> un master file ISIS, o <strong>da</strong> un ISO-2709, o <strong>da</strong> un file<br />
ASCII. Nel record di uscita si aggiungeranno tutti i campi dei record cui si è fatto<br />
riferimento (o solo i campi selezionati) e, inoltre, si creeranno campi di controllo<br />
recanti informazioni circa l’elaborazione (numerati a partire <strong>da</strong> 32001).<br />
Al parametro join possono venire passati i seguenti argomenti:<br />
Argomento Descrizione<br />
/ <br />
[:offset]<br />
[]<br />
<br />
@<br />
ARGOMENTI DEL PARAMETRO join<br />
Una base <strong>da</strong>ti alternativa in cui cercare record <strong>da</strong> unire al record che<br />
sta venendo elaborato. La base alternativa potrebbe essere la stessa<br />
di quella dei <strong>da</strong>ti in ingresso<br />
Posizionamento per i tag riuniti <strong>da</strong>l join<br />
Elenco dei campi che verranno estratti <strong>da</strong>i record della base <strong>da</strong>ti<br />
alternativa per aggiungerli al record in ingresso. Se non si specifica<br />
un elenco verranno aggiunti tutti i campi esistenti nei record<br />
reperiti. I campi del record reperito potranno venire rinumerati.<br />
Formato tramite cui si legge il record in entrata per estrarne chiavi<br />
che serviranno a reperire record nella base <strong>da</strong>ti alternativa. Può<br />
trattarsi di un formato esplicito o di un riferimento ad un file<br />
esterno.<br />
69
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Argomento Descrizione<br />
<br />
[jmax=]<br />
Esempio:<br />
ARGOMENTI DEL PARAMETRO join<br />
|@<br />
Bisogna generare la (le) chiave (i) in sintonia con l’I/F, e dunque in<br />
maiuscolo (uppercase)<br />
Limita la quantità di record che si aggiungono al record originale<br />
come effetto dell’azione del parametro join per ciascuna chiave<br />
generata. Questo limite viene applicato ad ogni parametro join della<br />
linea di comando.<br />
mx cds join=autor,2,3=mhu,(v70/) create=newcds -all now<br />
Descrizione<br />
1. Prende ogni record della base <strong>da</strong>ti cds.<br />
Per ogni nome di autore che scaturisce <strong>da</strong>ll’istruzione di formato mhu,(v70/)<br />
effettua una ricerca nella base autor. Se reperisce dei record nella base autor,<br />
aggiunge un campo di controllo e aggiunge i campi 2 e 3 di quei record dentro al<br />
record che sta venendo elaborato.<br />
Infine scrive il record nella base newcds.<br />
I seguenti diagrammi schematizzano il processo che si svolge quando MX esegue<br />
un join:<br />
70
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
71
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
72
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
E’ possibile indicare fino a 128 joins in una linea di comando MX. Ogni join<br />
successivo agirà sul record nello stato in cui si trova al momento, per cui se un<br />
join, o una qualsivoglia elaborazione anteriore, modifica il record d’origine in<br />
input, il join successivo lavorerà sui <strong>da</strong>ti esistenti al momento.<br />
Esempio:<br />
! Si<br />
ve<strong>da</strong> oltre la spiegazione sotto al parametro<br />
jmax=.<br />
• Si dispone di una base <strong>da</strong>ti AUTOR che contiene <strong>da</strong>ti normalizzati di autori,<br />
come si mostra qui di seguito:<br />
mfn= 1<br />
1 «Magalhaes, A.C.»<br />
2 «Ing. Agrónomo»<br />
3 «1935-1990»<br />
mfn= 2<br />
1 «Franco, C.M.»<br />
2 «Bioquímico»<br />
3 «1940-»<br />
...<br />
Si realizza la seguente operazione sulla base cds, il cui campo 70 contiene gli autori.<br />
mx cds join=AUTOR=mhu,(v70/)<br />
Dunque: si sommano tutti i campi della base autor alla base cds, si aggiungono i<br />
campi di controllo 32001. Le modifiche hanno effetto solo a schermo visto che non<br />
è stata indicata alcuna destinazione di output.<br />
!<br />
Il procedimento join comporta i seguenti passi:<br />
L’operazione presuppone che la base alternativa<br />
AUTOR sia munita di un inverted file in cui sarà<br />
possibile reperire le chiavi prodotte <strong>da</strong>i record<br />
della base cds quando letti con la specifica di<br />
formato mhu,(v70/).<br />
73
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
PROCEDIMENTO DEL PARAMETRO join<br />
Descrizione Nell’esempio<br />
1) Legge il record della base d’origine cds. Base origine: cds<br />
2) Applica il formato specificato nel join al record che sta venendo<br />
letto.<br />
Il modo di formato MHU, o MPU è necessario in generale per<br />
produrre le chiavi, visto che il file ISISUC.TAB stan<strong>da</strong>rd di CDS/ISIS<br />
converte le minuscole in maiuscole nella generazione dell’inverted<br />
file. Il record letto è il record proveniente <strong>da</strong>lla base cds.<br />
3) Per ogni chiave prodotta -ossia per ogni linea generata <strong>da</strong>l<br />
formato indicato- va ad estrarre l’MFN del prossimo posting trovato<br />
nell’inverted file della base <strong>da</strong>ti alternativa.<br />
4) Aggiunge al record originale un campo di controllo (ripetibile)<br />
32001 per il primo join, 32002 per il secondo join, etc. Il campo<br />
32001 conterrà tante occorrenze quante sono le diverse chiavi<br />
prodotte nel passo 2.<br />
5) Legge nella base alternativa il record corrispondente al MFN<br />
ottenuto e aggiunge i campi selezionati nella lista . Se non v’è<br />
indicazione particolare verranno presi tutti i campi.<br />
6) Torna ad eseguire il passo 2.<br />
mhu,(v70/)<br />
Elenco per la selezione e la rinumerazione dei campi<br />
<br />
• Selezione:<br />
Si possono selezionare campi del record alternativo nelle seguenti maniere:<br />
1. Indicando i numeros dei vari campi e separandoli con virgole<br />
mx cds join=AUTOR,1,2,3=mhu,(v70/)<br />
2. Indicando un intervallo di campi specificando estremi inferiore e<br />
superiore<br />
mx cds join=AUTOR,1/3=mhu,(v70/) copy=cds<br />
Base alternativa: AUTOR<br />
• Rinumerazione:<br />
Si indica il nuovo numero di un campo specificando nuovo numero:vecchio<br />
numero<br />
mx CDS "join=AUTOR,100:1=mhu,(v70/)"<br />
! In<br />
tutti i casi un campo verrà copiato per intero,<br />
tutte le occorrenze incluseo.<br />
74
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Contenuto dei campi di controllo (32001, 32002, etc.)<br />
I campi con tag 32001, 32002, etc. vengono generati <strong>da</strong> MX per documentare il<br />
procedimento del join.<br />
Esempio:<br />
32001 «AUTOR^l2^kFRANCO, C.M.^o2^m2»<br />
Campo Contenuto<br />
SOTTOCAMPI DEL CAMPO 32001<br />
Primo <strong>da</strong>to, senza indicatore di sottocampo: nome della base alternativa.<br />
^l[1|2] File subordinato dell’inverted file <strong>da</strong> cui è stata estratta la chiave:<br />
Per termini lunghi fino a 10 caratteri.<br />
Per termini con lunghezza compresa fra 11 e 30 caratteri.<br />
^k Chiave che ha originato la ricerca.<br />
^o Numero di occorrenza della chiave.<br />
^m MFN del record della base alternativa <strong>da</strong>lla quale provengono i <strong>da</strong>ti che si vanno ad<br />
aggiungere al record d’origine.<br />
Questo sottocampo non viene creato se nell’indice dizionario della base alternativa il<br />
termine cercato non viene trovato.<br />
Esempi:<br />
• L’esempio seguente produrrà l’esito mostrato più oltre. Si noti che il campo 1<br />
del record alternativo viene rinumerato come 100 quando viene copiato nel<br />
record originale.<br />
mx cds join=AUTOR,2,3,100:1=mhu,(v70/)<br />
mfn= 1<br />
44 «Methodology of plant eco-physiology: proceedings of the<br />
Montpellier Symposium»<br />
50 «Incl. bibl.»<br />
69 «Paper on: »<br />
24 «Techniques for the measurement of transpiration of individual<br />
plants»<br />
26 «^aParis^bUnesco^c-1965»<br />
30 «^ap. 211-224^billus.»<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
75
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
32001 «AUTOR^l2^kMAGALHAES, A.C.^o1^m1»<br />
100 «Magalhaes, A.C.»<br />
2 «Ing. Agrónomo»<br />
3 «1935-1990»<br />
32001 «AUTOR^l2^kFRANCO, C.M.^o2^m2»<br />
100 «Franco, C.M.»<br />
2 «Bioquimico»<br />
3 «1940-»<br />
..<br />
Si osservi che vengono prodotte più occorrenze del campo 32001, corrispondenti a<br />
ogni chiave generata <strong>da</strong>l record d’origine, e di seguito a ciascuna di esse<br />
compaiono i campi estratti <strong>da</strong> ciascuna chiave della base alternativa.<br />
Inoltre, siccome non è stata indicata alcuna destinazione per l’output le modifiche<br />
si concretizzano solamente sullo schermo.<br />
Lo stesso esito si sarebbe potuto ottenere con:<br />
mx cds join=AUTOR,1/3,100:1=mhu,(v70/)<br />
Dove il campo 1 è incluso nell’intervallo 1/3, e poi viene rinumerato come 100.<br />
!<br />
Come regola generale: indicare per prima la<br />
selezione dei campi <strong>da</strong> estrarre e poi le<br />
rinumerazioni che possono riguar<strong>da</strong>re campi<br />
compresi in detta selezione.<br />
E’ importante tenere presente che questi campi diventano campi della base <strong>da</strong>ti<br />
Per eliminarli si può utilizzare il parametro proc. Per esempio:<br />
mx cds proc='d32001' copy=cds -all now<br />
• Produrre un elenco di nomi di autori non validi:<br />
mx CDS join=AUTOR=mhu,(v70/) pft=@check.pft –all now<br />
Il file check.pft contiene le seguenti istruzioni di formato:<br />
if p(v32001) then (if a(v32001^m) then mfn,x2,v32001^k | No esiste|<br />
/ fi) fi<br />
76
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
!<br />
Join per numero di record<br />
Per effettuare la verifica dei termini il parametro<br />
jchk risulta più efficiente in quanto non esegue la<br />
fase di aggiunta dei campi dei record alternativi al<br />
record di origine.<br />
E’ possibile realizzare un join grazie al numero di MFN. In questo caso<br />
la’istruzione di formato dovrà incluidere, all’inizio, la stringa mfn seguita <strong>da</strong>l<br />
numero di record che si deve recuperare.<br />
Il procedimento di join per MFN non necessita dell’esistenza di un inverted file.<br />
Esempi:<br />
• Supponiamo che un file di nome NUMS contenga una lista con i numeri dei<br />
record che si desidera estrarre <strong>da</strong>lla base CDS.<br />
mx seq=NUMS join=CDS='mfn=',v1 create=EXPORT now -all proc='d1/1d32001'<br />
La base che ne scaturisce, di nome EXPORT, contiene due campi che non sono<br />
presenti nei record di CDS. Il campo 1 che proviene <strong>da</strong>l file NUMS, in cui ogni<br />
singola linea è stata assunta come un record costituito di un unico campo, e il<br />
campo 32001 che si genera per rendicontare il procedimento del join. Infine questi<br />
due campi vengono eliminati col procedimento proc.<br />
Supponiamo che il master file di nome SORTED contenga i propri record ordinati in<br />
base al campo 10 (non ripetibile).<br />
mx SORTED "join=SORTED=if mfn > 1 then 'mfn=',f(mfn-1,1,0) fi"<br />
pft=@unavez.pft –all now<br />
La seguente istruzione di formato estrae un’unica volta i distinti contenuti del<br />
campo 10:<br />
if v10[1] v10[2] then v10[1]/ fi<br />
77
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
!<br />
Parametro [jmax=]<br />
Si osservi che v10[1] è il contenuto del campo 10<br />
del record di origine e che v10[2] è il contenuto<br />
del campo 10 del record ottenuto grazie al<br />
parametro join. In altre parole, v10[1] è la chiave<br />
attuale e v10[2] è la chiave del record precedente<br />
(mfn-1).<br />
Il parametro jmax= limita il numero di record che vengono aggiunti al record<br />
d’origine come effetto dell’azione del parametro join a fronte d’ogni chiave<br />
generata. Questo limite si impone ad ogni parametro join della riga di comandi.<br />
Se si indicano più jmax, è solo l’ultimo che conterà, per cui si raccoman<strong>da</strong> di<br />
indicarlo una sola volta dopo avere indicato tutti i joins e jchks necessari al<br />
procedimento. Per default il valore di jmax è infinito.<br />
! E’<br />
Confrontare basi <strong>da</strong>ti e inverted file<br />
possibile usare fino a un massimo di 128<br />
parametri join e jchk insieme.<br />
jchk=[+]=}<br />
Il parametro jchk si usa per confrontare record (provenienti <strong>da</strong> un master file, <strong>da</strong><br />
un ISO-2709 o <strong>da</strong> un file ASCII) e le voci di un inverted file.<br />
Al parametro jchk possono venire passati i seguenti argomenti:<br />
Argomento Descrizione<br />
ARGOMENTI DEL PARAMETRO jchk<br />
Un inverted file alternativo nel quale verranno cercate le chiavi<br />
estratte <strong>da</strong>l record che si sta trattando.<br />
[+] Una lista di parole <strong>da</strong> scartare (stopword file), facoltativa.<br />
L’impiego di questa opzione fa sì che le chiavi vengano estratte<br />
secondo la tecnica di indicizzazione parola per parola (IT 4) e<br />
che ogni chiave generata venga filtrata attraverso il file delle<br />
stopwords.<br />
78
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
ARGOMENTI DEL PARAMETRO jchk<br />
Argomento Descrizione<br />
<br />
Formato grazie a cui si legge il record in ingresso per estrarre<br />
@<br />
chiavi tramite cui si cercheranno termini dentro l’inverted file.<br />
Può essere un formato esplicito o può consistere in un<br />
riferimento ad un file esterno.<br />
Lo schema seguente illustra come si svolgono le chiamate del jchk:<br />
79
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Per gli esempi si utilizzera la stessa base AUTOR che è stata utilizzata con il join.<br />
Esempio<br />
mx CDS jchk=AUTOR=mhu,(v70/)<br />
L’esecuzione del jchk si articola nei seguenti passi:<br />
ESECUZIONE DEL jchk<br />
SPIEGAZIONE NELL’ESEMPIO<br />
1) Prende un record nella base <strong>da</strong>ti d’ingresso, cioè di<br />
Un record di cds<br />
origine.<br />
2) Esegue il formato indicato come argomento del jchk sul<br />
record origine e considera ogni linea prodotta <strong>da</strong> tale<br />
formato come una chiave di ricerca. Il modo di formato Formato: mhu,(v70)/<br />
MHU, o MPU, è indispensabile, in generale, per produrre Record d’origine: record che proviene<br />
le chiavi, visto che il file ISISUC.TAB stan<strong>da</strong>rd di<br />
<strong>da</strong>lla base cds.<br />
CDS/ISIS converte le minuscole in maiuscole per generare<br />
l’inverted file.<br />
3) A fronte di ciascuna chiave prototta nel passo<br />
Inverted file alternativo: AUTOR<br />
precedente effettua una ricerca nell’inverted file.<br />
4) Aggiunge al record origine in input un campo<br />
(ripetibile) 32001 per il primo jchk, 32002 per il secondo Al record che sta venendo elaborato si<br />
jchk, etc. Il campo 32001 conterrà tante occorrenze quante sommano i campi di controllo.<br />
sono le chiavi prodotte durante il passo 2.<br />
! Il<br />
passo (3) non utilizza il file IFP.<br />
Se la chiave è presente nell’inverted file, jchk calcola che è una chiave vali<strong>da</strong> e nel<br />
passo (4) aggiungerà all’output nel campo 32001 un sottocampo ^m con valore 1,<br />
in caso contrario il campo 32001 non conterrà un sottocampo ^m.<br />
Esempio:<br />
L’esempio produrrà l’output che si mostra qui di seguito.<br />
mx cds jchk=AUTOR=MHU,(v70/)<br />
mfn= 1<br />
80
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
44 «Methodology of plant eco-physiology: proceedings of the<br />
Montpellier Symposium»<br />
50 «Incl. bibl.»<br />
69 «Paper on: »<br />
24 «Techniques for the measurement of transpiration of individual<br />
plants»<br />
26 «^aParis^bUnesco^c-1965»<br />
30 «^ap. 211-224^billus.»<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
32001 «AUTOR^l2^kMAGALHAES, A.C.^o1^m1»<br />
32001 «AUTOR^l2^kFRANCO, C.M.^o2^m1»<br />
..<br />
Contenuto dei campi di controllo (32001, 32002, etc.)<br />
Il campo 32001 e i successivi vengono creati per rendicontare il risultato dello<br />
svolgimento di jchk, e si compone dei seguenti sottocampi:<br />
Esempio:<br />
32001 «AUTOR^l2^kFRANCO, C.M.^o2^m1»<br />
SOTTOCAMPI DEL CAMPO 32001<br />
Campo Contenuto<br />
Primo <strong>da</strong>to, senza indicatore di sottocampo: nome dell’inverted file alternativo;<br />
^l[1/2] File subordinato dell’inverted file <strong>da</strong> cui è stata estratta la chiave:<br />
1 per termini lunghi fino a 10 caratteri<br />
2 per termini con lunghezza compresa fra 11 e 30 caratteri.<br />
^k Chiave usata per la ricerca;<br />
^o Numero d’occorrenza del campo del record originale <strong>da</strong> cui è stata tratta la chiave.<br />
^m1 Se la chiave esiste si crea un sottocampo m che contiene: "1".<br />
Se la chiave non esiste nell’inverted file alternativo il sottocampo ^m non viene creato.<br />
Esempio:<br />
1. Produrre un elenco di nomi di autori non validi:<br />
mx CDS jchk=AUTOR=mhu,(v70/) pft=@check.pft –all now<br />
81
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Il file check.pft contiene le seguenti istruzioni di formato:<br />
if p(v32001) then (if a(v32001^m) then mfn,x2,v32001^k | No esiste|<br />
/ fi) fi<br />
Si noti che questo esempio è uguale a quello realizzato con join però il tempo di<br />
esecuzione è più breve <strong>da</strong>l momento che non è necessario effettuare un ref per<br />
ciascun termine e recuperare il record.<br />
Vantaggi del jchk rispetto al join<br />
L’esecuzione è molto più veloce perché non è necessario realizzare un accesso al<br />
record ma è sufficiente sapere che il termine esiste.<br />
Altro vantaggio risiede nel fatto che jchk non usa il file .IFP. Se si distribuiscono<br />
liste di voci controllate (authority files) non è necessario annettere questo file, il<br />
che si traduce in un risparmio di spazio disco.<br />
!<br />
Tabella per la conversione dei caratteri<br />
E’ possibile specificare fino a 16 jchk e join in una<br />
linea di comando MX. Si ve<strong>da</strong> oltre: jmax=<br />
nella sezione <strong>Parametri</strong> che modificano record<br />
del Capitolo: <strong>Parametri</strong> che effettuano<br />
elaborazioni sull’input.<br />
Il parametro convert=ansi converte i caratteri ASCII decimali in caratteri<br />
convert=ansi<br />
alfanumerici definiti in una tabella interna allestita all’uopo. Per default CISIS usa<br />
caratteri ASCII definiti per la versione IBM PC, secondo la pagina di codici (CP)<br />
attivata nell’elaboratore.<br />
Tabella per la definizione dei caratteri alfanumerici<br />
[actab= |ansi ]<br />
82
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Mediante il parametro actab si indica la tabella di codici ASCII in decimale per i<br />
caratteri alfanumerici che saranno considerati come componenti di parole. Questa<br />
tabella viene utilizzata <strong>da</strong>lla tecnica d’indicizzazione (IT indexing technique)<br />
parola per parola (IT 4, 8, 1004, 1008). actab=ansi utilizza una tabella interna per<br />
tale procedimento.<br />
Se questo parametro non viene specificato, CISIS usa la tabella stan<strong>da</strong>rd<br />
corrispondente di CDS/ISIS (ISISAC.TAB) definita per la versione IBM PC.<br />
Tabella per la conversione in maiuscolo dei caratteri<br />
alfabetici<br />
[uctab=|ansi]<br />
Tramite il parametro uctab si indica la tabella di conversione dei 256 caratteri<br />
ASCII nei corrispondenti in maiuscolo.<br />
Se non si specifica il parametro CISIS usa la tabella stan<strong>da</strong>rd corrispondente di<br />
CDS/ISIS (ISISUC.TAB) definita per la versione IBM PC. uctab=ansi utilizza una<br />
tabella interna per tale conversione.<br />
Tabella di selezione dei campi - generazione di chiavi -<br />
FST<br />
fst[/h]={|@[]} [stw=@[]]<br />
ln{1|2}= [+fix[/m]]<br />
Il parametro fst estrae le chiavi del record secondo le istruzioni della tabella FST e<br />
il file facoltativo delle stopword. Se si indicano gli argomenti ln1 e/o ln2, le chiavi<br />
generate vengono conservate in questi file. Se questi argomenti non vengono<br />
indicati le chiavi si aggiungono come nuovi campi al record che si sta trattando,<br />
con tag uguale all’identificatore della linea della FST <strong>da</strong> dove sono stati estratti.<br />
83
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Qualora già esistano occorrenze del campo con tale tag, le nuove si sommano a<br />
quelle.<br />
Esempio:<br />
mx cds "fst=24 4 v24"<br />
mfn= 1<br />
24 «Techniques for the measurement of transpiration of individual<br />
plants»<br />
26 «^aParis^bUnesco^c-1965»<br />
30 «^ap. 211-224^billus.»<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
24 «TECHNIQUES^m1^o1^c1^l1»<br />
24 «FOR^m1^o1^c2^l1»<br />
24 «THE^m1^o1^c3^l1»<br />
24 «MEASUREMENT^m1^o1^c4^l2»<br />
24 «OF^m1^o1^c5^l1»<br />
24 «TRANSPIRATION^m1^o1^c6^l2»<br />
24 «OF^m1^o1^c7^l1»<br />
24 «INDIVIDUAL^m1^o1^c8^l1»<br />
24 «PLANTS^m1^o1^c9^l1»<br />
Contenuto dei sottocampi:<br />
Sottocampo Contenuto<br />
CHIAVE Estratta con la FST indicata.<br />
^m MFN <strong>da</strong> cui si estrae la chiave.<br />
^o Occorrenza del campo in cui questa chiave compare.<br />
^c Posizione sequenziale di questa chiave dentro al campo.<br />
^l[1/2] File in cui viene memorizzata la chiave:<br />
1 per i termini fino a 10 caratteri di lunghezza<br />
2 per i termini lunghi <strong>da</strong> 11 a 30 caratteri.<br />
Riferimento ad una tabella di selezione dei campi esterna<br />
fst[/h]=@[]<br />
Piuttosto che scrivere sulla riga di comando le istruzioni di una FST si può<br />
richiamarne una esterna già pronta:<br />
84
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
mx CDS fst=@newcds.fst<br />
Esempio:<br />
!<br />
mx CDS fst=@cds.fst<br />
E’ equivalente a:<br />
mx CDS fst=@<br />
Se si usano nomi stan<strong>da</strong>rd di MicroISIS si può<br />
scrivere anche solo @, quando lo incontra MX lo<br />
assume che il nome della FST è il nome della base<br />
in ingresso con l’estensione fst.<br />
Il parametro /h consente che il formato di estrazione delle chiavi non sia limitato a<br />
30 (60) caratteri. Tutte le chiavi vengono generate dentro al campo 33000,<br />
generando un’occorrenza di tale campo a fronte di ogni riga di estrazione della FST<br />
e non a fronte di ogni occorrenza dei <strong>da</strong>ti d’origine.<br />
File di parole non significative (stopwords)<br />
stw=@[]<br />
Grazie all’impiego di un file di parole non significative (stopwords) si evita la<br />
creazione di termini d’indice non significativi (pronomi, preposizioni, etc.).<br />
Un file di parole non significative è un file ASCII con una parola per linea.<br />
Esempio:<br />
!<br />
mx cds fst=@cds.fst stw=@<br />
Se si scrive stw=@ MX intende che si tratta del<br />
nome stan<strong>da</strong>rd assegnato <strong>da</strong> MicroISIS, e<br />
dunque: .stw.<br />
85
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
E’ equivalente a:<br />
mx cds fst=@cds.fst stw=@cds.stw<br />
Esempio:<br />
!<br />
L’esempio seguente utilizza un file di stopwords.<br />
Si rammenti che un file di parole non significative<br />
ha senso solo se si utilizzano le tecniche di<br />
indicizzazione parola per parola: IT 4, IT 8, IT<br />
1004 o IT 1008. Inoltre, per definizione, le parole<br />
non significative possono avere una lunghezza<br />
massima di 10 caratteri.<br />
L’esempio presuppone l’esistenza di un file di stopwods (cds.stw) col seguente<br />
contenuto:<br />
A<br />
AN<br />
AND<br />
AS<br />
BY<br />
FOR<br />
FROM<br />
IN<br />
INTO<br />
ITS<br />
OF<br />
ON<br />
THE<br />
TO<br />
UPON<br />
WITH<br />
Sequenza di comandi:<br />
mx CDS "fst=24 4 v24" stw=@cds.stw<br />
Mfn= 1<br />
24 «Techniques for the measurement of transpiration of individual<br />
plants»<br />
26 «^aParis^bUnesco^c-1965»<br />
30 «^ap. 211-224^billus.»<br />
86
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
24 «TECHNIQUES^m1^o1^c1^l1»<br />
24 «MEASUREMENT^m1^o1^c4^l2»<br />
24 «TRANSPIRATION^m1^o1^c6^l2»<br />
24 «INDIVIDUAL^m1^o1^c8^l1»<br />
24 «PLANTS^m1^o1^c9^l1»<br />
..<br />
!<br />
Gli esempi non recano l’indicazione di una base<br />
<strong>da</strong>ti o di un file di destinazione per cui le<br />
modifiche appariranno a schermo però poi<br />
svaniranno.<br />
Tecniche de indicizzazione 1-8 / 1000 - 1008<br />
L’interfaccia CISIS può trattare tutte le tecniche d’indicizzazione (IT indexing<br />
technique) stan<strong>da</strong>rd di MicroISIS, (IT 0 a IT 8), cui si sommano le nuove tecniche<br />
(IT 1000 - IT 1008).<br />
Le tecniche IT 1000...1008 generano una chiave composta di:<br />
1000+IT ‘/’, , ’/’, <br />
1. Carattere delimitatore di apertura.<br />
2. MFN.<br />
3. Un carattere delimitatore di chiusura (identico a quello d’apertura).<br />
4. La chiave normale estratta secondo la corrispondente IT, <strong>da</strong> 0 a 8 .<br />
Esempi:<br />
1 1004 ‘|’, f(l->idif(id.10),1,0), ’|’, (v83^*)<br />
1 1004 ‘|’, v98 ’|’, v83<br />
Come risultato di questa tecnica è possibile controllare <strong>da</strong> programma la<br />
componente MFN del posting prodotto.<br />
Esempio:<br />
1. Supponendo che nel campo 999 del primo record della base cds si trovi il valore<br />
23, e che il record 2 non abbia il campo 999. A questo punto la riga:<br />
mx CDS to=2 "fst=1 1000 '/', if p(v999) then v999 else mfn<br />
fi,'/',,,(|AU=|v70/) "<br />
87
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
produce l’esito:<br />
mfn= 1<br />
44 «Methodology of plant eco-physiology: proceedings of the<br />
Montpellier Symposium»<br />
50 «Incl. bibl.»<br />
69 «Paper on: »<br />
24 «Techniques for the measurement of transpiration of individual<br />
plants»<br />
26 «^aParis^bUnesco^c-1965»<br />
30 «^ap. 211-224^billus.»<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
999 «23»<br />
1 «AU=MAGALHAES, A.C.^m23^o1^c1^l2»<br />
1 «AU=FRANCO, C.M.^m23^o1^c2^l2»<br />
..<br />
mfn= 2<br />
44 «Methodology of plant eco-physiology: proceedings of the<br />
Montpellier Symposium»<br />
50 «Incl. bibl.»<br />
69 «Paper on: »<br />
24 « Controlled climate in the plant chamber and its influence<br />
upon assimilation and transpiration»<br />
26 «^c1965»<br />
30 «^ap. 225-232^billus.»<br />
70 «Bosian, G.»<br />
1 «AU=BOSIAN, G.^m2^o1^c1^l2»<br />
..<br />
Si noti che nel record MFN=1 i postings degli autori sono segnalati come<br />
provenienti <strong>da</strong>l MFN=23, mentre nel record MFN=2 si è prodotto un posting<br />
stan<strong>da</strong>rd<br />
Esempio<br />
• Indicizzare le parole di un testo esterno associato ad un record<br />
1 1004 '/',mfn,'/' proc('Gload=archivo.txt'=v1)<br />
88
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
! La<br />
Generazione dei link file<br />
dimensione massima di un testo esterno è di<br />
32 kb.<br />
ln1=/ ln2=<br />
Se al parametro fst si aggiungono gli argomenti ln1 y/o ln2 si generano i link file<br />
corrispondenti.<br />
Se si desidera che tali file abbiano l’estensione stan<strong>da</strong>rd di CDS/ISIS occorrerà<br />
indicarlo esplicitamente. In CISIS i file possono avere le estensioni stan<strong>da</strong>rd di<br />
ISIS (pft, fst, ln1, ln2, etc.) oppure no.<br />
Esempi:<br />
mx CDS "fst=24 4 v24" ln1=cds.ln1 -all to=10 now<br />
mx CDS fst=@cds.fst ln2=cds.ln2 -all to=10 now<br />
mx CDS fst=@otra ln1=cds.ln1 ln2=cds.ln2 -all to=10 now<br />
mx CDS fst=@otra ln1=otro.1 ln2=otro.2 -all to=10 now<br />
Link file a lunghezza fissa<br />
Opzione +fix[/m]<br />
L’opzione +fix[/m] genera i file .ln[1/2] a lunghezza fissa, non secondo lo stan<strong>da</strong>rd<br />
di CDS/ISIS, e che potranno venire trattati solo con CISIS. I file a lunghezza fissa<br />
esigono più spazio disco però possono venire ordinati più rapi<strong>da</strong>mente.<br />
L’output stan<strong>da</strong>rd di CDS.LN1, riconosciuto <strong>da</strong> CDS/ISIS è:<br />
1 24 1 1 TECHNIQUES<br />
1 24 1 8 INDIVIDUAL<br />
1 24 1 9 PLANTS<br />
L’output speciale a lunghezza fissa ha invece questa struttura:<br />
89
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
CHIAVE MFN TAG OCC CNT<br />
mx CDS "fst=24 4 v24" ln1=cds.ln1 +fix<br />
Che produrrà il file seguente:<br />
TECHNIQUES<br />
INDIVIDUAL<br />
PLANTS<br />
1<br />
1<br />
1<br />
24<br />
24<br />
24<br />
1<br />
1<br />
1<br />
Con l’opzione +fix/m si genereranno file .ln[1/2] a lunghezza fissa e con solo la<br />
CHIAVE e l’MFN del posting.<br />
I link file con CHIAVE e MFN, privi delle componenti TAG e OCC, sono<br />
particolarmente indicati per applicazioni che utilizzano più di un inverted file, tutti<br />
generati a partire <strong>da</strong>llo stesso master file.<br />
Output<br />
Esecuzione di un programma esterno<br />
1<br />
8<br />
9<br />
sys[/show]={ | @}<br />
Il parametro sys= ritar<strong>da</strong> l’esecuzione di un comando del sistema operativo, e ciò<br />
va stabilito con un’istruzione di formato. Il risultato di questo formato deve<br />
produrre comandi validi per il sistema operativo.<br />
Ogni linea generata <strong>da</strong>l formato verrà man<strong>da</strong>ta in esecuzione come un comando<br />
del sistema operativo.<br />
Esempio:<br />
Supponendo che nel campo 777 dei record della base <strong>da</strong>ti si trovi il nome di un file<br />
di testo (alltext1.txt ) che si desidera mostrare, e che contiene testo ASCII (poniamo<br />
sia il testo completo di un lavoro):<br />
Aggiungere al record 1 della base cds il campo 777 avente per contenuto alltext1.txt<br />
mx cds to=1 proc='a777#alltext1.txt#’ copy=cds<br />
90
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Creare un file alltext1.txt con un qualche contenuto<br />
Man<strong>da</strong>re in esecuzione MX richiedendo con il parametro sys che mostri il file<br />
alltext1.txt<br />
mx cds "sys=if p(v777) then 'more 'v777 fi"<br />
!<br />
L’esempio seguente è sbagliato:<br />
L’istruzione di formato del sys non va confusa con<br />
la formattazione dei <strong>da</strong>ti in output, per formattare<br />
record si usa il parametro pft, già visto nella<br />
prima sezione del Capitolo <strong>Parametri</strong> che<br />
svolgono elaborazioni sui <strong>da</strong>ti in entrata (input).<br />
mx cds "sys=if v24:'water' then mfn/ ‘dir *.mst' fi"<br />
Va formulato invece così:<br />
mx cds "pft=if v24:'water' then mfn/ fi" "sys=if v24:'water' then ‘dir<br />
*.mst ' fi"<br />
Opzione /show<br />
L’opzione /show blocca l’esecuzione del comando indicato in sys, mostra il<br />
comando che verrà eseguito e attende l’intervento dell’operatore per procedere.<br />
mx cds "sys/show=if v24:'water' then ‘dir *.mst' fi" to=20 now<br />
Un’applicazione del parametro sys potrebbe consistere nell’eseguire un<br />
programma esterno sui <strong>da</strong>ti di un record, per visualizzare, ad esempio,<br />
un’immagine il cui nome di file è memorizzato in un campo.<br />
Esempio:<br />
mx cds -all "sys=|\isis\sys\vgif.exe |v100^a"<br />
!<br />
Perché l’esempio funzioni occorre che il file<br />
vgif.exe (programma di visualizzazione di<br />
immagini) si trovi in \isis\sys\.<br />
91
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
<strong>Parametri</strong> che creano/modificano basi <strong>da</strong>ti<br />
{create | copy | append | merge | up<strong>da</strong>tf}=<br />
Creazione di un master file<br />
create=<br />
Il parametro create crea e senz’altro inizializza un master file con il nome<br />
assegnato in , master file nel quale verranno memorizzati i record<br />
risultanti <strong>da</strong>ll’elaborazione.<br />
Esempi:<br />
!<br />
Se già esiste una base <strong>da</strong>ti con lo stesso nome<br />
questa verrà azzerata e reinizializzata senza<br />
chiedere nulla all’operatore, facendo perdere<br />
dunque tutti i <strong>da</strong>ti.<br />
• Il seguente esempio legge i record <strong>da</strong> 10 a 20 della base cds e li scrive nella base<br />
cds2;<br />
mx cds from=10 to=20 create=cds2 now -all<br />
!<br />
I record <strong>da</strong> 1 a 9 della base cds2 risultano<br />
cancellati fisicamente (ossia non esistono) e i<br />
record <strong>da</strong> 10 a 20 sono quelli che provengono<br />
<strong>da</strong>lla base cds.<br />
• Creare una base <strong>da</strong>ti coi record restituiti <strong>da</strong> una ricerca:<br />
mx cds "plants and water" create=plawat now -all<br />
! I<br />
record in uscita vengono scritti mantenendo gli<br />
stessi MFN di partenza.<br />
• Creare una base a partire <strong>da</strong> un file ISO-2709 (il file cds.iso dovrà essere<br />
presente):<br />
mx iso=cds.iso create=cds3 now -all<br />
92
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
!<br />
Copiare record su un master file<br />
Si tenga presente che in questi esempi si utilizza il<br />
parametro now, che fa sì che MX non presenti il<br />
prompt fra i vari record (e sosti attendendo<br />
risposta) e che il parametro -all fa sì che non<br />
vengano inviati <strong>da</strong>ti sullo schermo.<br />
copy=<br />
Il parametro copy scrive i record che sono stati trattati nel master file di uscita<br />
mantenendo l’MFN del record letto. Se in già esiste un<br />
record con lo stesso mfn il contenuto di questo verrà azzerato e se il record non<br />
esiste verrà creato.<br />
Quando la base di output () è la stessa di quella di input, copy funziona<br />
come una modifica dei record, essi vengono letti, modificati e scritti nella stessa<br />
base col medesimo mfn.<br />
A differenza del create il copy non reinizializza la base di destinazione.<br />
Se la base di destinazione non esiste, viene creata. In tal caso copy funziona<br />
esattamente come il create.<br />
Esempi:<br />
!<br />
Quando l’origine dei <strong>da</strong>ti è un file ISO 2709 o un<br />
file di testo, i record si aggiungono come nuovi<br />
dopo l’ultimo, in ragione del fatto che i record<br />
letti non recano un MFN (a meno che non venga<br />
specificato il parametro from=).<br />
• Copiare i record <strong>da</strong> 30 a 40 della base cds nella base cds2:<br />
mx cds copy=cds2 now from=30 to=40 -all<br />
• Copiare l’esito di una ricerca in una nuova base <strong>da</strong>ti:<br />
mx cds water copy=cds2 now -all<br />
• Leggere record di un file ISO 2709 e memorizzarli in una base già esistente:<br />
mx iso=cds.iso copy=cds2 now -all<br />
93
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
!<br />
Aggiungere record a una base <strong>da</strong>ti<br />
Si badi che in questi esempi si usa il parametro<br />
now, in virtù del quale MX non propone il prompt<br />
(fermandosi in attesa) fra record e il parametro -<br />
all fa sì che nessun output va<strong>da</strong> a schermo.<br />
append=<br />
Il parametro append memorizza i record trattati come nuovi record nella base di<br />
uscita dopo l’ultimo esistente. A differenza di create e di copy, i record trattati<br />
perdono il loro mfn d’origine.<br />
Se la base di arrivo non esiste viene creata.<br />
Esempi:<br />
• Aggiungere i record <strong>da</strong> 30 a 40 della base cds alla base cds2:<br />
mx cds append=cds2 now from=30 to=40 -all<br />
• Aggiungere il risultato di una ricerca a una nuova base <strong>da</strong>ti:<br />
mx cds "plants * water" append=cds2 now -all<br />
• Leggere i record di un file ISO 2709 e memorizzarli in una base già esistente:<br />
mx iso=cds.iso append=cds2 now -all<br />
Fondere/Intercalare record<br />
merge=<br />
Il parametro merge scrive i record trattati nella base di uscita solamente nel caso<br />
in cui essi non esistano in .<br />
Supponendo che nella base esistano tutti i record fra MFN=1 e<br />
MFN=20 ad eccezione del record MFN=10, e che consista di 15 record<br />
con MFN <strong>da</strong> 1 a 15. Se eseguiamo un merge, la base risultante sarà composta di 20<br />
record, fra cui il 10 proviene <strong>da</strong> e i restanti sono quelli che si trovavano<br />
già in .<br />
94
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Se la base di arrivo non esiste verrà creata.<br />
Esempi:<br />
!<br />
Quando l’origine dei <strong>da</strong>ti è un file ISO 2709 o un<br />
file di testo i record si aggiungono come nuovi<br />
record dopo l’ultimo. Accade così perché i record<br />
in ingresso non possiedono numero di record.<br />
• Inserire i record di cds, con mfn compreso fra 1 e 20, che non siano già in cds2:<br />
mx cds merge=cds2 now from=1 to=20<br />
• Inserire i record restituiti <strong>da</strong> una ricerca eseguita in cds e che non siano già in<br />
cds2:<br />
mx cds merge=cds2 energy$ -all now<br />
Aggiornamento di campi<br />
up<strong>da</strong>tf=<br />
Il parametro up<strong>da</strong>tf (up<strong>da</strong>te fields) prende i <strong>da</strong>ti del record in entrata e rimpiazza i<br />
campi del record di output nel caso che i tags coinci<strong>da</strong>no.<br />
out_dbn è la base che contiene i record coi campi <strong>da</strong> aggiornare e che verranno<br />
riscritti. Il processo di aggiornamento che MX attua su out_dbn è il seguente:<br />
1. Legge un record nella base di entrata ed esegue i procedimenti gizmo, join,<br />
proc, fst, se sono stati indicati;<br />
2. cerca un record col medesimo mfn dentro out_dbn, col seguente risultato:<br />
° tutti i campi del record letto in out_dbn che esistono nel record letto della<br />
base di partenza vengono rimpiazzati <strong>da</strong> quest’ultimi,<br />
° tutti i campi del record letto di out_dbn che non esistono nel record letto<br />
della base di partenza vengono conservati,<br />
3. Riscrive il record in out_dbn.<br />
!<br />
I record della base di partenza, eventualmente<br />
trattati <strong>da</strong> altri procedimenti di MX, devono<br />
necessariamente trovarsi in out_dbn.<br />
Quando si specifica il parametro up<strong>da</strong>tf non si<br />
possono specificare altri parametri di output.<br />
95
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Esempi:<br />
Ci sono due basi <strong>da</strong>ti:<br />
!<br />
INPUT CDS<br />
Mfn= 1<br />
Mfn= 1<br />
1 «campo 1<br />
nuevo»<br />
2 «campo 2<br />
nuevo»<br />
4 «campo 4<br />
nuevo»<br />
Il risultato della esecuzione del parametro up<strong>da</strong>tf<br />
non viene visualizzato <strong>da</strong> MX, cioè: il record che<br />
viene riscritto in out_dbn non viene visualizzato<br />
mentre si visualizza il record che va ad aggiornare<br />
quello.<br />
44 «Methodology of plant ecophysiology:<br />
proceedings<br />
69 «Paper on: <br />
24 «Techniques for the<br />
measurement of transpiration<br />
26 «^aParis^bUnesco^c-1965»<br />
30 «^ap. 211-224^billus.»<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
1 «campo1»<br />
1 «campo 1b»<br />
2 «campo 2»<br />
2 «campo2b»<br />
2 «campo 2c»<br />
3 «campo3»<br />
Il seguente esempio esemplifica l’aggiornamento dei campi dei record di CDS<br />
assumendo come fonte i record della base INPUT<br />
mx INPUT up<strong>da</strong>tf=CDS -all now<br />
mx CDS<br />
Questo è il risultato di un record della base CDS con i mutamenti verificatisi:<br />
mfn= 1<br />
44 «Methodology of plant eco-physiology: proceedings<br />
96
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
69 «Paper on: <br />
24 «Techniques for the measurement of transpiration<br />
26 «^aParis^bUnesco^c-1965»<br />
30 «^ap. 211-224^billus.»<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
3 «campo3»<br />
1 «campo 1 nuevo»<br />
2 «campo 2 nuevo»<br />
4 «campo 4 nuevo»<br />
Si osservi che i campi 1 e 2 di CDS sono stati rimpiazzati <strong>da</strong> quelli che provengono<br />
<strong>da</strong>lla base INPUT, mentre gli altri campi (ivi compreso il 3) non sono stati alterati, e<br />
nemmeno è stato aggiunto il campo 4.<br />
Generare un file ISO 2709<br />
[out]iso[={marc|}]= [outisotag1=]<br />
Il programma MX può leggere e scrivere indifferentemente file in formato ISO<br />
2709 e applicarvi gli stessi procedimenti che realizza su .MST/.XRF (a parte quelli<br />
che richiedono l’uso dell’inverted file ossia dell’indice dizionario).<br />
L’opzione iso= o iso=marc|= permette di generare<br />
file ISO 2709. Così come si crea un master file quale esito di un’elaborazione, del<br />
pari si può creare un file ISO 2709.<br />
Con l’opzione iso== si può indicare un lunghezza fissa di riga.<br />
Quest’opzione si usa per scambiare file .ISO di PC con programmi più potenti<br />
come il MINISIS della HP. Il separatore di campo e il separatore di record nel file<br />
prodotto <strong>da</strong> MX sono rappresentati <strong>da</strong>l carattere #. Indicando iso=0=<br />
le linee costituenti i record avranno lunghezza variabile.<br />
L’opzione iso=marc= genererà linee di output con le seguenti<br />
caratteristiche compatibili con quanto stipulato <strong>da</strong>l MARC:<br />
• Linee a lunghezza variabile<br />
• I separatori di campo e record saranno i caratteri ASCII ‘\029’ ‘\030’<br />
97
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
• Le linee saranno chiuse solo <strong>da</strong> ‘\012’ senza che vi sia anche il ‘\013’ (CR).<br />
Esempi:<br />
• Questo esempio produce un file ISO 2709 a partire <strong>da</strong>lla base CDS<br />
mx CDS iso=sali<strong>da</strong>.iso -all now<br />
• Prende in entrata una base <strong>da</strong>ti (CDS), esegue una ricerca (plants and water) e coi<br />
record reperiti genera un file ISO 2709 in uscita (cds.iso).<br />
mx cds "plants and water" iso=cds.iso now -all<br />
• Questo esempio genera un file ISO-2709 con il record 1 della base CDS, con<br />
lunghezza di linea fissa=40.<br />
mx cds iso=40=sali<strong>da</strong>.iso to=1 now -all<br />
• Crea un output del tipo:<br />
0040900000000010900045000440078000000690<br />
0790007802400690015702600230022603000210<br />
0249070001600270070001300286#Methodology<br />
of plant eco-physiology: proceedings of<br />
the Montpellier Symposium#Paper on: #Techniques for<br />
the measurement of transpiration of ind<br />
ividual plants#^aParis^bUnesco^c-1965#^a<br />
p. 211-224^billus.#Magalhaes, A.C.#Franc<br />
o, C.M.##<br />
! Si<br />
osservi che l’ultima linea è riempita con spazi<br />
sulla destra fino al margine.<br />
Si rammenti che un file ISO 2709 si può leggere con MX, anche indicando<br />
solamente che sarà <strong>da</strong> prendere come fonte dei <strong>da</strong>ti in ingresso:<br />
mx iso=cds.iso<br />
Generare un file ASCII con separatori<br />
fix=<br />
98
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Visualizza ogni record su una sola linea in formato ASCII puro, separando tutti i<br />
campi con la barra verticale ( | ). L’informazione relativa al TAG –etichetta- va<br />
perduta. L’ampiezza massima della linea dipende <strong>da</strong>l sistema operativo.<br />
Esempio:<br />
• Si dispone di una base <strong>da</strong>ti di nome ADMIN che contiene i <strong>da</strong>ti di<br />
pubblicazione, titolo e prezzo di ciascun libro. L’istruzione seguente genera il<br />
file d’uscita PRECIOS:<br />
mx admin fix=precios now -all<br />
File PRECIOS:<br />
Editorial 1|Titulo 1|124<br />
Editorial 1|Titulo 2|100<br />
Editorial 2|Titulo 3|89<br />
Editorial 2|Titulo 4|99<br />
Editorial 2|Titulo 5|101.50<br />
Questo file può venire importato in altri programmi che riconoscano campi <strong>da</strong>ti<br />
separati <strong>da</strong> delimitatori. Per esempio, lo si può importare in un foglio elettronico<br />
come Excel per effettuare calcoli e/o analisi di tipo statistico, economico, etc.<br />
Recuperare i <strong>da</strong>ti del Leader del record<br />
[[out]isotag1=]<br />
I record MARC memorizzano <strong>da</strong>ti anche nelle posizioni 5-8 e 17-19 della gui<strong>da</strong><br />
(leader) del record. Le istruzioni di formato di CISIS non accedono direttamente a<br />
queste posizioni, però è possibile convertire questi byte nei campi convenzionali<br />
del master file tanto all’entrata dei record come all’uscita in esportazione.<br />
Nella fase di ingresso i <strong>da</strong>ti del leader vengono caricati in una serie consecutiva di<br />
campi a partir <strong>da</strong> un valore base + la posizione del byte del leader. Por esempio, se<br />
si indica come valore base il campo 3000, il byte 5 del leader verrà caricato nel<br />
campo 3005. Durante l’esportazione <strong>da</strong> questi campi verranno estratti i valori<br />
presenti per registrarli nelle corrispondenti posizioni del leader. Se il campo non<br />
conteneva <strong>da</strong>ti verrà posto uno spazio blank nella corrispondente posizione del<br />
leader.<br />
99
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Esempio<br />
mx mrclte<br />
mfn= 1<br />
1 «00089048230 /AC/r91»<br />
3 «DLC»<br />
8 «891101s1990 maua j 001 0eng »<br />
10 «##^a###89048230 /AC/r91»<br />
20 «##^a0316107514»<br />
40 «##^aDLC^cDLC^dDLC»<br />
50 «00^aGV943.25^bB74 1990»<br />
82 «00^a796.334/2^220»<br />
100 «##^aApter, David Ernest^d1919-1999»<br />
245 «10^aMake the team.^pSoccer :^ba heads up guide to super<br />
soccer! /^cRi J. Brenner.»<br />
250 «##^a1st ed.»<br />
260 «##^aBoston :^bLittle, Brown,^cc1990.»<br />
300 «##^a127 p. :^bill. ;^c19 cm.»<br />
3005 «c»<br />
3006 «a»<br />
3007 «m»<br />
3017 «5»<br />
3018 «i»<br />
Caricare <strong>da</strong>ti prodotti <strong>da</strong> una FST<br />
Funzione fullinv<br />
L’opzione /dict crea solo il dizionario del file , non depone alcun<br />
contenuto nel file out_inf.ifp.<br />
mx CDS fst=@ ifupd/create/dict=cds now from=10 to=30<br />
!<br />
Opzione /dict<br />
Un inverted file creato con l’opzione /dict può<br />
venire utilizzato per procedimenti come il jchk di<br />
MX.<br />
100
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Estrae le chiavi (aggiorna l’I/F) solo con la componente MFN del posting<br />
Opzione /m<br />
Opzione /ansi<br />
Quando si precisa ansi si crea una tabella modello interna per l’insieme dei<br />
caratteri ANSI, rendendo superfluo l’impiego dei parametri actab e uctab<br />
! L’aggiornamento<br />
Analisi tabellare delle frequenze<br />
dell’I/f si attua con il<br />
programma IFUPD.<br />
tab[/lines:100000/width:100/tab:]=<br />
Genera una tabulazione della frequenza del contenuto di un campo/sottocampo. Il<br />
valore della frequenza è posto in tabella in sottrazione rispetto a 1.000.000.000<br />
(high-value), il che permette un ordinamento ascendente/discendente.<br />
Scrivere il tag in un file di nome .<br />
Esempio<br />
mx cds "tab=(v26^c/)" now lw=0 | sort | more<br />
999999949|50|1966<br />
999999962|37|1976<br />
999999974|25|1965<br />
999999991|8|1973<br />
999999994|5|1975<br />
999999995|4|1974<br />
999999997|2|1968<br />
999999997|2|1971<br />
999999997|2|27 Aug. 1976<br />
999999998|1|11 Dec. 1975<br />
999999998|1|14 June 1976<br />
999999998|1|15 June 1976<br />
999999998|1|17 Sept. 1976<br />
101
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
999999998|1|1983<br />
999999998|1|23 Oct. 1975<br />
999999998|1|25 June 1976<br />
999999998|1|6 Feb. 1976<br />
<strong>Parametri</strong> di inizializzazione / variabili<br />
d’ambiente (setup)<br />
Questi parametri consentono di alterare i valori che MX assume per default come<br />
ad es.: dimensione massima di un record o dell’output di un formato, la<br />
definizione delle variabili d’ambiente o dei nomi logici, etc.<br />
File di parametri CISIS<br />
cipar=<br />
Il file CIPAR è uno strumento che svolge le funzioni del SYSPAR.PAR e dei .<br />
par del CDS/ISIS stan<strong>da</strong>rd; e in aggiunta offre altre prestazioni.<br />
Il CIPAR è un file ASCII puro che –fra altre funzioni– unisce dei nomi logici<br />
definiti nel CIPAR ai nomi fisici (reali) dei file, e in questa maniera permette di<br />
svincolare il nome reale <strong>da</strong>lla sua posizione fisica.<br />
La spiegazione analitica di questo parametro è <strong>da</strong>ta nell’Appendice II File CIPAR.<br />
Esempio:<br />
Se il file \dir\filename contiene:<br />
cds.*=\cisis\bases\cds.*<br />
cds1.pft=\cisis\bases\cds1.pft<br />
Il comando:<br />
mx cipar=\dir\filename cds pft=@cds1.pft<br />
E’ equivalente a:<br />
mx \cisis\bases\cds pft=@\cisis\bases\cds1.pft<br />
102
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Dimensione massima di un record<br />
mfrl=<br />
Questo parametro determina la dimensione massima che un record può giungere<br />
ad avere in lettura, elaborazione e scrittura, includendo i join proc e fst. Il valore<br />
definito in MX è di 32767 byte, in CDS/ISIS MS-DOS è di 8.192 byte e in Winisis è<br />
di 64Kb<br />
Occorre tenere presente che quando i record vengono elaborati <strong>da</strong>lle varie<br />
procedure interne del MX (come join o proc) possono pervenire ad avere<br />
lunghezze temporanee maggiori di questi limiti.<br />
Esempi:<br />
mx mfrl=32000 CDS a$ join=AUTHORS=mhu,(v70/) create=OUT<br />
Dimensione massima dell’esito di un formato formato<br />
fmtl=<br />
Questo parametro determina la dimensione massima dell’area interna di memoria<br />
in cui viene memorizzato il risultato di ogni formato specificato (pft, sys, join,<br />
etc.). La lunghezza prestabilita è uguale alla lunghezza per default del record.<br />
Esempio:<br />
mx mfrl=20000 fmtl=20000 TITLES join=ISSUES=v30 pft=@holdgins.pft<br />
<strong>Parametri</strong> generali<br />
<strong>Parametri</strong> che controllano l’output a schermo<br />
{+ | -}{control | leader | xref | dir | fields | all }<br />
103
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Questi parametri definiscono l’uscita che verrà offerta <strong>da</strong>lla procedura di scarico,<br />
copia, (dump) dei <strong>da</strong>ti verso l’uscita stan<strong>da</strong>rd (per default lo schermo), il che ha la<br />
sua utilità per effettuare una revisione dei file fisici .MST e .XRF.<br />
L’uscita predefinita è +fields, che consiste nell’output senza formattazione di tutti i<br />
campi del record.<br />
I record cancellati vengono compresi nella procedura di scarico (dump) e vengono<br />
evidenziati col messaggio [DELETED].<br />
Parametro +<br />
Attiva l’opzione associata alla procedura di uscita a schermo. La prima volta che lo<br />
si usa si cancellano le opzioni predefinite.<br />
Parametro -<br />
Disattiva l’opzione associata alla procedura di uscita a schermo. La prima volta che<br />
lo si usa si attivano tutte le altre opzioni predefinite.<br />
Esempi:<br />
mx CDS +xref<br />
mx CDS -xref<br />
mx CDS +control +leader +dir<br />
mx CDS +all<br />
!<br />
Si osservi che l’esempio mx CDS -xref è<br />
equivalente a mx CDS +control +leader +dir<br />
+fields.<br />
Del pari, mx CDS -xref -fields è equivalente a mx<br />
CDS +control +leader +dir.<br />
I parametri se refiriscono a parti del .MST e del .XRF cui non si ha accesso tramite<br />
il CDS/ISIS stan<strong>da</strong>rd, e cioè:.<br />
Opzione Visualizza<br />
control Record di controllo del MST, identificato come MFN=0.<br />
leader Segmento a lunghezza fissa di 18 bytes all’inizio di ciascun MFN.<br />
dir Directory dello stesso record contenente l’elenco e la posizione dei campi <strong>da</strong>ti.<br />
104
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Opzione Visualizza<br />
fields I <strong>da</strong>ti effettivi contenuti nei campi del record.<br />
xref Contenuto del file .XRF.<br />
all Attiva o disattiva tutte le opzioni precedenti.<br />
Per apprezzare adeguatamente l’utilità di questi parametri è imprescindibile<br />
conoscere la struttura dei record di ISIS.<br />
Un record con struttura ISIS è munito di due caratteristiche particolari che<br />
consentono una grande flessibilità nel trattamento dell’informazione testuale:<br />
campi ripetibili e di lunghezza variabile.<br />
Assunto che i record non hanno lunghezza predefinita, e che nemmeno i campi<br />
hanno lunghezza fissa, né sono presenti un numero fisso di volte (occorrenze), non<br />
è possibile avere accesso diretto a qualsivoglia porzione di <strong>da</strong>ti all’interno della<br />
base.<br />
L’accesso al record si fa dunque in maniera indiretta, per il tramite di puntatori in<br />
un file ausiliare con estensione .XRF, e dentro al record si accede ai <strong>da</strong>ti mediante<br />
puntatori interni a una directory.<br />
Il file .XRF contiene tutta l’informazione necessaria per reperire il punto d’inizio<br />
del record cercato dentro al .MST.<br />
! Per<br />
<strong>Parametri</strong> per ambienti multiutente<br />
Opzioni di mo<strong>da</strong>lità d’azione<br />
maggiori dettagli cfr. l’Appendice III:<br />
Struttura del record di una base ISIS.<br />
[mono | mast | full]<br />
Se una base <strong>da</strong>ti viene aggiornata in ambiente multiutente va indicato inizialmente<br />
il parametro mast o full. Il valore mono (monoutente) è quello di default.<br />
105
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Modo monoutente: mono<br />
E’ la mo<strong>da</strong>lità per default, la stabilità e l’accesso ai <strong>da</strong>ti non sono sottoposti a<br />
verifica. Suppone che operi un unico utente.<br />
Questo parametro corrisponde al parametro 14=0 del Syspar di CDS/ISIS<br />
Accesso limitato ai <strong>da</strong>ti: mast<br />
Questo parametro consente il ripristino e l’aggiornamento del master file. Occorre<br />
assicurarsi che l’inverted file non venga aggiornato contemporaneamente.<br />
Questo parametro corrisponde al parametro 14=2 del Syspar di CDS/ISIS<br />
Accesso completo: full<br />
Quando questo parametro è presente si possono contemporaneamente recuperare<br />
e modificare <strong>da</strong>ti sia nel master file che nell’inverted file. D’altro canto il sistema<br />
diventa più lento.<br />
Questo parametro corrisponde al parametro 14=1 del Syspar di CDS/ISIS<br />
Esempi:<br />
• Situare due basi <strong>da</strong>ti in ambiente multiutente, CDS e OUT:<br />
mx mast CDS from=120 append=OUT now -all<br />
Porre in ambiente multiutente solo una base <strong>da</strong>ti. La base CDS starà in ambiente<br />
monoutente, mentre la base OUT starà in ambiente multiutente.<br />
mx CDS from=120 mast append=OUT now -all<br />
!<br />
Questo scenario funzionerà correttamente solo se<br />
tutte le altre procedure che leggono e/o scrivono<br />
nella base OUT verranno analogamente definite<br />
come operanti in ambiente multiutente.<br />
Se una base <strong>da</strong>ti deve venire trattata <strong>da</strong> più di una<br />
procedura e almeno una fra queste la modifica<br />
allora TUTTE le procedure devono potere operare<br />
su di essa in ambiente multiutente. Così si obbliga<br />
MX a leggere i <strong>da</strong>ti aggiornati (quelli che sono<br />
stati scritti su disco) ignorando i buffer<br />
temporanei di lettura dei <strong>da</strong>ti.<br />
106
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
Altri parametri<br />
Delimitatori<br />
Il segno di uguale impiegato come delimitatore può venire rimpiazzato <strong>da</strong>l punto<br />
interrogativo ?<br />
mx CDS from=10 corretto<br />
mx CDS from?10 equivalente al precedente<br />
Indicatori (prompt) predefiniti<br />
?<br />
p1|p2=<br />
E’ possibile cambiare gli indicatori (prompts) predefiniti di MX, per la durata di<br />
una sessione di MX.<br />
parametro p1= cambia .. in <br />
parametro p2= cambia -> in <br />
Esempio:<br />
I prompt vengono cambiati cosicché MX fra record e record dica: premere per<br />
il record successivo o per uscire (prompt1) e quando non ci sono più record <strong>da</strong><br />
visualizzare presenti il messaggio: premere per uscire o scrivere un’espressione di ricerca<br />
(prompt2).<br />
mx cds "p1= premere per il record successivo o per uscire"<br />
"p2= premere per uscire o scrivere un’espressione di ricerca:"<br />
plants<br />
Visualizzazione di uno dei record della ricerca (non l’ultimo):<br />
mfn= 13<br />
24 «Experience with three vapour methods for measuring water<br />
potential in plants»<br />
26 «^c1965»<br />
107
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
30 «^ap. 369-384^billus.»<br />
44 «Methodology of plant eco-physiology: proceedings of the<br />
Montpellier Symposium»<br />
69 «Paper on: »<br />
70 «Barrs, H.D.»<br />
70 «Slatyer, R.O.»<br />
50 «prueb»<br />
premere per il record successivo o per uscire<br />
Visualizazzione dell’ultimo record della ricerca:<br />
mfn= 68<br />
24 «Some important animal pests and parasites of East Pakistan»<br />
26 «^c1966»<br />
30 «^ap. 285-291^billus.»<br />
44 «Scientific problems of the humid tropical zone deltas and their<br />
implications: proceedi+»<br />
50 «Incl. bibl.»<br />
69 «Paper on:<br />
Programmi di utilità CISIS: manuale di riferimento Programma di utilità MX<br />
mx CDS now -all mfrl<br />
MFN=1 -> MFRmfrl=408<br />
MFN=3 -> MFRmfrl=450<br />
MFN=21 -> MFRmfrl=452<br />
MFN=27 -> MFRmfrl=822<br />
MFN=104 -> MFRmfrl=980<br />
MX: codice di fine esecuzione<br />
MX conclude l’esecuzione con valore d’output 1 o 0 a secon<strong>da</strong> che si sia verificato<br />
o meno un errore. Questo codice di fine esecuzione può venire usato per il<br />
controllo dello svolgimento delle procedure batch (errorlevel in MS-DOS).<br />
109
MXF0 - Programma<br />
Programmi d’utilità del<br />
master file<br />
Il programma MXF0 analizza tutti i record di un master file, producendo<br />
informazioni sui suoi campi e sulla frequenza dei caratteri.<br />
Il risultato dell’esecuzione del MXF0 è un master file con un record che contiene le<br />
seguenti informazioni:<br />
• Nome della base <strong>da</strong>ti, <strong>da</strong>ta, ora, numero di record, numero di record attivi,<br />
numero di record cancellati logicamente e numero di record cancellati<br />
fisicamente.<br />
• Per ogni diverso tag di campo trovato nei record in entrata presenta<br />
un’occorrenza di un campo ripetibile che contiene: l’etichetta (tag), la<br />
frequenza, il totale delle occorrenze, lunghezza maggiore e minore e quantità<br />
totale dei caratteri.<br />
• Un campo ripetibile con un’occorrenza per ogni carattere differente trovato nei<br />
<strong>da</strong>ti in ingresso, la sua codifica esadecimale e il numero di volte che compare.<br />
Questo programma d’utilità può venire usato per produrre un elenco di etichette<br />
dei campi presenti in una base di <strong>da</strong>ti. Serve anche per verificare se:<br />
• campi <strong>obbligatori</strong> sono presenti,<br />
• campi non ripetibili ricorrono più di una volta nello stesso record,<br />
110
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
• campi a lunghezza fissa (come le <strong>da</strong>te normalizzate) sono della giusta<br />
lunghezza, etc.<br />
MXF0 - Presentazione<br />
La seguente linea tratta il master file cds ubicato nella directory \cisis\cds,<br />
reinizializza il master file x (nella directory corrente) e memorizza il risultato nel<br />
primo record, come mostrato qui di seguito:<br />
mxf0 \cisis\cds\cds create=x 0<br />
Il record che ne risulta nella base x è<br />
mfn= 1<br />
1001 «cds»<br />
1003 «20051014 09:44:40 Fri»<br />
1009 « 149»<br />
1010 « 149»<br />
1011 « 0»<br />
1012 « 0»<br />
1013 « 150»<br />
1020 «^t024^d 148^o 148^l 6^u 179^n 9589»<br />
1020 «^t025^d 5^o 7^l 2^u 22^n 55»<br />
1020 «^t026^d 147^o 148^l 6^u 101^n 2897»<br />
1020 «^t030^d 146^o 146^l 6^u 36^n 2484»<br />
1020 «^t044^d 80^o 80^l 22^u 112^n 7525»<br />
1020 «^t050^d 99^o 99^l 11^u 209^n 2043»<br />
1020 «^t069^d 148^o 1134^l 3^u 36^n 16318»<br />
1020 «^t070^d 121^o 163^l 8^u 35^n 2493»<br />
1030 «^tall^x20^n 4516»<br />
1030 «^tall^x22^n 8»<br />
1030 «^tall^x27^n 29»<br />
...<br />
1030 «^tall^xa1^n 10»<br />
1030 «^tall^xa2^n 10»<br />
..x<br />
Questo record documenta che il master file \cisis\cds\cds contiene 149 record<br />
attivi, e 8 campi <strong>da</strong>ti con etichetta: 24, 25, 26, 30, 44, 50, 69 e 70.<br />
111
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Il campo con tag 24 (titolo) occorre una volta in ciascuno dei 148 record che lo<br />
contengono (l’occorrenza più breve ha 6 caratteri di lunghezza, la più lunga 179, e<br />
nell’insieme queste occorrenze assommano a 9589 byte).<br />
Il campo 70 (autore) manca in 27 record, e annovera in totale 163 occorrenze.<br />
Considerando tutti i campi <strong>da</strong>ti di \cisis\cds\cds, il carattere con codice 20<br />
(carattere di spaziatura in esadecimale, in ASCII decimale: 2x16 + 0 = 32) ricorre<br />
4.516 volte. Mentre, il carattere con codice esadecimale a1 (i con accento acuto, in<br />
ASCII decimale: 10x16+1=161) , solamente 10 volte.<br />
MXF0 - Sintassi<br />
mxf0 [create=] [] [noedit] [tell=]<br />
I parametri devono venire elencati nell’ordine indicato, ad esempio:<br />
mxf0 cds create=x noedit 0<br />
provocherà errore, la forma corretta di indicarlo è:<br />
mxf0 cds create=x 0 noedit<br />
<strong>Parametri</strong> <strong>obbligatori</strong><br />
Nome del master file in entrata (input)<br />
Master file sul quale verrà condotta l’analisi<br />
Nome del master file di uscita<br />
<br />
<br />
<br />
112
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Master file di uscita, è il master file che contiene la tavola generata. Se già esiste<br />
un master file con questo nome i record si sommeranno.<br />
Creare master file di uscita (output)<br />
create=<br />
Il master file di output viene così creato. Se esiste un master file con questo nome<br />
tutti i suoi <strong>da</strong>ti andranno perduti.<br />
Numero di record approssimativo<br />
<br />
Numero dei record del master file in entrata. Se lo si ignora e lo si vuole indicare,<br />
deve essere zero. Quando il parametro è diverso <strong>da</strong> zero, il programma conclude<br />
l’esecuzione con codice di fine uguale a zero solamente se il numero di record letti<br />
è uguale al valore del parametro.<br />
<strong>Parametri</strong> facoltativi<br />
Eliminazione di spazi (blanks)<br />
[noedit] [tell=]<br />
noedit<br />
Quando è presente sopprime tutti gli spazi a sinistra (in testa) nei campi dei <strong>da</strong>ti in<br />
uscita.<br />
Quando questo parametro non è presente (situazione per default), il programma<br />
utilizza una lunghezza per i campi, allineando con spazi a sinistra (in testa al<br />
campo).<br />
113
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Informazioni relative all’esecuzione della procedura<br />
Invia un messaggio di stato allo stderr (stan<strong>da</strong>rd error) ogni record.<br />
! Questo<br />
MXF0 – Uscita (output)<br />
Il record di uscita di MXFO contiene i seguenti campi:<br />
tell=<br />
parametro viene illustrato in dettaglio<br />
nella Appendice I <strong>Parametri</strong> di uso generale.<br />
TAG CONTENUTO<br />
1001 Nome del master file in ingresso.<br />
1003 Data e ora.<br />
1009 Numero di record trattati.<br />
1010 Numero di record attivi.<br />
1011 Numero di record logicamente cancellati.<br />
1012 Numero di record fisicamente cancellati.<br />
1013 Prossimo MFN <strong>da</strong> assegnare.<br />
1020 ^tTAG ^dDOCS ^oOCCS ^lMINLEN ^uMAXLEN ^nDATA BYTES<br />
1030 ^tall ^xCHRCODE ^nCHRFREQ<br />
Il campo ripetibile 1020 presenta una occorrenza per ciascuna etichetta di campo<br />
differente trovata nei record in entrata:<br />
SOTTOCAMPO CONTENUTO<br />
TAG Etichetta.<br />
DOCS Numero di record che contengono TAG.<br />
OCCS Totale delle occorrenze<br />
MINLEN Lunghezza minima.<br />
MAXLEN Lunghezza massima.<br />
DATA BYTES Totale dei caratteri<br />
Il campo ripetibile 1030 contiene una singola occorrenza per ciascun carattere<br />
differente trovato nella totalità dei campi <strong>da</strong>ti dell’input:<br />
SOTTOCAMPO CONTENUTO<br />
CHRCODE Codice del carattere, in formato esadecimale (x00-xFF)<br />
CHRFREQ Frequenza del codice.<br />
114
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
MXTB - Programma<br />
Il programma MXTB consente di fare calcoli sul contenuto dei campi, per esempio,<br />
quantità di volte che compare ciascun autore, quantità di volte che compare<br />
ciascun descrittore, quantità di volte che compaiono un autore e un titolo di rivista<br />
(insieme), etc.<br />
Il risultato dell’esecuzione di MXTB è un master file con un record per ogni<br />
parola/frase differente trovata. Ogni record contiene, fra gli altri <strong>da</strong>ti, stringa di<br />
caratteri, frequenza, etc.<br />
MXTB è un programma di tabulazione per colonne multiple per record del master<br />
file, che definisce le chiavi di tabulazione mediante il linguaggio di formattazione.<br />
A mano a mano che i record vengono letti, il formato viene eseguito e i <strong>da</strong>ti che<br />
scaturiscono vengono assunti come valori per le corrispondenti chiavi di<br />
tabulazione.<br />
Tutte le n-tuple possibili vengono tabulate e, alla fine, assegnate come singoli<br />
record del master file insieme alle loro frequenze.<br />
Il processo di tabulazione si compie in memoria, usando una tecnica di hashing.<br />
Ciò esige una quantità di memoria sufficiente per caricare tutte le n-tuple generate,<br />
le loro frequenze, ed anche dello spazio supplementare. Quanto più grande sarà<br />
questo spazio tanto più rapi<strong>da</strong> sarà l’esecuzione (lo si vedrà in maniera più<br />
accurata quando si illustrerà il parametro class, oltre in questo stesso capitolo).<br />
Questo programma d’utilità può venire impiegato per produrre tabelle cumulative<br />
di determinati <strong>da</strong>ti memorizzati nel master file. Per esempio: una lista di autori<br />
recante le frequenze con cui compaiono in una base <strong>da</strong>ti bibliografica, o un loro<br />
elenco con ripartizione per anno di pubblicazione o un altro criterio.<br />
Facoltativamente MXTB può assumere un’istruzione supplementare di formato<br />
per ottenere un valore <strong>da</strong> usare nella procedura di tabulazione. In questo caso<br />
l’informazione numerica di output equivale alla somma di tali valori per una ntupla<br />
in particolare.<br />
115
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
MXTB - Presentazione<br />
mxtb \cisis\cds\cds create=frecaut 40:(v70/)<br />
Questa riga di comandi scrive un record nel master file frecaut per ciascuna<br />
diversa occorrenza del campo 70 in \cisis\cds\cds, come mostrato qui di seguito:<br />
MFN 1<br />
1 «Magalhaes, A.C.»<br />
998 «999999997»<br />
999 «2»<br />
MFN 2<br />
1 «Franco, C.M.»<br />
998 «999999998»<br />
999 «1»<br />
...<br />
Campi dei record di frecaut:<br />
TAG CONTENUTO<br />
1 Stringa di caratteri <strong>da</strong> contare, nell’esempio, un autore generato <strong>da</strong>l formato<br />
(v70/).<br />
(categoria)<br />
998 Massimo possibile di occorrenze di una categoria meno la frequenza trovata.<br />
(999999999 - frequenza)<br />
999 Numero di volte che ricorre il contenuto del campo con TAG 1 di frecaut nel file di<br />
input \cisis\cds\cds.<br />
(frequenza)<br />
Il campo 998 offre una maniera semplice per redigere liste in ordine discendente<br />
di categoria trovata (per esempio con il comando MSRT freqaut 10 v998).<br />
MXTB può parimenti assumere un valore esterno <strong>da</strong> tabulare, ciò significa che<br />
invece di addizionare il valore uno per ciascuna occorrenza trovata può sommare<br />
un valore inserito tramite un formato, senza che questo valore debba essere fisso,<br />
può trattarsi di un campo della medesima base <strong>da</strong>ti o di un’altra, Dove il contenuto<br />
del campo 999 sarà la somma dei valori trovati in ciascun caso.<br />
116
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Esempi di utilizzazione di MXTB<br />
Nella base <strong>da</strong>ti sono memorizzati il prezzo dei documenti, la <strong>da</strong>ta di acquisto e il<br />
settore a cui appartengono. Si può formare una tavola che contenga –per<br />
esempio– i soldi spesi in documenti durante l’ultimo anno per ciascun settore.<br />
Supponendo che in mezzo ai <strong>da</strong>ti immessi nei record figuri il costo del documento<br />
e la casa editrice, con MXTB si può facilmente creare una tabella che contenga la<br />
casa editrice e la somma versatale.<br />
mxtb holdings x 40:(v26^b/) tab=v90<br />
Per i primi 40 caratteri di ogni diverso editore memorizzato come sottocampo ^b<br />
del campo 26 nella base holdings, scrive un record nella base x, come mostrato qui<br />
di seguito:<br />
MFN 1<br />
1 «Unesco Press»<br />
998 «999993999»<br />
999 «6000»<br />
MFN 2<br />
1 «ESCAP»<br />
998 «999999969»<br />
999 «30»<br />
MFN 3<br />
1 «Praeger Publishers»<br />
998 «999999599»<br />
999 «400»<br />
...<br />
L’esempio pone nel campo 999 la somma del contenuto del campo v90 di ogni<br />
categoria, così –invece di sommare 1 per ciascun elemento trovato– somma<br />
quanto registrato nel campo 90. Per usare il parametro tab il campo 90 di tutti i<br />
record deve contenere un valor numerico, reciprocamente i record i cui campi 90<br />
non contengano un valore numerico non saranno tenuti in conto.<br />
117
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
MXTB - Sintassi<br />
mxtb [create=] [ [...]] [ [...]]<br />
keys: keylen:key_fmtspec<br />
options: {from|to|loop|count|tell|btell}=<br />
tab=<br />
class=1000<br />
bool=<br />
{min|max}{avg|freq}= -<br />
uctab={|ansi}<br />
Ex: mxtb in out len1:fmt1 len2:fmt2 len3:fmt3<br />
out = 1 key/key1_value (max len1 chars)<br />
2 key/key2_value (max len2 chars)<br />
3 key/key3_value (max len3 chars)<br />
998 999999999 - key_frequency<br />
999 key_frequency<br />
Ex: mxtb in out len:fmt tab=Vtag<br />
out = 1 key_value (max len chars)<br />
998 999999999 - Vtag_subtotal<br />
999 Vtag_subtotal<br />
!<br />
<strong>Parametri</strong> <strong>obbligatori</strong><br />
Nome del master file in entrata (input)<br />
I parametri vanno indicati nell’ordine prescritto,<br />
e cioè: , poi e infine le<br />
opzioni, in caso contrario si genereranno errori.<br />
<br />
<br />
118
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Nome del master file <strong>da</strong> cui MXTB ottiene i <strong>da</strong>ti per generare la tavola.<br />
Nome del master file di uscita (output)<br />
<br />
Il master file di uscita è il master file che contiene la tavola generata. Se già esiste<br />
un master file con questo nome i record si sommeranno.<br />
Creare un master file di uscita (output)<br />
create=<br />
Il master file di output viene creato. Se esiste un master file con questo nome tutti<br />
i suoi <strong>da</strong>ti andranno persi.<br />
Chiave<br />
<br />
Il parametro si applica ad ogni chiave di tabulazione fino ad un massimo di<br />
8, e ha questa sintassi:<br />
:<br />
Lunghezza massima della chiave<br />
<br />
è la quantità massima di caratteri restituita <strong>da</strong>ll’istruzione di formato<br />
. Ciò significa che se la stringa di caratteri generata <strong>da</strong><br />
è maggiore di , si prendono in considerazione solo i<br />
primi caratteri.<br />
119
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Formato che specifica la chiave<br />
Parametro <br />
E’ il formato che genera le chiavi di tabulazione. Per esempio, per tabulare per<br />
editore il formato deve generare gli editori, uno per linea. arámetros opcionale<br />
<strong>Parametri</strong> facoltativi<br />
!<br />
Trattare il risultato di una ricerca<br />
bool=<br />
{from|to|loop|count|tell|btell}=<br />
tab=<br />
class=<br />
I parametri from, to, loop, count, tell e btell<br />
vengono illustrati nell’Appendice I <strong>Parametri</strong> di<br />
uso generale.<br />
Si può tabulare il risultato di una ricerca, indicando il parametro bool e<br />
bool=<br />
l’espressione booleana. Ciò permette, per esempio, di contare tutti i libri che<br />
esibiscano una determinata proprietà: tutte le riviste della casa editrice X o tutti i<br />
libri di un certo settore e il costo totale, etc.<br />
Tabulazione del risultato del formato<br />
tab=<br />
Il valore per default di tabulazione (se non si specifica tab) è 1. Ciò fa sì che MXTB<br />
addizioni il valor 1 ad una categoria per ciascuna occorrenza trovata.<br />
120
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
tab permette di cambiare il valore per default tramite un formato, che può<br />
specificare un valore costante (come '5'), o può specificare un campo <strong>da</strong> cui trarre<br />
il valore (per esempio il campo prezzo di una base <strong>da</strong>ti relativa a libri).<br />
tab permette di realizzare tavole che contengano, ad esempio, le somme che la<br />
biblioteca ha investito in libri e riviste ripartite per ciascun settore.<br />
Il formato deve produrre una stringa di caratteri,<br />
!<br />
e non un numero. Per effettuare dei calcoli, si<br />
devono usare funzioni di formato come<br />
val() che convertono stringhe di<br />
caratteri in valori numerici. Poi va applicata la<br />
funzione di formato f(,1,0) che converte<br />
valori numerici in stringhe di caratteri.<br />
Se non restituisce un stringa che<br />
sia possibile convertire in un numero il record<br />
viene scartato.<br />
Numero di categorie<br />
Assegna spazio a fino a categorie perché vengano tabulate.<br />
Il valore per default per questo parametro è 1000.<br />
class=<br />
A beneficio dell’hashing, si raccoman<strong>da</strong> di indicare un parametro class con un<br />
valore compreso fra 2 3 volte il numero atteso di categorie.<br />
! E’ possibile visualizzare la quantità di memoria<br />
disponibile grazie al parametro facoltativo trace.<br />
MXTB – Uscita (output)<br />
I record di uscita di MXTB sono composti dei seguenti campi:<br />
MFN n<br />
TAG CONTENUTO<br />
1 Valore prodotto <strong>da</strong> , fino [characteres]<br />
2 Valore prodotto <strong>da</strong> , fino [characteres]<br />
121
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
3 Valore prodotto <strong>da</strong> , fino [characteres]<br />
998 Valore 999999999 meno il valore del campo 999<br />
999 Frequenza per la categoria formata <strong>da</strong>i campi 1, 2, 3, ...<br />
Quando si usa l’opzione tab= il campo 999 contiene la somma dei<br />
valori prodotti <strong>da</strong>ll’istruzione di formato per ogni record<br />
appartenente a quella categoria.<br />
I record che non generano output a fronte della prima istruzione vengono<br />
scartati e pertanto non inclusi nella tabulazione.<br />
MXCP - Presentazione<br />
Il comando:<br />
mxcp \cisis\cds\cds create=x clean undelete<br />
Reinizializza il master file x (nella directory corrente) e copia tutti i record del<br />
master file cds situato nella directory \cisis\cds.<br />
Dato che è stata inserita l’opzione clean nessun campo <strong>da</strong>ti nel master file x<br />
conterrà spazi bianchi all’inizio o alla fine. Inoltre, ogni carattere non stampabile<br />
presente nei campi in entrata verrà convertito in un carattere di spazio in output.<br />
E visto che si è formulata l’opzione undelete, tutti i record logicamente distrutti del<br />
master file \cisis\cds\cds ridiverranno attivi nel master file x.<br />
MXCP può convertire in ripetibili campi che non lo sono, a condizione che<br />
compaia un carattere separatore dei <strong>da</strong>ti.<br />
Nel seguente esempio MXCP converte in ripetibile il campo con tag 70 che<br />
contiene il segno ";" come delimitatore di occorrenza del campo.<br />
mxcp in create=out repeat=;,70<br />
Per quest’esempio assumiamo che i record 1 e 2 della base in contengano nel<br />
campo con tag 70:<br />
MFN 1<br />
70 «Magalhaes, A.C.; Franco, C.M.»<br />
MFN 2<br />
122
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
70 «Bosian, G.»<br />
Di conseguenza in out (il master file che ne risulta) i record presenteranno questa<br />
struttura:<br />
MFN 1<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
MFN 2<br />
70 «Bosian G.»<br />
Anche quando si usa il parametro repeat MXCP attua la sua operazione di<br />
"pulizia".<br />
Se non viene specificato alcun TAG (etichetta) nel parametro repeat tutti i campi<br />
presenti verranno presi in considerazione:<br />
mxcp in create=out repeat=%<br />
Può anche venire indicata una lista di campi:<br />
mxcp in create=out repeat=%,70,99,100,200<br />
Un intervallo:<br />
mxcp in create=out repeat=%,99/105<br />
O usati entrambi i criteri:<br />
mxcp in create=out repeat=%,70,99/105,110<br />
Altra caratteristica di MXCP è quella di sopprimere i segni di punteggiatura in fine<br />
campo. L’esempio seguente elimina il punto finale nel campo 70:<br />
mxcp in create=out period=.,70<br />
Per esempio supponiamo che i record 1 e 2 della base in contengano dentro al<br />
campo con tag 70:<br />
MFN 1<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
MFN 2<br />
«Bosian G.»<br />
«xxx.»<br />
Pertanto in out (il master file risultante) i record diventano:<br />
123
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
MFN 1<br />
70 «Magalhaes, A.C»<br />
70 «Franco, C.M»<br />
MFN 2<br />
«Bosian G»<br />
«xxx.»<br />
MXCP attua anche un’operazione di cambi di modelli, facendo sì che i contenuti<br />
dei campi in ingresso indicati vengano modificati via via che vengono letti.<br />
Digitando esattamente quanto qui sotto riportato (e chiudendo ogni riga con<br />
) si crea una tabella di conversione per rimpiazzare le parentesi angolari<br />
col segno di percentuale (%):<br />
mx seq=con create=xtable -all now<br />
|<br />
>
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
69 «plant physiology»<br />
69 «plant transpiration»<br />
69 «measurement and instruments»<br />
MXCP - Sintassi<br />
mxcp {in=|} [create=] [ [...]]<br />
options: {from|to|loop|count|tell|offset}=<br />
gizmo=[,tag_list>]<br />
undelete<br />
clean [mintag=1] [maxtag=9999]<br />
period=.[,]<br />
repeat=%[,]<br />
log=<br />
Ex: mxcp in create=out clean period=.,3 repeat=;,7<br />
in = 3 « Field 3 occ 1. »<br />
3 «Field 3 occ 2 . »<br />
7 « Field 7/1;Field 7/2 ;Field 7/3.»<br />
out = 3 «Field 3 occ 1»<br />
3 «Field 3 occ 2»<br />
7 «Field 7/1»<br />
7 «Field 7/2»<br />
7 «Field 7/3.»<br />
I parametri utilizzati vanno indicati nell’ordine stipulato, prim poi<br />
e in ultimo le opzioni, altrimenti si genera una situazione di errore.<br />
Nome del master file in entrata (input)<br />
Master file di input.<br />
<br />
125
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Nome del master file di uscita (output)<br />
<br />
Il master file di output è l’ambito in cui verranno copiati i record provenienti <strong>da</strong><br />
dbin.<br />
Se dbout non esiste ciò provocherà errore; per crearlo si deve utilizzare il<br />
parametro create, che viene illustrato qui di seguito.<br />
Crear master file di uscita (output)<br />
create=<br />
Quando il master file di uscita non esiste lo si può creare mediante questo<br />
parametro.<br />
Se dbout esiste già tutti i suoi <strong>da</strong>ti andranno persi, visto che la base <strong>da</strong>ti di uscita<br />
viene inizializzata prima di copiarvi dentro i record.<br />
<strong>Parametri</strong> facoltativi [option]<br />
{from|to|loop|count|tell|offset}=<br />
undelete<br />
gizmo=[,tag_list>]<br />
period=.[,]<br />
repeat=%[,]<br />
clean [mintag=1] [maxtag=9999]<br />
log=<br />
I parametri from, to, loop, count, tell e offset vengono illustrati nell’Appendice I<br />
<strong>Parametri</strong> di uso generale.<br />
126
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Recuperare record cancellati<br />
Recupera i record del master file (ossia rende nuovamente attivi i record in<br />
ingresso che sono logicamente cancellati).<br />
mxcp cds newcds undelete<br />
Cambiamento globale di modelli<br />
undelete<br />
gizmo=[,]<br />
Applica una procedura gizmo ai <strong>da</strong>ti in ingresso, usando il master file dbgiz come<br />
tavola gizmo; può venire applicato a tutti i campi di un record o solo ai campi<br />
specificati in .<br />
La lista può venire formulata nei modi seguenti:<br />
• Un’etichetta.<br />
• Una lista di etichette separate <strong>da</strong> virgola.<br />
• Un intervallo di etichette nella forma valore inferiore / valore superiore.<br />
• Una combinazione di queste opzioni.<br />
Se si indicano più gizmo=[,], il secondo agisce sul risultato<br />
dell’azione del primo gizmo, e così di seguito.<br />
mxcp cds newcds gizmo=xtable<br />
mxcp cds newcds gizmo=xtable,24,50/70<br />
Ilparametro gizmo viene trattato diffusamente nell’Appendice I <strong>Parametri</strong> di uso<br />
generale.<br />
Soppressione di segni di punteggiatura<br />
period=[,]<br />
MXCP dà modo di sopprimere il carattere come segno di punteggiatura<br />
finale; può venire applicato a tutti i campi di un record o solo ai campi che<br />
vengono elencati in .<br />
La lista può venire formulata nei modi seguenti:<br />
127
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
• Un’etichetta.<br />
• Una lista di etichette separate <strong>da</strong> virgola.<br />
• Un intervallo di etichette nella forma valore inferiore / valore superiore.<br />
• Una combinazione di queste opzioni.<br />
mxcp cds newcds period=;<br />
mxcp cds newcds period=;,24,50/60,70<br />
Convertire campi in ripetibili<br />
repeat=[,]<br />
Converte in ripetibili i campi in ingresso che contengono come<br />
delimitatore; può venire applicato a tutti i campi di un record o solo ai campi<br />
specificati in .<br />
La lista può venire formulata nei modi seguenti:<br />
• Un’etichetta.<br />
• Una lista di etichette separate <strong>da</strong> virgola.<br />
• Un intervallo di etichette nella forma valore inferiore / valore superiore.<br />
• Una combinazione di queste opzioni.<br />
mxcp cds newcds period=;<br />
mxcp cds newcds period=;,24,50/60,70<br />
Eliminazione degli spazi (blanks)<br />
clean<br />
Sopprime tutti gli spazi bianchi in inizio e fine campo e sostituisce tutti i caratteri<br />
non stampabili con blanks.<br />
Se si indica repeat o period l’opzione clean viene automaticamente attivata.<br />
L’opzione clean verte su tutti i campi del record.<br />
mxcp cds newcds clean<br />
! Non<br />
è possibile usare clean nei confronti di una<br />
selezione di campi.<br />
128
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Eliminazione di campi in base al TAG<br />
mintag=<br />
Cancella tutte le occorrenze dei campi con tag inferiore a . Per default n=1<br />
mxcp cds newcds mintag=10<br />
maxtag=<br />
Cancella tutte le occorrenze dei campi con tag superiore a . Per default n=9999<br />
mxcp cds newcds maxtag=70<br />
Registrare i messaggi di sistema<br />
Invia i messaggi di controllo e di stato al file .<br />
MXCP – Uscita (output)<br />
log=<br />
MXCP non genera output con record vuoti. I record privi di campi in ingresso o<br />
dopo l’elaborazione vengono scartati. I record logicamente cancellati vengono<br />
trattati solo se si usa l’opzione undelete.<br />
Si può usare lo stesso master file tanto per l’input che per l’output, ancorché un<br />
master file potrà venire riorganizzato solo se lo si copia su uno nuovo. L’opzione<br />
create= fa sì che venga creato o reinizializzato.<br />
Il comando:<br />
mxcp in create=out period=.,3 repeat=;,7<br />
per il master file in:<br />
MFN 1<br />
3 «Field 3 occ 1. »<br />
3 «Field 3 occ 2 .»<br />
7 «Field 7/1; Field 7/2; Field 7/3.»<br />
MFN 2<br />
...<br />
129
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Crea out con:<br />
MFN 1<br />
3 «Field 3 occ 1»<br />
3 «Field 3 occ 2»<br />
7 «Field 7/1»<br />
7 «Field 7/2»<br />
7 «Field 7/3»<br />
MFN 2<br />
...<br />
Produce i seguenti messaggi:<br />
*** mfn 1 tag=3/1 -> rejected char<br />
*** mfn 1 tag=3/1 -> rejected char<br />
*** mfn 1 tag=3/1 . -> rejected char<br />
*** mfn 1 tag=3/2 -> rejected char<br />
*** mfn 1 tag=3/2 . -> rejected char<br />
*** mfn 1 tag=3/2 -> rejected char<br />
*** mfn 1 tag=7/1 -> rejected char<br />
MSRT - Programma<br />
Il programma MSRT ordina un master file, in sequenza ascendente, utilizzando le<br />
chiavi di sort generate <strong>da</strong> una determinata istruzione di formato.<br />
Dopo che un master file è stato ordinato, il record con mfn=1 contiene la chiave<br />
d’ordinamento più bassa, il record con mfn=2 quella seguente e appena superiore<br />
e così via.<br />
MSRT - Presentazione<br />
Il comando:<br />
msrt \cisis\cds\cds 60 mhu,v24<br />
ordina il master file cds ubicato nella directory \cisis\cds in base ai primi 60<br />
caratteri del campo 24 (dopo averlo volto in lettere maiuscole).<br />
130
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Il comando:<br />
msrt mxtb_out 9 v998<br />
ordina il master file mxtb_out in base ai valori memorizzati nel campo 998<br />
(ammesso che sia a lunghezza fissa e con degli zero a sinistra per l’ allineamento).<br />
Mentre il comando:<br />
msrt mxtb_out 9 f(999999999-val(v999),9,0)<br />
ordina il master file mxtb_out in sequenza discendente, in base al valore numerico<br />
registrato nel campo 999.<br />
MSRT - Sintassi<br />
msrt [-mfn] [tell=]<br />
I parametri indicati devono essere nell’ordine prefissato, e cioè ,<br />
, poi ed infine le opzioni, in caso contrario si genera errore.<br />
<strong>Parametri</strong> <strong>obbligatori</strong>:<br />
Nome del master file in entrata (input)<br />
Master file che verrà ordinato in base a sé stesso.<br />
Lunghezza massima della chiave<br />
Numero massimo dei caratteri <strong>da</strong> considerare.<br />
<br />
<br />
<br />
131
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Generazione della chiave<br />
Formato che applicato ai record genera le chiavi di ordinamento.<br />
| tag=<br />
Per potere indicare un campo <strong>da</strong>ti come chiave di ordinamento, senza per questo<br />
dovere eseguire un formato, occorre porre il parametro come tag=.<br />
<strong>Parametri</strong> facoltativi<br />
Il parametro tell verrà illustrato in dettaglio nell’Appendice I <strong>Parametri</strong> di uso<br />
generale.<br />
Mantenere gli MFNs originali<br />
-mfn<br />
+del<br />
tell=<br />
Conserva gli MFN originali. Per default i record vengono rinumerati, dopo essere<br />
stati ordinati.<br />
Eliminare le chiavi identiche<br />
Dopo avere ordinato i record elimina le chiavi di ordinamento uguali in record<br />
consecutivi.<br />
-mfn<br />
+del<br />
132
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
MSRT – Uscita (output)<br />
Quando si ordina un master file, il programma MSRT aggiorna solamente il .xrf,<br />
scambiando le entrate corrispondenti di ciascun paio di record che vengono<br />
ordinati.<br />
Alla fine della procedura, a meno che non si utilizzi l’opzione -mfn, il file .mst<br />
viene aggiornato, assegnando i numeri di record al campo mfn del leader del<br />
record.<br />
Questo aggiornamento ha luogo nello stesso spazio fisico dei record, il che significa<br />
che i record vengono modificati lì dove si trovano e conseguentemente<br />
l’organizzazione del master file elaborato non muta. In questa maniera si<br />
risparmia il tempo che si spenderebbe a scrivere tutti i record ordinati nel master<br />
file.<br />
RETAG - Programma<br />
Il programma RETAG cambia il tag dei campi del master file, in base ad una<br />
determinata tabella di rinumerazione. Si può effettuare anche lo sblocco (unlock)<br />
del master file.<br />
Le operazioni effettuate <strong>da</strong> RETAG sono compiute sul medesimo record, il che<br />
significa che i record vengono modificati nella loro posizione fisica originaria e che<br />
pertanto l’organizzazione del master file trattato non muta.<br />
RETAG - Presentazione<br />
Il comando:<br />
retag \cisis\cds\cds xtable<br />
Tratta tutti i record attivi del master file cds situato nella cartella \cisis\cds,<br />
riscrivendo la porzione della directory dei record corrispondenti conformemente<br />
ad una tavola xtable di rinumerazione de tag situata nella directory corrente del<br />
disco.<br />
133
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Una tavola di rinumerazione è un file sequenziale recante una linea per ciascun<br />
TAG <strong>da</strong> rinumerare, come illustrato qui sotto:<br />
24 240<br />
70 700<br />
69 690<br />
Il comando precedente trasforma il tag 24 in 240, il tag 70 in 700, e il tag 69 in<br />
690.<br />
In tale esempio vengono riscritti unicamente i record che contengono almeno<br />
un’occorrenza dei tag 24, 70 o 69.<br />
Inoltre il programma RETAG può venire usato per neutralizzare i blocchi del<br />
master file.<br />
Il comando:<br />
retag \cisis\cds\cds unlock<br />
invece di specificare una tavola di rinumerazione di etichette, usa la parola chiave<br />
unlock, che inibisce gli exclusive write lock o <strong>da</strong>ta entry locks e tutti i record locks<br />
esistenti nel master file cds ubicato nella directory \cisis\cds.<br />
RETAG - Sintassi<br />
retag {|unlock} [ [...]]<br />
<strong>Parametri</strong> <strong>obbligatori</strong><br />
Master file in entrata (input)<br />
<br />
Master file che deve subire mutamenti di TAG o che deve venire sbloccato<br />
(unlocked).<br />
<br />
134
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Tavola di rinumerazione<br />
<br />
Nome di un file sequenziale contenente una tavola di ri-etichettatura, oppure la<br />
parola chiave unlock.<br />
Se consiste di unlock ciò indica al programma che il master file va<br />
sbloccato.<br />
Una tavola per ribattezzare le etichette ha il seguente formato:<br />
<br />
Può contenere fino a 5.461 voci nella versione stan<strong>da</strong>rd.<br />
<strong>Parametri</strong> facoltativi<br />
from=<br />
to=<br />
tell=<br />
shift=<br />
I parametri from, to, shift e tell vengono trattati nell’Appendice I <strong>Parametri</strong> di uso<br />
generale.<br />
RETAG – Uscita (output)<br />
Le operazioni di RETAG vengono effettuate sul medesimo record fisico (in-place),<br />
a prescindere <strong>da</strong>l fatto che si tratti di un’alterazione di TAG o di uno sblocco.<br />
Nell’operazione di ri-etichettatura viene riscritta unicamente la porzione di<br />
directory dei record interessati.<br />
135
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Nell’operazione di sblocco si riscrive unicamente il record di controllo del master<br />
file e il segmento leader dei record trattati.<br />
CTLMFN - Programma<br />
Il programma CTLMFN visualizza ed aggiorna il record di controllo di un master<br />
file.<br />
Va usato prima di man<strong>da</strong>re in esecuzione il programma MKXRF per ripristinare<br />
tutti i record attivi in un master file reinizializzato logicamente, per stabilire il<br />
numero seguente <strong>da</strong> assegnare nel master file e definire la quantità di <strong>da</strong>ti <strong>da</strong><br />
analizzare.<br />
CTLMFN - Presentazione<br />
Il comando:<br />
ctlmfn \cisis\bases\cds<br />
Legge il record di controllo del master file \cisis\bases\cds.mst e permette che<br />
vengano aggiornati tutti i campi di questo record. Tali campi sono i seguenti:<br />
CAMPO CONTENUTO<br />
nxtmfn MFN <strong>da</strong> assegnare al prossimo record che verrà creato nella base <strong>da</strong>ti.<br />
nxtmfb Ultimo numero di blocco assignato al master file (il primo blocco è 1).<br />
nxtmfp Successiva posizione disponibile nell’ultimo blocco del master file.<br />
mftype Per base <strong>da</strong>ti utente (1 per file di messaggi di sistema).<br />
reccnt Riservato.<br />
mfcxx1 Riservato.<br />
mfcxx2 Numero di utenti che immettono <strong>da</strong>ti (Data Entry Lock).<br />
mfcxx3 Exclusive Write Lock.<br />
Se si scrive un valore non valido per nxtmfb apparirà il numero totale di blocchi<br />
del master file.<br />
I comandi<br />
ctlmfn \cisis\bases\cds<br />
136
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
e<br />
mkxrf \cisis\bases\cds<br />
consentono di cambiare uno o più campi di controllo in \cisis\bases\cds.mst (record<br />
di <strong>da</strong>ti) e così di creare, reinizializzare e scrivere il file dei riferimenti incrociati<br />
\cisis\bases\cds.xrf.<br />
CTLMFN - Sintassi<br />
Nome del master file di entrata (input)<br />
ctlmfn [ok]<br />
Parametro <strong>obbligatori</strong>o che indica il master file che deve venire trattato.<br />
Prompt di conferma<br />
CTLMFN – Uscita (output)<br />
Il programma CTLMFN scrive solamente i primi byte (i byte del record di<br />
<br />
controllo) di un file .mst. I byte rimanenti del primo blocco del master file non<br />
vengono modificati.<br />
!<br />
ok<br />
Quando MicroISIS reinizializza logicamente un<br />
master file aggiorna il primo blocco completo del<br />
master file, cancellando i <strong>da</strong>ti ivi memorizzati.<br />
137
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
MKXRF - Programma<br />
Il programma MKXRF legge un file .mst e crea il corrispondente file .xrf.<br />
Inoltre lo si può utilizzare per ripristinare tutti i record attivi in un master file<br />
logicamente inizializzato.<br />
!<br />
MKXRF - Presentazione<br />
Il comando:<br />
mkxrf \cisis\bases\cds<br />
In generale occorre usare il programma CTLMFN<br />
prima di man<strong>da</strong>re in esecuzione MKXRF per<br />
definire il numero massimo di mfn del master file<br />
e la quantità di <strong>da</strong>ti <strong>da</strong> analizzare.<br />
Crea reinizializza e scrive il file dei riferimenti incrociati \cisis\bases\cds.xrf relativo<br />
al master file \cisis\bases\cds.mst.<br />
Il programma MKXRF può ripristinare un master file che sia stato inizializzato per<br />
errore, a condizione che il suo record di controllo contenga i seguenti campi di<br />
controllo in assetto appropriato:<br />
CAMPO CONTENUTO<br />
nxtmfn MFN <strong>da</strong> assegnare al prossimo record che verrà creato nella base <strong>da</strong>ti.<br />
nxtmfb Ultimo numero di blocco assegnato al master file (il primo blocco è 1).<br />
nxtmfp Successiva posizione disponibile nell’ultimo blocco del master file.<br />
Questi valori possono venire definiti servendosi del programma CTLMFN, come<br />
mostrano gli esempi seguenti:<br />
ctlmfn \cisis\bases\cds<br />
mkxrf \cisis\bases\cds<br />
Questi comandi consentono di cambiare uno o più campi di controllo nel file<br />
\cisis\bases\cds.mst (record di <strong>da</strong>ti) per creare, reinizializzare e scrivere i file dei<br />
riferimenti incrociati \cisis\bases\cds.xrf.<br />
Descrizione della esecuzione di CTLMFN nell’esempio:<br />
138
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
a) Se il numero nxtmfn non è noto, occorrerà definire un massimo mfn possibile<br />
(vedi oltre la spiegazione); si potrà poi ottenere il nxtmfn reale eseguendo il<br />
programma MXF0 (campo 1013)<br />
b) nxtmfb indica il numero di blocchi del master file \cisis\bases\cds.mst che<br />
verranno analizzati; se si scrive un valore non valido apparirà a schermo il<br />
numero totale dei blocchi.<br />
c) nxtmfp è l’ultima posizione nel blocco nxtmfb del master file che si sta<br />
analizzando; un valore di 512 forza MKXRF ad elaborare tutti i contenuti del<br />
blocco nxtmfb del master file.<br />
MKXRF - Sintassi<br />
mkxrf <br />
Master file di entrata (input)<br />
Nome del master file che deve venire trattato (parametro <strong>obbligatori</strong>o).<br />
MKXRF – Uscita (output)<br />
<br />
Il programma MKXRF legge il record di controllo e così esamina il file di input<br />
.mst fino alla posizione nxtmfb e nxtmfp; nello svolgere quest’operazione identifica<br />
un record del master file se le seguenti condizioni vengono rispettate nelle<br />
componenti del leader:<br />
a) MFRmfn collocato nell’intervallo fra 1 e (nxtmfn-1).<br />
b) MFRmfrl collocato nell’intervallo <strong>da</strong> LEADER a MAXMFRL.<br />
c) MFRbase è fino a MFRmfrl.<br />
d) MFRmfbwb punta ad una posizione precedente vali<strong>da</strong>.<br />
e) MFRmfbwp collocato nell’intervallo fra 0 e MSBSIZ.<br />
f) MFRnvf è zero o positivo.<br />
g) MFRstatus è ACTIVE o DELETED.<br />
h) MFRbase è uguale a LEADER + MFRnvf*sizeof(DIRSTRU).<br />
La posizione di ogni record del master file identificato viene scritta nel file .xrf che<br />
viene creato e include le versioni dei record vecchi.<br />
139
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
!<br />
Ripristinare una base <strong>da</strong>ti <strong>da</strong>nneggiata<br />
Quando MicroISIS reinizializza logicamente un<br />
master file si aggiorna completamente il primo<br />
blocco del master file, cancellando i <strong>da</strong>to che vi<br />
sono memorizzati.<br />
Qui di seguito si illustrano in dettaglio i passi <strong>da</strong> compiere per ripristinare una<br />
base <strong>da</strong>ti in ragione delle sue possibili condizioni problematiche:<br />
MST<br />
Situazione<br />
XRF Informazioni<br />
Azione<br />
OK Danneggiato MaxMFN<br />
sconosciuto<br />
Usare MKXRF.<br />
Reinizializzato OK Dimensione di<br />
XRF<br />
Calcolare un maxMFN e usare CTLMFN.<br />
Bloccato OK Usare CTLMFN, scrivere degli zero nei<br />
campi mfcxx2, mfcxx3<br />
Calcolo per approssimazione del MaxMFN<br />
Una stima approssimativa del valore massimo del numero di record (maxMFN) si<br />
ottiene calcolando:<br />
(dimensione_in_byte_di_XRF/512) * 127<br />
Se il valore di maxMFN che si indica è maggiore del numero reale dei record, non<br />
si creeranno record nulli né in .mst né in .xrf. Il file .xrf si scrive solo per quei<br />
record che possono venire letti dentro lo .mst. La base potrà venire letta senza<br />
problema però non si potrà aggiornarla (<strong>da</strong>rà l’errore fatal: recxref/read).<br />
Occorrerà correggere il maxMFN seguendo una di queste due strade:<br />
Prendere il valor "x recs" che viene indicato alla fine dell’esecuzione di MKXRF e<br />
poi memorizzare x + 1 nel nxtmfn tramite CTLMFN.<br />
Creare un altro master file (con create, e non con copy) a partire <strong>da</strong> quello di cui si<br />
dispone, allo scopo di correggere il record di controllo nel nuovo master file.<br />
140
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
ID2I - Programma<br />
Il programma I2ID recepisce un file ASCII, con una determinata struttura e genera<br />
un master file.<br />
ID2I - Presentazione<br />
Il programma recepisce un file ASCII e restituisce un file di tipo master file.<br />
Struttura del file ASCII:<br />
• !ID nnnnnn Marcatore di inizio del record con mfn=nnnnnn<br />
• !vnnn Marcatore di inizio di un’occorrenza del campo con tag nnn.<br />
Il file avrà la forma:<br />
!ID nnnnnn<br />
!vXXX!...contenuto del tag XXX.............<br />
!vYYY!...contenuto del tag YYY.............<br />
...<br />
!ID nnnnnj<br />
!vXXQ!...contenuto del tag XXQ.............<br />
!vYYQ!...contenuto del tag YYQ.............<br />
...<br />
Non v’è limite alla lunghezza delle linee del file di<br />
!<br />
testo. Un’occorrenza può utilizzare tutte le linee<br />
di cui ha bisogno.<br />
Un’occorrenza termina quando si incontra una<br />
linea che comincia con !vnnn! (che indica inizio di<br />
occorrenza) o con !ID NNNNNN (inizio di<br />
record).<br />
Esempio:<br />
id2i x.txt create=newcds<br />
L’idea è quella di utilizzare ID2I insieme a I2ID, che prende un master file e<br />
restituisce un file di testo (editabile e modificabile).<br />
141
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Mediante ID2I si converte il file di testo modificato in un master file:<br />
I2ID cds >x.txt<br />
Edit x.txt (Edita il contenuto consentendo di creare, modificare e cancellare<br />
record e occorrenze)<br />
ID2I x.txt create=cds<br />
ID2I - Sintassi<br />
! I2ID<br />
è illustrato analiticamente in un Capitolo a<br />
parte.<br />
id2i [create[/app]=] [option [option] ... ]<br />
options: {from|to|loop|count|offset|tell|id}=<br />
<strong>Parametri</strong> <strong>obbligatori</strong><br />
File ASCII in entrata (input)<br />
<br />
Si tratta di un file ASCII con la struttura che si è già vista nella presentazione.<br />
Nome del master file di uscita (output)<br />
Master file di uscita, dove si copieranno i record provenienti <strong>da</strong> filein.<br />
<br />
<br />
Se dbout non esiste <strong>da</strong>rà errore; per crearlo si deve utilizzare create. Se dbout<br />
esiste tutti i suoi <strong>da</strong>ti andranno perduti, <strong>da</strong>to che la base viene reinizializzata<br />
prima di copiarvi i record.<br />
142
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Creare master file di uscita (output)<br />
create/app=<br />
Crea il master file di uscita; se dbout esiste tutti i suoi <strong>da</strong>ti andranno perduti, <strong>da</strong>to<br />
che viene reinizializzato prima di copiarvi i record. L’opzione /app significa che si<br />
assegna una numerazione sequenziale.<br />
Inoltre non considera il <strong>da</strong>to di MFN nelle marcature di inizio record (!ID nnnnnn)<br />
e accetta marcature !ID 000000.<br />
<strong>Parametri</strong> facoltativi<br />
! Questi<br />
I2ID - Programma<br />
{from|to|loop|count|tell|offset|id}=<br />
parametri sono trattati nell’Appendice I<br />
<strong>Parametri</strong> di uso generale.<br />
Il programma I2ID riceve un master file e genera un file di testo.<br />
I2ID - Presentazione<br />
Il programma legge un master file e restituisce un file di testo con la seguente<br />
struttura:<br />
!ID nnnnnn Marcatura di inizio record con mfn=nnnnnn<br />
!vnnn Marcatura di inizio occorrenza del campo con<br />
tag nnn.<br />
File di testo restituito <strong>da</strong> I2ID:<br />
!ID nnnnnn<br />
!vXXX!...contenuto del tag XXX.............<br />
143
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
!vYYY!...contenuto del tag YYY.............<br />
...<br />
!ID nnnnnj<br />
!vXXQ!...contenuto del tag XXQ.............<br />
!vYYQ!...contenuto del tag YYQ.............<br />
...<br />
Non v’è limite alla lunghezza delle linee del file di testo. Un’occorrenza può<br />
utilizzare tutte le linee di cui ha bisogno.<br />
Un’occorrenza termina quando comincia una linea con !vnnn! (che indica inizio di<br />
occorrenza) o !ID NNNNNN (inizio di record).<br />
Esempio:<br />
I2ID cds >x.txt<br />
L’idea è quella di usare I2ID insieme a ID2I. Il primo restituisce un file di testo<br />
(che può venire editato e modificato) e poi, per mezzo di ID2I, si torna a convertire<br />
il file di testo in un master file.<br />
I2ID cds >x.txt<br />
edit x.txt<br />
(per editare il contenuto ad es. con l’edit di MS-DOS, si possono creare, modificare<br />
e cancellare record e occorrenze)<br />
ID2I x.txt create=cds<br />
ID2D viene illustrato in dettaglio in un Capitolo a parte.<br />
I2ID - Sintassi<br />
i2id [option [option] ... ]<br />
options: {from|to|loop|count|offset|tell}=<br />
1record==<br />
<strong>Parametri</strong> <strong>obbligatori</strong>:<br />
<br />
144
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità del master file<br />
Master file di entrata (input)<br />
Master file <strong>da</strong> convertire.<br />
<strong>Parametri</strong> facoltativi<br />
<br />
{from|to|loop|count|offset|tell}=<br />
Questi parametri sono trattati nell’Appendice I <strong>Parametri</strong> di uso generale.<br />
CRUNCHMF - Sintassi<br />
crunchmf [ [...]]<br />
Converte il master file (.mst e .xrf) <strong>da</strong> un sistema operativo a un altro, visto che<br />
che la struttura in codice binario non è compatible attraverso diversi sistemi<br />
operativi. Il programma riconosce automaticamente il sistema in cui sta operando.<br />
options:<br />
{from|to|loop|count|tell}=<br />
target={pc|linux|hpux|sun|alpha|vax|unisys|mpe|cdc|same} default:<br />
linux<br />
format={isis|cisisX} default:<br />
isis<br />
mstxl={0|1|2|4} default:<br />
as <br />
145
IFKEYS - Programma<br />
Programmi d’utilità<br />
dell’inverted file<br />
Il programma IFKEYS visualizza i termini dell’inverted file e il corrispondente<br />
totale dei postings, facoltativamente disaggrega i <strong>da</strong>ti in ragione dell’etichetta (ID<br />
della FST) <strong>da</strong> cui sono stati estratti.<br />
IFKEYS accetta un intervallo di termini come parametro e può venire impiegato<br />
per visualizzare un insieme di termini dell’inverted file.<br />
IFKEYS - Presentazione<br />
Il comando:<br />
ifkeys \cisis\bases\cds from=plant to=plants<br />
Legge l’inverted file cds situato nella directory \cisis\bases cominciando <strong>da</strong>l termine<br />
plant fino al termine plants e visualizza questi termini preceduti <strong>da</strong>l loro numero di<br />
postings:<br />
8|PLANT<br />
4|PLANT ECOLOGY<br />
146
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
1|PLANT EVAPOTRANSPIRATION<br />
1|PLANT PHOTOSYNTHESIS<br />
20|PLANT PHYSIOLOGY<br />
6|PLANT TRANSPIRATION<br />
8|PLANTS<br />
Mentre il comando:<br />
ifkeys \cisis\bases\cds from=plant to=plants +tags<br />
produce gli stessi <strong>da</strong>ti e in più (a) include i tag (Field ID della FST) <strong>da</strong> cui questi<br />
termini sono stati prodotti e (b) genera una linea a sé per ciascuna combinazione<br />
di termine e tag, come qui sotto mostrato:<br />
8| 24|PLANT<br />
4| 69|PLANT ECOLOGY<br />
1| 69|PLANT EVAPOTRANSPIRATION<br />
1| 69|PLANT PHOTOSYNTHESIS<br />
20| 69|PLANT PHYSIOLOGY<br />
6| 69|PLANT TRANSPIRATION<br />
6| 24|PLANTS<br />
2| 69|PLANTS<br />
I parametri from to non fanno distinzione fra maiuscole e minuscole, from=plant<br />
produrrà lo stesso output che from=PLANT.<br />
IFKEYS - Sintassi<br />
ifkeys [from=] [to=] [+tags] [tell=]<br />
Inverted file in entrata (input)<br />
Inverted file che verrà trattato.<br />
<br />
147
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
<strong>Parametri</strong> facoltativi<br />
from=<br />
to=<br />
Il parametro tell viene descritto in dettaglio nell’Appendice I <strong>Parametri</strong> di uso<br />
generale.<br />
Primo termine a venire elencato<br />
L’elenco comincia con il termine .<br />
Ultimo termine a venire elencato<br />
L’elenco finisce con il termine .<br />
Mostra il <strong>da</strong>to relativo all’etichetta (tag = ID della FST)<br />
Aggiunge all’elenco il tag <strong>da</strong> cui è stato estratto il termine.<br />
IFKEYS – Uscita (output)<br />
+tags<br />
tell=<br />
from=<br />
to=<br />
Se si usa l’opzione from= e il termine di partenza che si indica non esiste<br />
l’elenco comincia <strong>da</strong>l termine seguente all’interno dell’inverted file. Se si usa<br />
l’opzione to= e il termine finale indicato non esiste, l’elenco finisce col<br />
termine che nell’inverted file lo precede.<br />
+tags<br />
148
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
L’output di IFKEYS può venire reindirizzato ad un file per venire poi trattato <strong>da</strong>l<br />
programma MX. Ad esempio, i comandi:<br />
ifkeys cds +tags >x<br />
mx seq=x "pft=if val(v1)=1 and val(v2)=24 then v3/ fi" now<br />
mostrano le parole del titolo (campo 24 nella base cds) che ricorrono esattamente<br />
una volta.<br />
IFLOAD - Programma<br />
Il programma IFLOAD carica un inverted file usando i link file ordinati in base<br />
all’opzioni dell’elaborazione. Si accettano altri formati in aggiunta a quelli dei link<br />
file stan<strong>da</strong>rd di MicroISIS.<br />
Consente anche che venga creato solamente l’inverted file del dizionario.<br />
Il programma IFLOAD può venire impiegato anche per creare e reinizializzare un<br />
inverted file.<br />
IFLOAD - Presentazione<br />
Il comando:<br />
ifload \cisis\bases\cds \isis\work\cds.lk1 \isis\work\cds.lk2<br />
tell=99<br />
carica l’inverted file cds ubicato nella directory \cisis\bases usando i link file delle<br />
chiavi corte e lunghe cds.lk1 e cds.lk2, situati nella directory \isis\work.<br />
L’opzione tell=99 produce un messaggio ricorrente ogni 99 link record trattati,<br />
mostrando la chiave corrente che sta venendo caricata.<br />
Si suppone che i link file precedenti siano nel formato dei link file stan<strong>da</strong>rd di<br />
MicroISIS, che hanno questo assetto per ogni voce:<br />
102 24 1 1 ABOUT<br />
42 24 1 9 ABSENCE<br />
149
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
6 24 1 10 ABSORPTION<br />
87 24 1 5 ACCOUNT<br />
136 69 1 1 ACCOUNTING<br />
40 24 1 6 ACID<br />
101 24 1 5 ACTION<br />
49 24 1 6 ACTIVITIES<br />
130 24 1 7 ACTIVITIES<br />
23 24 1 5 ACTUAL<br />
Si tratta di un insieme di record a lunghezza variabile che contengono campi che<br />
identificano l’origine della chiave e la stessa chiave.<br />
I primi 4 campi costituiscono le componenti del posting.<br />
Campo Contenuto<br />
MFN Numero del record (master file record number).<br />
TAG Identificatore di campo, assegnato <strong>da</strong>lla FST (FI-field identifier).<br />
OCC Numero di occorrenza nel campo<br />
CNT Numero sequenziale del termine nel campo<br />
Per consentire l’uso di programmi d’ordinamento (sort) stan<strong>da</strong>rd, IFLOAD accetta<br />
link file con record a lunghezza fissa, come qui sotto mostrato:<br />
ABOUT 102 24 1 1<br />
ABSENCE 42 24 1 9<br />
ABSORPTION 6 24 1 10<br />
ACCOUNT 87 24 1 5<br />
ACCOUNTING 136 69 1 1<br />
ACID 40 24 1 6<br />
ACTION 101 24 1 5<br />
ACTIVITIES 49 24 1 6<br />
ACTIVITIES 130 24 1 7<br />
ACTUAL 23 24 1 5<br />
Il seguente comando carica l’inverted file cds situato nella directory \cisis\bases<br />
usando i link file a lunghezza fissa cds.lk1 e cds.lk2 ubicati nella directory \isis\work:<br />
ifload \cisis\bases\cds \isis\work\cds.lk1 \isis\work\cds.lk2 +fix<br />
La seguente è una procedura che permette di generare un inverted file x usando la<br />
Tavola di selezione dei campi (FST) di default e il file di stopword:<br />
mx x fst=@ stw=@ ln1=x.ln1 ln2=x.ln2 +fix tell=100<br />
del *.$$$<br />
150
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
mys 37 x.ln1 x.lk1<br />
del x.ln1<br />
del *.$$$<br />
mys 57 x.ln2 x.lk2<br />
del x.ln2<br />
ifload x x.lk1 x.lk2 +fix tell=1000<br />
del x.lk1<br />
del x.lk2<br />
Quando si creano più inverted file per uno stesso <strong>da</strong>to master file e non è<br />
indispensabile effettuare ricerche con operatori di prossimità, è unicamente<br />
necessaria la componente MFN del posting. Ai link file potrà bastare un formato<br />
del genere:<br />
ABOUT 102<br />
ABSENCE 42<br />
ABSORPTION 6<br />
ACCOUNT 87<br />
ACCOUNTING 136<br />
ACID 40<br />
ACTION 101<br />
ACTIVITIES 49<br />
ACTIVITIES 130<br />
ACTUAL 23<br />
essi verranno caricati con il comando:<br />
ifload \cisis\bases\cds \isis\work\cds.lk1 \isis\work\cds.lk2<br />
+fix/m<br />
Il programma IFLOAD permette di caricare solamente il dizionario dell’inverted<br />
file, usando l’opzione -posts:<br />
ifload authority x.lk1 x.lk2 -posts<br />
Dopo che si carica un inverted file, per default, il segnale: I/F up<strong>da</strong>te is pending si<br />
reinizializza in tutti i record interessati nel master file.<br />
151
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
Quando si creano vari inverted file per uno stesso master file va specificato che il<br />
segnale I/F up<strong>da</strong>te is pending va mantenuto, come qui esemplificato:<br />
ifload au au.lk1 au.lk2 reset=0<br />
ifload ti ti.lk1 ti.lk2 reset=0<br />
Qualora si dovesse reinizializzare il segnale I/F up<strong>da</strong>te is pending e il nome del<br />
inverted file <strong>da</strong> caricare fosse diverso <strong>da</strong>l master file associato, si impiegherà<br />
l’opzione master<br />
ifload kw kw.lk1 kw.lk2 master=\cisis\bases\cds<br />
IFLOAD - Sintassi<br />
ifload {|void} {|void} [<br />
[...]]<br />
<strong>Parametri</strong> <strong>obbligatori</strong><br />
Inverted file in entrata (input)<br />
<br />
<br />
<br />
<br />
Inverted file <strong>da</strong> caricare. L’inverted file viene creato e inizializzato<br />
anche se già esiste.<br />
Link file delle chiavi corte<br />
Link file delle chiavi brevi, ordinato.<br />
<br />
152
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
Link file delle chiavi lunghe<br />
Link file delle chiavi lunghe, ordinato.<br />
<strong>Parametri</strong> <strong>obbligatori</strong><br />
<br />
master=<br />
- {reset | posts | balan}<br />
Reinizializzare il segnale di “aggiornamento in sospeso”<br />
Reinizializza il contrassegno di I/F up<strong>da</strong>te is pending nel master file<br />
; per default viene trattato il master file .<br />
Aggiornamento in sospeso<br />
tell=<br />
+fix[/m]<br />
master=<br />
Non reinizializza il contrassegno di I/F up<strong>da</strong>te is pending nel master file<br />
o .<br />
Non riequilibrare dizionario<br />
Non riequilibra il dizionario (gli alberi B*–tree)<br />
-reset<br />
-balan<br />
153
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
Non caricare i postings<br />
Carica unicamente il dizionario, non carica i postings nel file .ifp.<br />
Informazioni circa l’esecuzione della procedura<br />
Produce un messaggio progressivo nello stan<strong>da</strong>rd error ogni link record<br />
caricati.<br />
Link file a lunghezza fissa<br />
Caricare file a lunghezza fissa<br />
Carica link file con record a lunghezza fissa con il formato:<br />
KEY MFN TAG OCC CNT<br />
Carica link file con formato ridotto<br />
Carica link file con record a lunghezza fissa con il formato:<br />
KEY MFN<br />
-posts<br />
tell=<br />
+fix[/m]<br />
+fix<br />
+fix/m<br />
154
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
IFLOAD – Uscita (output)<br />
L’inverted file è composto <strong>da</strong> sei file fisici, cinque dei quali contengono il<br />
dizionario dei termini recuperabili in ricerca (organizzati come un albero B*) e il<br />
sesto contiene la lista dei postings associati ad ogni termine. Per ottimizzare la<br />
memorizzazione su disco, sono allestiti due distinti alberi B* (struttura di <strong>da</strong>ti per<br />
gli indici che consente di registrare informazioni ordinate), uno per le stringhe fino<br />
a 10 caratteri e l’altro per le stringhe di più di 10 caratteri e fino ad un massimo di<br />
30 caratteri. Entrambi gli indici ad albero B* sono strutturati come pagine a<br />
lunghezza fissa, con chiavi completate con spazi riempitivi alla destra.<br />
Si può conseguire un’occupazione ottimizzata di spazio disco usando il programma<br />
d’utilità di CISIS MYZ, che comprime il dizionario dell’inverted file per ciascuno<br />
degli alberi B*, come qui sotto esemplificato:<br />
myz ifn 1 ifn_z tell=10<br />
myz ifn 2 ifn_z tell=10<br />
Il dizionario dell’inverted file prodotto: ifn_z è formato <strong>da</strong>i file ifn_z.cnt, ifn_z.n01,<br />
ifn_z.l01, ifn_z.n02 e ifn_z.l02.<br />
Dopo avere eseguito i comandi il file ifn.ifp andrà rinominato ifn_z.ifp, dove ifn_z è<br />
la versione compressa dell’inverted file inf.<br />
IFUPD - Programma<br />
Il programma IFUPD aggiorna un inverted file, in base a quanto definito <strong>da</strong>:<br />
• La Tavola di selezione dei campi (FST);<br />
• Stopwords;<br />
• Record del master file;<br />
• Opzioni di elaborazione.<br />
Il programma IFUPD può anche venire usato per creare e reinizializzare un<br />
inverted file.<br />
155
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
IFUPD - Presentazione<br />
Il comando:<br />
ifupd \cisis\bases\cds fst=@ stw=@<br />
Legge il master file cds posizionato nella directory \cisis\bases e aggiorna<br />
l’inverted file corrispondente, in armonia con la Tavola di selezione dei campi<br />
(FST) di default e con il file di stopword -cds.fst e cds.stw- situati nella medesima<br />
directory.<br />
Il comando seguente usa una Tavola di selezione dei campi diversa e specifica che<br />
le chiavi dell’inverted file saranno estratte senza venire filtrate <strong>da</strong>l file Stopwords:<br />
ifupd \cisis\bases\cds fst=@\cisis\bases\another.fst<br />
IFUPD accetta istruzioni nella linea di input, come:<br />
ifupd \cisis\bases\cds "fst=70 0 (v70/); 69 2 v69"<br />
IFUPD permette di aggiornare vari inverted file per un unico master file <strong>da</strong>to. In<br />
questo casotutti gli aggiornamenti (salvo l’ultimo) devono specificare che il segnale<br />
di I/F up<strong>da</strong>te is pending deve restare in vigore, come qui sotto esemplificato:<br />
ifupd au fst=@au.fst master=\cisis\bases\cds reset=0<br />
ifupd ti fst=@ti.fst master=\cisis\bases\cds reset=0<br />
ifupd kw fst=@kw.fst master=\cisis\bases\cds<br />
Nell’ultima linea dell’esempio non compare reset=0 visto che già sono stati<br />
aggiornati tutti gli inverted file e che dunque non è più necessario mantenere<br />
attivo il segnale di aggiornamento in sospeso.<br />
IFUPD - Sintassi<br />
ifupd [mono|full] [create=] [ [...]]<br />
[mono|full] single/multi user<br />
operation<br />
[create=] to delete+create<br />
<br />
output inverted file<br />
156
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
options:<br />
fst=|@[fstfile] field select table<br />
stw=|@[stwfile] stop words<br />
-posts<br />
.ifp<br />
(init and) do not load<br />
master= alternate master file<br />
actab= alphabetic chars table<br />
uctab= upper case chars table<br />
from= initial mfn<br />
to= final mfn<br />
count= max mfns<br />
tell= tell % loaded<br />
<strong>Parametri</strong> <strong>obbligatori</strong><br />
Inverted file <strong>da</strong> aggiornare<br />
Inverted file <strong>da</strong> aggiornare.<br />
<br />
<br />
Se si specifica create= si crea l’inverted file e lo si inizializza<br />
anche se già c’è.<br />
Tavola di selezione dei campi<br />
FST per default<br />
fst=|@[fstfile]<br />
fst=@<br />
157
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
Usa la Tavola di selezione dei campi (FST) di default.<br />
Caricare una FST <strong>da</strong> un file esterno<br />
La Tavola di selezione dei campi (FST) viene fornita via file esterno .<br />
Specifica della FST nella linea di comando<br />
fst=@<br />
fst=<br />
La Tavola di selezione dei campi (FST) viene fornita nella linea di comando come<br />
un elenco scandito <strong>da</strong> punto e virgola.<br />
File delle parole non significative<br />
File STW di default<br />
Usa il file di Stopword di default.<br />
Carica la lista STW leggendolo <strong>da</strong> file esterno<br />
stw=|@[stwfile]<br />
stw=@<br />
stw=@<br />
La lista delle parole non significative (stopwords) viene fornita nel file .<br />
Mantenere il contrassegno di aggiornamento in sospeso<br />
reset=0<br />
158
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
Mantiene in vigore il segnale I/F up<strong>da</strong>te is pending; per default reinizializza tutti i<br />
record trattati.<br />
Non caricare i postings<br />
Aggiorna unicamente il dizionario. Non carica i postings nel file .ifp.<br />
Master file alternativo<br />
Per default assume come master file un file che abbia il medesimo nome<br />
-posts<br />
master=<br />
dell’inverted file su cui si sta lavorando, però se si specifica master=,<br />
ifupd utilizzerà un master file di nome .<br />
IFUPD – Uscita (output)<br />
Si elaborano unicamente i record master file marcati con I/F up<strong>da</strong>te is pending<br />
(aggiornamento in sospeso).<br />
Il parametro reset=0 fa sì che i record del master file sottoposti a trattamento<br />
possano poi venire usati per creare o aggiornare un altro inverted file.<br />
MYS - Sintassi<br />
mys {link1|link2|} [ [...]]<br />
options: tell=<br />
+fix/m<br />
Ex: mys 37 x.ln1 x.lk1<br />
mys link1 x.ln1 x.lk1 tell=0<br />
159
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
Ex: mys 57 x.ln2 x.lk2<br />
mys link2 x.ln2 x.lk2 tell=0<br />
MYS – Uscita<br />
Ordina i link file per creare l’inverted file<br />
IFMERGE - Sintaxis<br />
ifmerge [,n1] [,n2] [...] [ [...]]<br />
output inverted file<br />
[,n1] input inverted file #1, maxmfn#1<br />
[,n2] input inverted file #2, maxmfn#2<br />
options:<br />
+mstxrf<br />
.pft<br />
create M/F and its mstxrf<br />
-posts do not load .ifp<br />
-balan do not rebalance the dict<br />
tell= tell keys has been loaded<br />
IFMERGE – Uscita (output)<br />
Combina vari inverted file di diversi master file in un solo inverted file, grazie a<br />
una procedura che recupera i record a partire <strong>da</strong>i master file sorgente.<br />
MKIY0 - Sintassi<br />
mkiy0 [-ifp] [-v] [blksize=32768]<br />
160
Programmi di utilità CISIS: manuale di riferimento Programmi d’utilità dell’inverted file<br />
MKIY0 – Uscita (output)<br />
Combina i sei file che costituiscono l’inverted file in un solo file fisico.<br />
CRUNCHIF - Sintassi<br />
crunchif [ [...]]<br />
options:<br />
-ifp don't crunch .ifp file<br />
/ifp crunch .ifp file if needed<br />
tell= tell records processed<br />
target={linux|hpux|sun|alpha|vax|unisys|mpe|cdc|pc} default: linux<br />
CRUNCHIF - Uscita<br />
Converte l’inverted file <strong>da</strong> un sistema operativo a un altro, per esempio <strong>da</strong><br />
Windows a Linux.<br />
161
Riferimenti bibliografici<br />
1. UNESCO. Mini-micro CDS/ISIS: Reference manual (version 2.3). Organized<br />
by Giampaolo Del Bigio. Paris: United Nations Educational, Scientific and<br />
Cultural Organization, 1989. 286 p. ISBN 92-3-102-605-5.<br />
2. BUXTON, Andrew, HOPKINSON, Alan. The CDS/ISIS for Windows<br />
Handbook [online]. Paris: United Nations Educational, Scientific and<br />
Cultural Organization, 2001 [visto il 30 August 2006]. 164 p. Accessibile in<br />
internet: .<br />
3. SUTER, Tito. “Prehistoria” e historia del MicroISIS [online]. In: Manual<br />
para instructores de Winisis. Buenos Aires: Centro Atómico Constituyentes<br />
(CAC), Comisión Nacional de Energía Atómica (CNEA), 1999 [visto il 30<br />
Agosto 2006]. p. 21-26. Accessibile in internet:<br />
.<br />
162
Backup. Procedura grazie alla quale uno o più file e/o directories<br />
vengono duplicati su un altro supporto di memorizzazione (nastro o<br />
disco), allo scopo di produrre una copia di sicurezza, che potrà<br />
venire ripristinata nel caso in cui dei <strong>da</strong>ti vengano cancellati<br />
accidentalmente o si verifichi un <strong>da</strong>nno fisico ai <strong>da</strong>ti originali.<br />
Base <strong>da</strong>ti. Raccolta di <strong>da</strong>ti strutturati allo scopo di rendere possibile<br />
avere accesso ad essi e manipolarli facilmente. Composta di unità<br />
denominate record i cui diversi attributi sono rappresentati <strong>da</strong><br />
campi e sottocampi. Per esempio, in un archivio indirizzario dei<br />
clienti", ogni cliente rappresenta un record che possiede vari<br />
campi, come "NOME", "CODICE DEL CLIENTE", "TELEFONO" etc.<br />
Basi <strong>da</strong>ti bibliografica. Versione elettronica di un catalogo o indice<br />
bibliografico.<br />
Campo. Elemento di un record che consente di registrare delle<br />
informazioni particolari. Cfr. Base <strong>da</strong>ti.<br />
Glossario<br />
163
Programmi di utilità CISIS: manuale di riferimento Glossario<br />
CDS/ISIS – MicroISIS. Software sviluppato e mantenuto <strong>da</strong>ll’UNESCO<br />
per il trattammento di <strong>da</strong>ti bibliografici.<br />
Chiave. Espressione che identifica una o più informazioni incluse in<br />
una determinata classe o tipo e che può venire usata in fase di<br />
ricerca.<br />
File. In informatica, un insieme di <strong>da</strong>ti che può venire scritto su un<br />
supporto di memorizzazione. I file di <strong>da</strong>ti sono creati per delle<br />
applicazioni, come ad esempio un sistema di elaborazione testi.<br />
Formato di visualizzazione. Un insieme di comandi che definiscono<br />
l’aspetto che i <strong>da</strong>ti di una base <strong>da</strong>ti ISIS devono avere in uscita (output).<br />
Formato elettronico. Qualsiasi forma di memorizzazione, recupero e<br />
presentazione delle informazioni suscettibile di venire trasmessa<br />
online o per scrittura su supporti magnetici o ottici.<br />
Formato ISO (di scambio dei <strong>da</strong>ti). Modello definito <strong>da</strong>lla ISO per lo<br />
scambio di <strong>da</strong>ti fra istituzioni, reti ed utenti, ci si riferisce alla<br />
norma ISO 2709.<br />
Formato LILACS. Formato de Descrizione bibliografica definito <strong>da</strong><br />
BIREME, basato su UNISIST Reference Manual for Machine-rea<strong>da</strong>ble<br />
Bibliographic Descriptions.<br />
Indicizzazione. Procedimento attraverso cui si identifica e descrive<br />
il contenuto di un documento con termini che rapresentano i temi<br />
del documento, allo scopo di consentirne dopo il recupero.<br />
Inverted file. Un insieme di sei file fisici, cinque dei quali contengono<br />
i termini di ricerca del dizionario (organizzato come un albero B*-<br />
tree) e il sesto contiene la lista dei puntatori associati a ciascun<br />
termine. Per ottimizzare la memorizzazione su disco, sono allestiti<br />
due distinti alberi B*-tree: uno per i termini con lunghezza fino a<br />
164
Programmi di utilità CISIS: manuale di riferimento Glossario<br />
10 caratteri (memorizzati nei file .N01 e .L01) e l’altro per termini<br />
lunghi più di 10 caratteri (memorizzati nei file .N02 e .L02). Il file<br />
.CNT contiene campi de controllo per entrambi gli alberi B*. In<br />
ciascun file dell’albero B* il file .N0x contiene i nodi dell’albero e il<br />
file .L0x contiene le foglie. I record delle foglie puntano alla<br />
posizione dove si trovano i puntatori che contengono le<br />
informazioni per localizzare i record (postings) nella base <strong>da</strong>ti.<br />
Questo file è identificato <strong>da</strong>lla estensione .IFP.<br />
Posting. Rappresenta l’indirizzo di una chiave estratta <strong>da</strong>l master file.<br />
Record. Insieme strutturato di <strong>da</strong>ti che permitte di registrare una<br />
determinata informazione. Cfr. Basi <strong>da</strong>ti.<br />
Sottocampo. Elemento che contiene una porzione della<br />
informazione di tutto un campo, e il cui significato può risultare<br />
non chiaro se non viene analizzato assieme con gli altri elementi<br />
correlati.<br />
UNISIST. Programma intergovernativo relativo alla cooperazione nel<br />
campo dell’informazione scientifica e tecnologica.<br />
165
Relativi all’uscita (output) stan<strong>da</strong>rd:<br />
Disabilitare il prompt fra record<br />
Appendice I - <strong>Parametri</strong> di<br />
uso generale<br />
Questo parametro disabilita il prompt che MX presenta fra record e record.<br />
now, tell, -all, >, >><br />
Il parametro now o nowait consente di elaborare tutti i record senza intervento<br />
dell’operatore e sopprime l’output del “suggerimento” (prompt) offerto <strong>da</strong>l<br />
programma.<br />
now (nowait)<br />
Così si otterrà un output completo ed immediato senza che l’elaborazione si arresti tra<br />
record e record con il suggerimento dei due punti appaiati (prompt): ..<br />
mx cds from=24 to=50 pft=mfn/ now<br />
166
Programmi di utilità CISIS: manuale di riferimento Appendice I - <strong>Parametri</strong> di uso generale<br />
Segnalare ogni n record<br />
Il parametro tell=n fa comparire un breve messaggio sul dispositivo di output dei<br />
messaggi di errore (stderr, stan<strong>da</strong>rd error: normalmente lo schermo) ogni <br />
record.<br />
tell=<br />
Anche se il processo viene indirizzato verso un’uscita a stampa o a un file, i messaggi<br />
prodotti <strong>da</strong> tell=n non possono venire reindirizzati e continueranno ad an<strong>da</strong>re a<br />
schermo.<br />
Si raccoman<strong>da</strong> di usare questo parametro insieme al parametro -all che sopprime<br />
l’output a schermo dell’elenco dei record.<br />
Esempio:<br />
mx cds from=1 to=150 tell=30 now -all<br />
Ciò manderà sullo schermo del computer solo i seguenti messaggi:<br />
C:\>mx cds from=1 to=150 tell=30 now -all<br />
+++ 30<br />
+++ 60<br />
+++ 90<br />
+++ 120<br />
+++ 150<br />
C:\><br />
Disabilitare l’invio di <strong>da</strong>ti a schermo<br />
Il parametro -all fa in modo che nessun tipo di <strong>da</strong>to venga riflesso sullo schermo,<br />
eccettuati i messaggi di errore o le informazioni prodotte <strong>da</strong>l parametro tell (che<br />
utilizza lo stan<strong>da</strong>rd error per inviare i propri messaggi).<br />
-all<br />
167
Programmi di utilità CISIS: manuale di riferimento Appendice I - <strong>Parametri</strong> di uso generale<br />
Reindirizzare l’uscita (output) stan<strong>da</strong>rd<br />
> | >> <br />
Tutti i <strong>da</strong>ti che appaiono a schermo (uscita stan<strong>da</strong>rd per default, stan<strong>da</strong>rd output),<br />
possono venire reindirizzati verso un file, una stampante etc.<br />
E’ possibile volgere l’uscita verso un file o una stampante usando gli attributi di<br />
reindirizzamento del sistema operativo: > o >>.<br />
Se si aggiunge alla fine della linea di comandi l’istruzione >file, MX crea un file di<br />
nome file e ripone in esso tutte le informazioni che stavano per essere inviate verso<br />
l’uscita stan<strong>da</strong>rd (lo schermo).<br />
!<br />
Se esisteva un file col medesimo nome, questo verrà<br />
inizializzato, pertanto tutti i suoi <strong>da</strong>ti verranno<br />
cancellati.<br />
Se si pone >>file nella chiamata di MX, esso apre il file con nome file e vi stipa –<br />
aggiungendoveli- tutti i <strong>da</strong>ti che erano diretti verso l’uscita stan<strong>da</strong>rd (lo schermo), se il<br />
file non esiste viene creato.<br />
Esempi:<br />
! Se<br />
il file esiste le informazioni vengono aggiunte a<br />
quelle esistenti senza distruggerle.<br />
• Inviare il listato del risultato di una ricerca alla stampante:<br />
mx cds plants pft=@cds.pft now > LPT1<br />
• Inviare l’elenco di un intervallo di record ad un file:<br />
mx cds from=10 to=30 pft=@otro.pft lw=35 now > archivo.txt<br />
!<br />
Quando l’uscita stan<strong>da</strong>rd viene rediretta, il prompt<br />
viene inviato assieme con il resto dei <strong>da</strong>ti, pertanto,<br />
MX resterà in attesa ma senza presentare il<br />
prompt allo schermo. Di solito quando all’interno di<br />
una chiamata di MX c’è il parametro che reindirizza<br />
l’uscita stan<strong>da</strong>rd c’è anche il parametro now.<br />
168
Programmi di utilità CISIS: manuale di riferimento Appendice I - <strong>Parametri</strong> di uso generale<br />
Si tenga presente che se si pone il parametro -all non ci sarà output, e dunque il file cui<br />
si è inviato l’output resterà vuoto.<br />
Relativi alla selezione di record:<br />
Iniziare <strong>da</strong>l record n<br />
<br />
from=<br />
Inizia l’operazione <strong>da</strong>l record della base <strong>da</strong>ti in ingresso; se non lo si specifica<br />
l’operazione si avvia col primo record del master file.<br />
Terminare col record n<br />
Conclude l’operazione col record della base in ingresso; se non lo si specifica<br />
termina con l’ultimo record del master file.<br />
Trattare un record ogni n<br />
Salta record per ciascun record trattato.<br />
Per esempio, se questo parametro viene indicato e il valore preceduto <strong>da</strong>l segno è<br />
uguale a 5, si elaboreranno i record: 1, 6, 11, etc.<br />
Selezionare n record<br />
to=<br />
loop=<br />
count=<br />
169
Programmi di utilità CISIS: manuale di riferimento Appendice I - <strong>Parametri</strong> di uso generale<br />
Il parametro count=n seleziona esattamente n record a partire <strong>da</strong> un inizio <strong>da</strong>to. Se<br />
non si indica record di inizio comincia <strong>da</strong>l primo record.<br />
Esempio con MX Esito in uscita<br />
mx cds from=24 to=50 loop=5<br />
000024<br />
pft=mfn/ now<br />
000029<br />
000034<br />
000039<br />
000044<br />
000049<br />
mx cds from=24 to=50 count=3<br />
000024<br />
loop=5 pft=mfn/ now<br />
000029<br />
000034<br />
mx cds from=24 to=50 count=9<br />
000024<br />
loop=5 pft=mfn/ now<br />
000029<br />
000034<br />
000039<br />
000044<br />
000049<br />
!<br />
Quando nella medesima linea di istruzioni si<br />
trovano parametri come count, to, etc.,<br />
l’elaborazione termina quando finisce il lavoro del<br />
primo di essi.<br />
Relativi ai record in uscita (output):<br />
Addiziona n al numero di record (MFN)<br />
Addiziona all’MFN; cosí l’MFN che viene memorizzato in dbout è l’MFN del<br />
record d’input più offset.<br />
mxcp cds newcds offset=1000<br />
<br />
offset=<br />
170
Programmi di utilità CISIS: manuale di riferimento Appendice I - <strong>Parametri</strong> di uso generale<br />
Nell’esempio, indicando offset=1000, si immetteranno i record della base cds nella base<br />
newcds con mfn 1000, 1001, 1002, etc.<br />
Cambiamento globale di modelli<br />
Il parametro gizmo= permette di effettuare cambiamenti globali nel contenuto dei<br />
campi di una base CDS/ISIS, convertire una stringa di caratteri in un’altra, e cosí<br />
effettuare modifiche, codifica/decodifica, compressione di <strong>da</strong>ti, etc.<br />
gizmo<br />
Questi cambiamenti possono vertere su tutti i record della base o su un gruppo di<br />
record (selezionati tramite una ricerca, un intervallo, etc.). A sua volta, i cambiamenti<br />
possono riguar<strong>da</strong>re tutto il record o solo alcuni campi. Per esempio, si può agire per<br />
cambiare i segni < > in / /, o la stringa di caratteri plants in PLANTAS, etc.<br />
Per effettuare questi cambiamenti è necessario disporre di un master file gizmo.<br />
Questo master file contiene di norma due campi: il campo 1 contiene il <strong>da</strong>to <strong>da</strong><br />
cambiare, e il campo 2 il nuovo valore. Ogni coppia di <strong>da</strong>ti costituirà un record della<br />
base gizmo.<br />
Ogni record di input viene sottoposto all’operazione di cambiamento stabilita nel file<br />
gizmo. Quando l’esecuzione di MX comincia i <strong>da</strong>ti del file gizmo vengono caricati in<br />
memoria come una tabella e vi si ordinano alfabeticamente in base al valore del campo<br />
1 e della sua lunghezza (in modo che le stringhe di caratteri più lunghe vengano<br />
convertite prima di quelle più corte).<br />
Esempi:<br />
Si crea una base <strong>da</strong>ti di nome PRUEBA usando i parametri di MX già noti e si<br />
immettono i <strong>da</strong>ti direttamente <strong>da</strong>lla tastiera:<br />
mx seq=con create=prueba -all now<br />
|/<br />
plants|PLANTAS<br />
Z (o )<br />
171
Programmi di utilità CISIS: manuale di riferimento Appendice I - <strong>Parametri</strong> di uso generale<br />
ottenendo i record seguenti:<br />
mfn= 1<br />
1 «»<br />
2 «/»<br />
mfn= 3<br />
1 «plants»<br />
2 «PLANTAS»<br />
Il contenuto dei campi titolo e descrittori del record MFN=1 è:<br />
mx cds to=1 "pft=mfn/v24/v69"<br />
000001<br />
Techniques for the measurement of transpiration of individual plants<br />
Paper on: <br />
Se all’esempio seguente si applica il parametro gizmo:<br />
mx cds gizmo=prueba to=1 "pft=mfn/v24/v69"<br />
si otterrà:<br />
000001<br />
Techniques for the measurement of transpiration of individual PLANTAS<br />
Paper on: /plant physiology//plant transpiration//measurement and<br />
instruments/<br />
!<br />
La modifica NON tocca la base CDS che fornisce i<br />
<strong>da</strong>ti in entrata perché la modifica avviene a livello<br />
dell’output (in questo caso un esito a schermo).<br />
Per modificare realmente i record si dovrà inviare il risultato della procedura al<br />
medesimo master file, come nell’esempio seguente:<br />
172
Programmi di utilità CISIS: manuale di riferimento Appendice I - <strong>Parametri</strong> di uso generale<br />
mx cds gizmo=prueba to=1 copy=cds –all now<br />
Se per contro si desidera generare una nuova base <strong>da</strong>ti è necessario crearla:<br />
mx cds gizmo=prueba to=1 create=sali<strong>da</strong> –all now<br />
E’ possibile restringere la modifica ad un campo specifico del record, indicando di<br />
seguito al parametro gizmo l’etichetta o le etichette su cui si vuole operare il<br />
cambiamento. E’ possibile indicare un intervallo di etichette separate <strong>da</strong> /.<br />
mx cds gizmo=prueba,69,24 to=1 create=sali<strong>da</strong> -all now<br />
mx cds gizmo=prueba,35/56 to=1 create=sali<strong>da</strong> -all now<br />
173
Appendice II - File<br />
CIPAR<br />
L’interfaccia di programmazione CISIS fornisce un utensile denominato CIPAR, che<br />
svolge il ruolo del SYSPAR.PAR e dei vari .par di CDS/ISIS stan<strong>da</strong>rd, inoltre<br />
offre moltre altre funzioni proprie di CISIS. Il CIPAR è un file di puro testo ASCII che<br />
attiva meccanismi per la ricerca di nomi di file logici, nomi di basi <strong>da</strong>ti, stabilisce<br />
parametri dell’ambiente di lavoro, etc.<br />
Un file di parametri CIPAR è fatto di linee di comandi, un comando per linea, con<br />
istruzioni di equivalenza logica. Un’equivalenza logica è una proposizione di<br />
assegnazione dove il valore a sinistra del segno = riceve e rappresenta i valori a destra<br />
del segno di uguale.<br />
CISIS legge le linee del file CIPAR e le pone in memoria come una tavola di riferimenti.<br />
Ogni linea viene letta fino a che si arriva alla fine del file o fino a che si trova la<br />
combinazione di /* (barra, asterisco), secondo quale dei due capita per primo. Il testo<br />
che segue dopo il /* si considera come commento e documentazione relativi al CIPAR.<br />
Esempi:<br />
Supponendo che il file si chiami DATOS.CIP e che contenga le seguenti linee:<br />
174
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
CDS.*=\cisis\bases\cds.*<br />
CDS1.PFT=\cisis\bases\cds1.pft<br />
allora l’istruzione<br />
mx cipar=<strong>da</strong>tos.cip CDS pft=@CDS1.PFT from=10 ...<br />
è equivalente a:<br />
mx \cisis\bases\cds pft=\cisis\bases\cds1.pft from=10 ...<br />
Le assegnazioni e interpretazioni dei valori del<br />
!<br />
CIPAR fanno differenza fra maiuscole e minuscole.<br />
L’unica eccezione per il raffronto esatto fra i termini<br />
è rappresentata <strong>da</strong>l caso in cui le parti di una linea a<br />
sinistra e a destra del segno d’uguale terminano con<br />
la sequenza .* (punto e asterisco).<br />
Nell’esempio seguente:<br />
dbxtrace=y<br />
14=1<br />
cds.*=c:\cisis\bases\cds.*<br />
cds1.pft=c:\cisis\bases\cds1.pft<br />
lilacs.xrf=c:\lilacsok.xrf<br />
lilacs.*=d:\bases\lilacs\lilacs.*<br />
I termini a sinistra saranno o no convertiti nei termini di destra a secon<strong>da</strong> che la<br />
comparazione sia esatta o meno. Se il programma MX trova una sequenza di caratteri<br />
(che potrebbe essere il nome di una base <strong>da</strong>ti, di un formato, etc.), cercherà nelle righe<br />
del CIPAR ed effettuerà le trasformazioni corrispondenti se la trova in una riga di<br />
equivalenza.<br />
Trova Converte in:<br />
dbxTRACE Non lo converte<br />
dbxtrace y<br />
14 1<br />
cds.mst C:\cisis\bases\cds.mst<br />
lilacs.xxx d:\bases\lilacs\lilacs.xxx<br />
lilacs.xrf C:\lilacsok.xrf<br />
LILACS.xxx Non lo converte<br />
Oltre alla definizione di nomi logici di file è possibile assegnare valori di variabili di<br />
ambiente (environment) valide in forma globale per le applicazioni.<br />
Vi sono due modi per attivare il CIPAR:<br />
175
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
a) Usandolo direttamente dentro la linea dei comandi di MX grazie al parametro<br />
cipar=, dove specifica il nome del file che si userà come CIPAR<br />
durante l’esecuzione del programma. Solamente il programma MX può usare<br />
questa opzione.<br />
!<br />
Tutti gli altri programmi di CISIS (ivi compresi il<br />
Winisis dell’Unesco, le ISIS.DLL e il WWWISIS) lo<br />
possono usare solamente nella mo<strong>da</strong>lità (b).<br />
b) Come variabile di ambiente del sistema operativo. Per questo si userà il comando<br />
set=CIPAR= dove sarà il file CIPAR che si userà in tutte le<br />
esecuzioni successive dei programmi CISIS.<br />
Esempio:<br />
c:\>set cipar=\cipar.par<br />
Questa istruzione creerà una variabile d’ambiente (una variabile globale del sistema<br />
operativo) chiamata CIPAR il cui contenuto è c:\cipar.par. Tutte le applicazioni CISIS<br />
che si eseguiranno a partire <strong>da</strong> questo momento prenderanno questo file come CIPAR,<br />
a prescindere <strong>da</strong> dove i programmi vengano lanciati.<br />
E’ possibile cambiare il parametro in un altro file riassegnando la variabile di ambiente<br />
nuovamente con una istruzione set=.<br />
c:\> set cipar=\otro.par<br />
Per eliminare questa variabile <strong>da</strong>ll’ambiente del sistema operativo è sufficiente<br />
assegnarle un valor nullo:<br />
c:\> set cipar=<br />
La capacità di assegnare valori globali del sistema operativo non è un’esclusiva del MS-<br />
DOS; altri sistemi operativi come Unix hanno questa possibilità, quantunque ricorrano<br />
a comandi diversi:<br />
• SunOs e UNIX/CSH usano<br />
setenv cipar=x<br />
• HP-UX, UNISYS 6000 e UNIX/ksh usano<br />
cipar=x; export cipar<br />
Se esiste CIPAR come variabile d’ambiente e inoltre si dichiara il parametro cipar=<br />
nella linea dei comandi di MX, quest’ultimo prevarrà per questa la specifica esecuzione<br />
che lo implica.<br />
176
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
Esempio:<br />
C:\> set cipar=c:\cipar.par<br />
C:\> mx cipar=otro.par CDS from=10 to= ... etc.<br />
L’esecuzione MX di questo comando userà le definizioni del file otro.par.<br />
<strong>Parametri</strong> che possono venire inclusi nel CIPAR<br />
<strong>Parametri</strong> solo per MX<br />
Riceve parametri <strong>da</strong> una chiamata CGI<br />
[cgitag=] [cgipfx=] cgi={|mx}<br />
Memorizza i <strong>da</strong>ti del CGI in un campo ripetibile con etichetta definita <strong>da</strong> cgitag, per<br />
default il campo 2000. Ogni coppia di <strong>da</strong>ti nome/valore è riposta nei sottocampi ^n<br />
^v. MX leggerà ogni linea mediante un formato ( o mx.pft) che dovrà venire<br />
incluso come parametro supplementare.<br />
cgitag= Etichetta di campo per i sottocampi n, v (per default 2000)<br />
cgipfx= Prefisso del nome dell’etichetta di campo (per default tag)<br />
cgi= Specifica i parametri del mx mediante un formato<br />
cgi=mx Specifica i parametri del mx tramite i nomi corrispondenti<br />
Esempi:<br />
• Nella linea di comando si definiscono le variabili REQUEST_METHOD=GET e<br />
QUERY_STRING, poi si invoca l’MX indicando il formato <strong>da</strong> interpretare in mo<strong>da</strong>lità<br />
CGI.<br />
° Per Windows<br />
set REQUEST_METHOD=GET<br />
set<br />
"QUERY_STRING=db~cds&count~2&now&btell~0&bool~plants*water&pft~mfn/"<br />
° Per Linux<br />
export REQUEST_METHOD=GET<br />
export<br />
QUERY_STRING="db~cds&count~2&now&btell~0&bool~plants*water&pft~mfn/"<br />
° Per Linux e Windows:<br />
mx cgi=mx<br />
000004<br />
177
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
000011<br />
Affinché il formato interpreti la variabile QUERY_STRING si deve utilizzare come<br />
separatore di occorrenze il carattere riservato & e come separatore di sottocampi il<br />
carattere ~. Il formato specificato deve trattare i sottocampi n (prima del ~ nel caso<br />
che exista) e v (dopo del ~ nel caso che exista) dell’etichetta di campo (tag) definita.<br />
• Nella linea di comando si definiscono le variabili REQUEST_METHOD=GET,<br />
QUERY_STRING, poi si richiama MX forzando la lettura dei <strong>da</strong>ti in un campo<br />
determinato (11000 nell’esempio) e indicando il formato che va interpretato <strong>da</strong>lla<br />
mo<strong>da</strong>lità CGI.<br />
° Per Windows<br />
set REQUEST_METHOD=GET<br />
set<br />
"QUERY_STRING=db~cds&count~2&now&btell~0&bool~plants*water&pft~mfn/"<br />
° Per Linux<br />
export REQUEST_METHOD=GET<br />
export<br />
QUERY_STRING="db~cds&count~2&now&btell~0&bool~plants*water&pft~mfn/"<br />
° Per Linux e Windows:<br />
mx cgitag=11000 “cgi=(if v11000^n=’db’ then v11000^n,’=’,v11000^v/<br />
fi)”<br />
mfn=1<br />
24 «Techniques for the measurement of transpiration of individual<br />
plants»<br />
26 «^aParis^bUnesco^c-1965»<br />
30 «^ap. 211-224^billus.»<br />
70 «Magalhaes, A.C»<br />
70 «Franco, C.M.»<br />
44 «Methodology of plant eco-physiology: proceedings of the<br />
Montpellier Symposium»<br />
...<br />
• In questo esempio i parametri vengono passati <strong>da</strong>ll’ambiente CGI e non <strong>da</strong>lle<br />
variabili d’ambiente. In un servente (server) web, col programma mx e il formato<br />
mx.pft scritti nell’area CGI, si compone la seguente pagina.<br />
<br />
<br />
Esempio di chiamata di MX in ambiente CGI<br />
<br />
<br />
178
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
<br />
Man<strong>da</strong>re in esecuzione MX con 'bool=' e 'count=' attribuendo i<br />
seguenti valori: <br />
Espressione di ricerca (bool=):  <br />
Num. di record <strong>da</strong> mostrare (count=): <br />
 <br />
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
echo maxmfrl=32767 >xcip<br />
mx cipar=xcip bigrecsdb<br />
cipar: ci_fststrip=<br />
Elimina qualsiasi marcatura del tipo o fino ad un massimo di<br />
caratteri di lunghezza per i campi <strong>da</strong>ti all’inizio dell’esecuzione di una FST (i<br />
campi <strong>da</strong>ti vengono riempiti con spazi blanks).<br />
echo ci_fststrip=21 >xcip<br />
mx cds<br />
mfn= 1<br />
69 «Paper on: »<br />
mx cipar=xcip cds "fst=690 4 v69"<br />
mfn= 1<br />
69 «Paper on: »<br />
690 «PAPER^m1^o1^c1^l1»<br />
690 «ON^m1^o1^c2^l1»<br />
690 «MEASUREMENT^m1^o1^c3^l2»<br />
690 «AND^m1^o1^c4^l1»<br />
690 «INSTRUMENTS^m1^o1^c5^l2»<br />
<strong>Parametri</strong> per MX e applicazioni programmate per<br />
ambiente multiutente<br />
{netws | 14} | .net ={0 | single | MONONETS} |<br />
{1 | full | FULLNETS} |{ 2 | master | MASTNETS }<br />
I valori dei parametri corrispondono ai valori 0, 1, 2, del parametro 14 del<br />
SYSPAR.PAR. Il valore per default è MONONETS. Si può anche assegnare il parametro<br />
di lavoro in rete ad una base <strong>da</strong>ti particolare mediante .net=<br />
Esempi:<br />
14=1<br />
netws=MASTNETS<br />
cds.net=FULLNET<br />
180
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
Parametro maxmfrl<br />
maxmfrl=<br />
Attua la stessa specificazione che il parametro mfrl= della linea di comando del<br />
programma MX.<br />
Parametro mstxl nel CIPAR<br />
n=0 ... 4 (0 è valore per default, predefinito nell’interfaccia CISIS)<br />
mstxl=<br />
mstxl | /mstxl=<br />
Determina la dimensione massima che può avere il file .MST. Questo parametro viene<br />
letto e preso in conto solamente durante la creazione della base <strong>da</strong>ti.<br />
Massimo .MST Record en bytes múltiplo de<br />
0 512 MB 2 (valor por default)<br />
1 1 GB 2<br />
2 2 GB 4<br />
3 o 4 4 GB 8<br />
Esempio:<br />
cds/mstxl=3<br />
Questi parametri si applicano anche a WinISIS, ISIS.DLL e WWWISIS e a tutte le<br />
applicazioni sviluppate con l’interfaccia CISIS.<br />
Come superare il limite di 512 MB per il master file:<br />
Il puntatore di ogni record del file .MST è memorizzato dentro il file .XRF. Questo<br />
puntatore è ripartito in due campi: campo del numero di blocco e campo della<br />
posizione (offset) dentro al blocco. Questi due campi occupano rispettivamente 20 e 9<br />
bit.<br />
181
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
!<br />
In aggiunta a questi due campi, ci sono 2 bit per i<br />
contrassegni (flag) di "I/F up<strong>da</strong>te is pending" (uno<br />
per record Nuovo e un altro per record Modificato).<br />
Il puntatore è di 4 byte ed è trattato come un numero intero + segno (segno negativo<br />
indica record fisicamente/logicamente cancellato).<br />
In tal modo il limite è di 512 MB, come qui esemplificato:<br />
2**20-1 = 1048675 blocchi <strong>da</strong> 512 (offset <strong>da</strong> 0 fino a 2**9-1 = 511)<br />
L’implementazione di MSTXL nell’interfaccia CISIS usa offset per blocchi <strong>da</strong> 512 byte<br />
in unità di 2, 4 e 8 byte (usando pertanto 8, 7 e 6 bit per memorizzare l’offset) e<br />
numero di blocco in 21, 22, e 24 bit, rispettivamente, per mstxl = 1, 2, e 3 (o 4).<br />
L’identificazione di un master file in formato MSTXL è memorizzata nel byte<br />
all’estrema sinistra del campo MFTYPE del record di controllo del file .MST, che viene<br />
reinizializzato quando caricato in memoria a fine elaborazione. Questa identità viene<br />
tenuta presenta <strong>da</strong> CISIS durante le letture/scritture successive fino a che questo<br />
master file non viene chiuso.<br />
E’ sufficiente creare un master file con un CIPAR che contenga mstxl= o<br />
/mstxl= affinché le procedure successive onorino tale inizializzazione a<br />
prescindere <strong>da</strong>l CIPAR.<br />
Parametro dbxtrace=y<br />
Visualizza messaggi nell’uscita stan<strong>da</strong>rd (stdout - stan<strong>da</strong>rd output ):<br />
dbxopen - fd= [R]<br />
dbxopen - fd= [RW]<br />
file descriptor number<br />
[R] file was opened for read<br />
[RW] file was opened for read/write<br />
dbxtrace=y idem "trace=dbx" del MX (come trace=rec, trm, giz, b40, par, mul, etc)<br />
dbxtrace=y<br />
182
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
Parametro mstload=<br />
Carica in memoria e chiude i master file (default=0).<br />
mstload= idem "load=" del MX, para M/F<br />
Parametro invload=<br />
Carica in memoria e chiude gli inverted file (default=0).<br />
invload= idem "load=" del MX, para I/F<br />
Parametro mclose={y|n}<br />
Chiude tutti i master file (default=n).<br />
mclose=y sólo permanece abierto un master file<br />
Parametro iflush={y|n}<br />
Svuota tutti gli inverted file (default=n).<br />
mstload=<br />
invload=<br />
mclose={y|n}<br />
iflush={y|n}<br />
iflush=y rimane aperto solamente un inverted file con il suo<br />
"<strong>da</strong>ta base descriptor" in memoria<br />
183
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
Parametro mflush={y|n}<br />
Svuota tutti i master file (default=n).<br />
mflush={y|n}<br />
mflush=y rimane aperto solamente un master file con il suo "<strong>da</strong>ta<br />
Parametro what={y|n}<br />
base descriptor" in memoria. (<strong>da</strong>ta base descriptor<br />
include buffers di i/o e gizmo)<br />
Visualizza la versione CISIS in uso (default=n).<br />
what={y|n}<br />
what=y idem "what" del MX (indicato come unico parametro di<br />
MX)<br />
Esempi<br />
• Creare un master file senza record o reinizializzarne uno esistente<br />
mx seq=NUL create=NUOVA<br />
Se esiste una base <strong>da</strong>ti con tale nome, MX non emetterà avviso che questa verrà<br />
irreversibilmente cancellata.<br />
• Compattare una base <strong>da</strong>ti<br />
Quest’operazione serve a recuperare spazio occupato a vuoto nel file .MST a causa di<br />
ripetuti aggiornamenti dei record.<br />
mx DATOS -all now create=DBN_AUX tell=100<br />
xcopy DBN_AUX.* DATOS.*<br />
del DBN_AUX.*<br />
FULLINV DATOS DATOS.FST DATOS<br />
• Verificare elementi duplicati<br />
Si desidera verificare nel catalogo dei libri che non esistano numeri di inventario<br />
doppioni. I numero d’inventario sono registrati nel campo 7 e sono indicizzati con<br />
tecnica 0 e il prefisso INV=, cioè: |INV=|v7.<br />
184
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
mx LIBROS "pft=(if npost(|INV=|v7) > 1 then mfn,x3,v7/ fi)" tell=100<br />
now > duplic.lst<br />
La procedura necessita che l’inverted file sia presente.<br />
• Condurre una rapi<strong>da</strong> analisi dei campi utilizzati dentro ad una base <strong>da</strong>ti<br />
Sono richiesti i programmi MX.EXE e MXF0.EXE e questi due file di formato:<br />
DMXF0A.PFT<br />
'Analisis de los <strong>da</strong>tos della base ',v1001/#<br />
" 1001 = input master file name ................. "v1001/,<br />
" 1003 = <strong>da</strong>te & time stamp ...................... "v1003/,<br />
" 1009 = total number of records ................ "v1009/,<br />
" 1010 = number of active records ............... "v1010/,<br />
" 1011 = number of logically deleted records .... "v1011/,<br />
" 1012 = number of phisically deleted records ... "v1012/,<br />
DMXF0B.PFT<br />
/#<br />
"TAG DOCS OCCS"d1020/<br />
"---------------------"d1020/<br />
,(v1020^t,v1020^d,v1020^o/),<br />
Con ciò si prepara un file .bat, del tipo:<br />
MYSCAN.BAT<br />
REM %1 = %2 = <br />
REM<br />
mxf0 %1 create=lista %2 tell=100<br />
mx lista pft=@dmxf0a.pft now > %1.lst<br />
mx lista pft=@dmxf0b.pft now >> %1.lst<br />
L’esecuzione di MYSCAN.BAT necessita di due parametri in ingresso, la base <strong>da</strong>ti col suo<br />
percorso (path) e il numero stimato di record in essa contenuti.<br />
Come risultato verrà prodotto un file col nome della base e l’estensione .lst.<br />
Esempio:<br />
myscan c:\dbisis\cds\cds 150<br />
• Eliminare termini doppi in un campo ripetibile<br />
Supponendo che i descrittori vengano scritti nel campo v87, come campo ripetibile.<br />
mx DATOS fmtl=20000 proc=@LIMPIO from=1 to=100 now -all create=OUT<br />
185
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
Il file LIMPIO contiene queste istruzioni di formato:<br />
proc('d870d871'),<br />
( if v870[1] : s(v87|~|)<br />
then<br />
else proc('D870A870|'v870[1],v87'~|','A871|'v87'|')<br />
fi ),<br />
proc('d870'),<br />
proc('d87d871',|A87~|v871|~|),<br />
• Controllo di qualità dei <strong>da</strong>ti<br />
Si presenta qui un modello semplificato di un file .bat per realizzare vari controlli su<br />
una base <strong>da</strong>ti. Per questo esempio si dispone di una base <strong>da</strong>ti di nome TEST sulla quale<br />
si effettuano i controlli indicati nel menu, e una base THES (thesaurus) nei confronti<br />
della quale si convali<strong>da</strong>no i descrittori di TEST.<br />
CHK.BAT<br />
@echo off<br />
:BEGIN<br />
cls<br />
echo ----------------------------------------------------------echo<br />
QUALITY CONTROL<br />
echo ----------------------------------------------------------echo.<br />
echo E - Delete invalid characters (clean records)<br />
echo O - Check man<strong>da</strong>tory fields<br />
echo D - Check Descriptors<br />
echo X - Exit<br />
echo.<br />
choice /c:EODX /N Select one option:<br />
if errorlevel 4 goto END<br />
if errorlevel 3 goto DESCRIPTORES<br />
if errorlevel 2 goto OBBLIGATORIOS<br />
if errorlevel 1 goto CLEAN<br />
:CONTINUA<br />
echo.<br />
echo (Press any key to continue...)<br />
pause > nul<br />
goto BEGIN<br />
:CLEAN<br />
call OPC_CLN. BAT<br />
186
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
goto CONTINUA<br />
:OBBLIGATORIOS<br />
call OPC_OBL.BAT<br />
goto CONTINUA<br />
:DESCRIPTORES<br />
call OPC_DES.BAT<br />
goto CONTINUA<br />
:END<br />
La procedura è completata <strong>da</strong> una serie di file .bat che realizanno ciascuno una delle<br />
opzioni offerte.<br />
I file si chiamano OPC_xxx, dove xxx rappresenta ciascuna delle opzioni del menu. Ogni<br />
OPC_xxx attiva un programma CISIS che richiama un file in= che contiene i<br />
parametri necessari per la funzione di vali<strong>da</strong>zione. Associato a quel si trova<br />
un file di formato col medesimo nome e con estensione .pft, che verrà impiegato per la<br />
convali<strong>da</strong> dei <strong>da</strong>ti.<br />
Se la vali<strong>da</strong>zione viene effettuata a fronte di un inverted file, il in= richiamerà<br />
una procedura di jchk.<br />
OPC_CLN.BAT<br />
@echo off<br />
mxcp \dbisis\TEST \dbisis\TEST clean > garbage<br />
OPC_OBL.BAT<br />
@echo off<br />
echo Wait..<br />
mx in=chk00 >> errores.tmp<br />
CHK00<br />
\dbisis\test<br />
pft=@chk00.pft<br />
-all<br />
now<br />
CHK00.PFT (esempio de un .PFT de vali<strong>da</strong>ción)<br />
if a(v02) then mfn,c8,'02->FATAL ERROR: field #2 missing!' fi/<br />
if a(v01) then mfn,c8,'01->ERROR: field #01 missing!' fi/<br />
if a(v923) and p(v23) then mfn,c8,'923->ERROR: field #923 missing!'<br />
fi/<br />
if v31'ENG' then mfn,c8,'31->ERROR: field #31 invalid!' fi/<br />
OPC_DES.BAT<br />
187
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
@echo off<br />
echo Wait...<br />
mx in=chk620 >> errores.tmp<br />
CHK620 (verifica el campo 620 contra un tesauro)<br />
\dbisis\test<br />
jchk=Thes=mhu,(v620/)<br />
pft=@chk620.pft<br />
-all<br />
now<br />
CHK620.PFT<br />
if p(v32001) then ( if a(v32001^m) then mfn,c8,|620-<br />
>|v32001^k,c65,'*invalid'/ fi ) fi<br />
• Indice particolare dei titoli<br />
Indicizzando il campo titolo (di seriali o monografie) con tecnica 0 (campo completo),<br />
l’ordinamento alfabetico nel dizionario non onora le norme biblioteconomiche secondo<br />
cui non si devono ordinare i titoli sotto parole come gli articoli: A, An, El, Los, The, etc.<br />
In CDS/ISIS è possibile ottenere una corretta uscita a stampa se tali parole vengono<br />
racchiuse tra , però tale accorgimento non ha effetti funzionali dentro l’ inverted<br />
file. L’esempio che segue risolve il problema.<br />
Si indicizza il campo v24 (titolo), nei record fra 15 e 20, in tre modi per potere<br />
raffrontare i risultati. Gli esempi 1 e 2 mostrano ciò che ottiene con CDS/ISIS<br />
stan<strong>da</strong>rd, mentre l’esempio 3 mostra la soluzione del problema.<br />
Si usa la seguente FST: 240 0 v24<br />
mx CDS from=15 to=20 now -all "fst=240 0 v24" ifupd/create=cds<br />
ifkeys cds +tags<br />
1| 240| METHOD OF DETERMINING EVAP<br />
1| 240| HEAT RESISTANCE OF PLANT<br />
1| 240| MEASUREMENT OF DROUGHT R<br />
1| 240| ROLE OF DEW IN PINE SURV<br />
1| 240|GAUGES FOR THE STUDY OF EVAPOT<br />
1| 240|MEASUREMENT OF DROUGHT RESISTA<br />
Tutti i titoli che contengono compaiono all’inizio del dizionario <strong>da</strong>to che il<br />
carattere < ha valore ASCII inferiore a quello della lettera "A".<br />
188
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
Si usa la seguente FST: 240 0 mhu,v24<br />
mx CDS "fst=240 0 mhu,v24" ifupd/create=cds now -all from=15 to=20<br />
Il risultato nel dizionario è il seguente:<br />
Ifkeys CDS +tags<br />
1| 240|A METHOD OF DETERMINING EVAPOT<br />
1| 240|GAUGES FOR THE STUDY OF EVAPOT<br />
1| 240|MEASUREMENT OF DROUGHT RESISTA<br />
1| 240|THE HEAT RESISTANCE OF PLANTS,<br />
1| 240|THE MEASUREMENT OF DROUGHT RES<br />
1| 240|THE ROLE OF DEW IN PINE SURVIV<br />
Dato che si è usato il modo MHU, le non compaiono nel dizionario. La sequenza<br />
alfabetica continua a considerare le parole non significative.<br />
La soluzione si ottiene usando un gizmo= WORDS, il cui contenuto è:<br />
mfn= 1<br />
1 « »<br />
mfn= 2<br />
1 « »<br />
mfn= 3<br />
1 « »<br />
mfn= 4<br />
1 « »<br />
mfn= 5<br />
1 «»<br />
..<br />
Non c’è campo 2 nel gizmo, perché la conversione trasforma il <strong>da</strong>to del campo 1 in<br />
nulla. Inoltre si lascia uno spazio alla fine di ogni campo affinché i campi titolo, dopo<br />
l’applicazione del gizmo non comincino con un blank.<br />
mx CDS from=15 to=20 now -all "fst=240 0 v24" ifupd/create=cds<br />
gizmo=words,24<br />
189
Programmi di utilità CISIS: manuale di riferimento Appendice II - File CIPAR<br />
ifkeys CDS +tags<br />
1| 240|GAUGES FOR THE STUDY OF EVAPOT<br />
1| 240|HEAT RESISTANCE OF PLANTS, ITS<br />
2| 240|MEASUREMENT OF DROUGHT RESISTA<br />
1| 240|METHOD OF DETERMINING EVAPOTRA<br />
1| 240|ROLE OF DEW IN PINE SURVIVAL I<br />
190
Appendice III - Struttura<br />
del record di una base<br />
ISIS<br />
Un record con struttura ISIS presenta due caratteristiche speciali che offrono grande<br />
flessibilità per la gestione delle informazioni testuali: campi ripetibili e a lunghezza<br />
variabile.<br />
Assunto che i record non hanno lunghezza predefinita, e che nemmeno i campi hanno<br />
lunghezza fissa, né sono presenti un numero fisso di volte (occorrenze), non è possibile<br />
avere accesso diretto a qualsivoglia porzione di <strong>da</strong>ti all’interno della base.<br />
L’accesso al record si fa dunque in maniera indiretta, per il tramite di puntatori<br />
residenti in un file ausiliare con estensione .XRF, e dentro al record si accede ai <strong>da</strong>ti<br />
mediante puntatori interni a una directory.<br />
Il file .XRF contiene tutta l’informazione necessaria per reperire il punto d’inizio del<br />
record cercato dentro al .MST<br />
Per tutti gli esempi che seguono si userà il record con MFN=1 della base CDS, il cui<br />
contenuto completo è il seguente:<br />
191
Programmi di utilità CISIS: manuale di riferimento Appendice III - Struttura del record di una base ISIS<br />
\cisis\bases\cds Base <strong>da</strong>ti<br />
Nxtmfn nxtmfb nxtmfp t reccnt mfcxx1 mfcxx2 mfcxx3 RC<br />
152 123 13 0 0 0 0 0 0<br />
Record di controllo(control)<br />
Mfn= 1|comb= 1|comp= 64| N| ... | 1+000=00000c40 xref<br />
Mfn= 1|mfrl= 370|mfbwb= 0|mfbwp= 0|base= 66|nvf= 8|status=<br />
0| 0<br />
Mfn= 1|dir= 1|tag= 44|pos= 0|len= 77<br />
Mfn= 1|dir= 2|tag= 50|pos= 77|len= 11<br />
Mfn= 1|dir= 3|tag= 69|pos= 88|len= 78<br />
Mfn= 1|dir= 4|tag= 24|pos= 166|len= 68<br />
Mfn= 1|dir= 5|tag= 26|pos= 234|len= 22<br />
Mfn= 1|dir= 6|tag= 30|pos= 256|len= 20<br />
Mfn= 1|dir= 7|tag= 70|pos= 276|len= 15<br />
Mfn= 1|dir= 8|tag= 70|pos= 291|len= 12<br />
Mfn= 1<br />
44 «Methodology of plant eco-physiology: proceedings of the<br />
Montpellier Symposium»<br />
50 «Incl. bibl.»<br />
69 «Paper on: »<br />
24 «Techniques for the measurement of transpiration of individual<br />
plants»<br />
26 «^aParis^bUnesco^c-1965»<br />
30 «^ap. 211-224^billus.»<br />
70 «Magalhaes, A.C.»<br />
70 «Franco, C.M.»<br />
..<br />
Il record di CONTROL<br />
leader<br />
dir<br />
fields<br />
Una base ISIS contiene un record particolare all’inizio (MFN=0) , record cui CDS/ISIS<br />
non fornisce accesso. Questo record è dotato di una struttura diversa <strong>da</strong> quella di tutti<br />
gli altri record del master file (MST).<br />
La struttura è:<br />
Le informazioni contenute in questo record si visualizzano<br />
grazie al parametro +control.<br />
Struttura del record di CONTROLLO<br />
Ctlmfn Sempre 0. Questo campo non viene mostrato con MX +control.<br />
Nxtmfn MFN <strong>da</strong> assegnare al prossimo record.<br />
Nxtmfb Ultimo blocco assegnato nel .MST. I blocchi sono di 512 byte.<br />
192
Programmi di utilità CISIS: manuale di riferimento Appendice III - Struttura del record di una base ISIS<br />
Struttura del record di CONTROLLO<br />
Nxtmfp Prima posizione libera dentro all’ultimo blocco assegnato. Un record può cominciare<br />
in qualsiasi posizione libera fra 0-498 e estendersi per uno o più blocchi. Nessun<br />
record può cominciare fra i 500 e 510.<br />
Mftype Tipo di base <strong>da</strong>ti: 0 base dell’utente, 1 base dei messaggi di sistema.<br />
Reccnt Riservato.<br />
Mfcxx1 Riservato.<br />
Mfcxx2 Blocco dell’input dei <strong>da</strong>ti, valori 0, 1...n, a secon<strong>da</strong> di quanti record si stanno<br />
editando in un determinato momento.<br />
Mfcxx3 Blocco di lettura esclusiva (read only), valori 0/1.<br />
Il record di XREF<br />
Il file .XRF è strutturato come una tavola di puntatori verso il master file (.MST). Il<br />
primo puntatore corrisponde al MFN=1, il secondo al MFN=2, etc.<br />
Ogni puntatore è costituito <strong>da</strong> due campi (4 byte) che nella tabella del precedente<br />
esempio indicano che l’MFN=1 comincia nel blocco 1 (comb) e dentro al blocco a<br />
partire <strong>da</strong>l byte 65 (comp) e che non presenta ‘aggiornamento in sospeso’ per<br />
l’inverted file. L’ultimo valore è il riferimento reale del puntatore espresso in valore<br />
esadecimale.<br />
Ogni blocco del .XRF è un file di 512 byte di lunghezza e contiene 127 puntatori (<strong>da</strong>to<br />
importante per la ricostruzione del .MST illustrata col programma d’utilità CTLMFN).<br />
Il record del file MST<br />
I record del master file vengono memorizzati consecutivamente, uno dopo l’altro, ogni<br />
record occupando esattamente MFRL byte. Ogni file viene memorizzato a blocchi fisici<br />
di 512 byte. Un record può cominciare in qualsiasi punto fra le posizioni 0 e 498 ed<br />
estendersi per uno o più blocchi.<br />
Il record MST ha lunghezza variabile e consiste di tre sezioni:<br />
• Una a lunghezza fissa (leader);<br />
• Una directory;<br />
• I campi per i <strong>da</strong>ti a lunghezza variabile.<br />
193
Programmi di utilità CISIS: manuale di riferimento Appendice III - Struttura del record di una base ISIS<br />
Struttura del LEADER<br />
Il leader è costituito <strong>da</strong> un blocco a lunghezza fissa di 18 byte.<br />
Mfn Numero di record<br />
Mfrl Lunghezza totale del record, includendovi le tre sezioni: leader, directory e area dei <strong>da</strong>ti.<br />
E’ sempre un numero pari.<br />
Mfbwb Puntatore alla versione precedente del record, numero di blocco dentro l’MST.<br />
Inizialmente sta a 0, e così pure dopo l’aggiornamento dell’inverted file.<br />
Mfbwp Puntatore alla versione precedente del record. Posizione offset dentro al blocco.<br />
Base Posizione dentro al record in cui comincia l’area dei <strong>da</strong>ti. Questo valore risulta <strong>da</strong>lla<br />
somma della lunghezza del leader più quella della directory.<br />
Nvf Numero di campi nel record, ossia la quantità di entrate nella directory del record.<br />
Status Indicatore di stato (0 = record attivo; 1 = logicamente borrado)<br />
Struttura della DIRECTORY<br />
La directory del record è un indice dei contenuti del record situati nella porzione dei<br />
<strong>da</strong>ti. Questo indice è costituito <strong>da</strong> tante entrate quanti sono i campi dentro al record<br />
(nvf), e consente di accedere ai <strong>da</strong>ti. Ogni entrata nella directory è composta di tre<br />
parti:<br />
Tag Identificatore del campo o etichetta.<br />
Pos Indirizzo espresso in byte del punto in cui comincia il primo carattere del campo<br />
all’interno dell’area <strong>da</strong>ti.<br />
Len Lunghezza del campo in bytes.<br />
194
Da usare sia per visualizzazione che per conversione di basi <strong>da</strong>ti<br />
ASCII CODE PAGE 437 (CP437)<br />
Appendice IV - Lista dei<br />
file TAB disponibili<br />
ac437.tab Caratteri validi dell’insieme ASCII CP437<br />
ac437n.tab Caratteri validi dell’insieme ASCII CP437 incl. 0-9<br />
ac437XT.tab Caratteri validi dell’insieme ASCII CP437 incl. 0-9 e &'()*+,-./:<br />
ma437.tab Conversione dei caratteri a maiuscole (con accento)<br />
mi437.tab Conversione dei caratteri a minuscole (con accento)<br />
na437.tab Elimina gli accenti mantenendo maiuscole/minuscole di caratteri<br />
uc437.tab Conversione dei caratteri a maiuscole (senza accenti)<br />
lc437.tab Conversione dei caratteri a minuscole (senza accenti)<br />
ASCII CODE PAGE 850 (CP850)<br />
ac850.tab Caratteri validi dell’insieme ASCII CP850<br />
ac850n.tab Caratteri validi dell’insieme ASCII CP850 incl. 0-9<br />
ac850XT.tab Caratteri validi dell’insieme ASCII CP850 incl. 0-9 e &'()*+,-./:<br />
ma850.tab Conversione a maiuscole (con accento) dei caratteri<br />
195
Programmi di utilità CISIS: manuale di riferimento Appendice IV - Lista dei file TAB disponibili<br />
mi850.tab Conversione a minuscole (con accento) dei caratteri<br />
na850.tab Elimina gli accenti mantenendo maiuscole/minuscole dei caratteri<br />
uc850.tab Conversione a maiuscole (senza accento) dei caratteri<br />
lc850.tab Conversione a minuscole (senza accento) dei caratteri<br />
ANSI (Windows)<br />
acans.tab Caratteri validi dell’insieme ANSI<br />
acansn.tab Caratteri validi dell’insieme ANSI incl. 0-9<br />
acansXT.tab Caratteri validi dell’insieme ANSI incl. 0-9 e &'()*+,-./:<br />
maans.tab Conversione a maiuscole (con accento) dei caratteri<br />
mians.tab Conversione a minuscole (con accento) dei caratteri<br />
naans.tab Elimina accenti mantenendo maiuscole/minuscole dei caratteri<br />
ucans.tab Conversione a maiuscole (senza accenti) dei caratteri<br />
lcans.tab Conversione a minuscole (senza accenti) dei caratteri<br />
GIZMO disponibili per la conversione del<br />
contenuto di basi <strong>da</strong>ti<br />
Conversione di insiemi di caratteri<br />
g437ans Conversione di ASCII CODE PAGE 437 vero ANSI<br />
gans437 Conversione di ANSI verso ASCII CODE PAGE 437<br />
g850ans Conversione di ASCII CODE PAGE 850 verso ANSI<br />
gans850 Conversione di ANSI verso ASCII CODE PAGE 850<br />
gutf8ans Conversione di UFT-8 verso ANSI<br />
gansutf8 Conversione di ANSI verso UFT-8<br />
ASCII CODE PAGE 437 (CP437)<br />
g437ma Conversione a maiuscole accentate<br />
g437mi Conversione a minuscole accentate<br />
g437na Toglie accenti lasciando maiuscole/minuscole<br />
g437uc Conversione a maiuscole senza accento (Upper case)<br />
g437lc Conversione a minuscole senza accento (Lower case)<br />
196
Programmi di utilità CISIS: manuale di riferimento Appendice IV - Lista dei file TAB disponibili<br />
ASCII CODE PAGE 850 (CP850)<br />
g850ma Conversione a maiuscole accentate<br />
g850mi Conversione a minuscole accentate<br />
g850na Toglie accenti lasciando maiuscole/minuscole<br />
g850uc Conversione a maiuscole senza accento (Upper case)<br />
g850lc Conversione a minuscole senza accento (Lower case)<br />
ANSI (Windows)<br />
Gansma Conversione a maiuscole accentate<br />
Gansmi Conversione a minuscole accentate<br />
Gansna Toglie accenti lasciando maiuscole/minuscole<br />
Gansuc Conversione a maiuscole senza accento (Upper case)<br />
Ganslc Conversione a minuscole senza accento (Lower case)<br />
Conversione supplementare dei caratteri di<br />
marcatura<br />
Gentit Conversione di caratteri per mezzo dell’elemento HTML corrispondente ("&')<br />
gchar Conversione verso l’elemento HTML per mezzo dei caratteri corrispondenti<br />
("&')<br />
Conversione supplementare <strong>da</strong> e verso elementi<br />
HTML<br />
Ghtmlans Converte elementi HTML in caratteri ANSI<br />
Ganshtml Converte caratteri ANSI in elementi HTML<br />
ghtml850 Converte elementi HTML in caratteri ASCII CP850<br />
g850html Converte caratteri ASCII CP850 in elementi HTML<br />
ghtml437 Converte elementi HTML in caratteri ASCII CP437<br />
g437html Converte caratteri ASCII CP437 in elementi HTML<br />
197
Programmi di utilità CISIS: manuale di riferimento Appendice IV - Lista dei file TAB disponibili<br />
Come riconoscere l’insieme di caratteri che è<br />
presente in una base CDS/ISIS<br />
Se nella distribuzione dei caratteri reperita <strong>da</strong> MXF0 NON SONO PRESENTI caratteri<br />
con codici compresi fra 127(0x7f) e 159(0x9f) (inclusi), allora la base usa l’insieme<br />
ANSI.<br />
Se nella distribuzione dei caratteri reperita <strong>da</strong> MXF0 c’è forte concentrazione di codici<br />
<strong>da</strong> 128(0x80) fino a 167(0xa7) (inclusive) è molto probabile che si tratti di un insieme<br />
con Code Page 437.<br />
Se nella distribuzione dei caratteri reperita <strong>da</strong> MXF0 sono presenti elementi con uno di<br />
questi codici: 181(0xb5), 182, 183, 198, 199, 210, 211, 212, 214, 215, 216, 222, 224, 226,<br />
227, 228, 229, 233, 234, 235, 236, 237 allora è molto probabile che si tratti di Code<br />
Page 859.<br />
E’ di rilievo la presenza di caratteri discriminanti per l’identificazione della Code Page:<br />
198(0xc6) e 199(0xc6), sono ã e Ã, e 228(0xe4) e 229(0xe5) sone õ e Õ.<br />
!<br />
I caratteri 198 e 199 degli insiemi ANSI e ASCII 859<br />
sono stampabili trattandosi rispettivamente di “Æ”<br />
legatura fra A E“ e Ç in ANSI e di ã e à in ASC850,<br />
anche 228 e 229 son stampabili essendo ä e “å” a<br />
con cerchietto in ANSI e õ e Õ in ASCII850.<br />
Elemento di ulteriore complicazione: Windows 95 e 98 usano codifiche diverse <strong>da</strong><br />
quelle di Windows 98SE e successive.<br />
OSSERVAZIONI<br />
I gizmo di conversione fra gli insiemi di caratteri: ANSI; ASCII CP437; e ASCII CP850,<br />
hanno l’obbietivo di produrre caratteri grafici simili.<br />
I gizmo di CONVERSIONE SUPPLEMENTARE si limitano solo a trattare i caratteri<br />
accentati.<br />
198
!<br />
Appendice V - MX.PFT:<br />
Lista dei parametri che<br />
estrae <strong>da</strong>ll’ambiente CGI<br />
La lista dei parametri che diventano attivi in<br />
mx.pft deve venire a<strong>da</strong>ttata in vista<br />
dell’applicazione e dei permessi di<br />
lettura/scrittura che si attribuiranno.<br />
Per esempio, se si abilitano parametri come<br />
create=, append=, ifupd=, fullinv=e simili, la<br />
base <strong>da</strong>ti può rimanere esposta ad attività<br />
‘malintenzionate’.<br />
Parametro Formato di estrazione<br />
What ,(if v2000^n='what' then v2000^n/ fi),<br />
prolog= ,(if v2000^n='prolog' then v2000^n'='v2000^v/ fi),<br />
epilog= ,(if v2000^n='epilog' then v2000^n'='v2000^v/ fi),<br />
in= ,(if v2000^n='in' then v2000^n'='v2000^v/ fi),<br />
Trace ,(if v2000^n='trace' then v2000^n/ fi),<br />
Trace=dbx ,(if v2000^n='trace=dbx' then v2000^n/ fi),<br />
Trace=rec ,(if v2000^n='trace=rec' then v2000^n/ fi),<br />
Trace=dec ,(if v2000^n='trace=dec' then v2000^n/ fi),<br />
Trace=trm ,(if v2000^n='trace=trm' then v2000^n/ fi),<br />
Trace=b50 ,(if v2000^n='trace=b50' then v2000^n/ fi),<br />
Trace=b40 ,(if v2000^n='trace=b40' then v2000^n/ fi),<br />
Trace=fmt ,(if v2000^n='trace=fmt' then v2000^n/ fi),<br />
Trace=fst ,(if v2000^n='trace=fst' then v2000^n/ fi),<br />
199
Programmi di utilità CISIS: manuale di riferimento Appendice V - MX.PFT: Lista dei parametri che estrae <strong>da</strong>ll’ambiente CGI<br />
Parametro Formato di estrazione<br />
Trace=all ,(if v2000^n='trace=all' then v2000^n/ fi),<br />
Cipar= ,(if v2000^n='cipar' then v2000^n'='v2000^v/ fi),<br />
mfrl= ,(if v2000^n='mfrl' then v2000^n'='v2000^v/ fi),<br />
fmtl= ,(if v2000^n='fmtl' then v2000^n'='v2000^v/ fi),<br />
load= ,(if v2000^n='load' then v2000^n'='v2000^v/ fi),<br />
Pages= ,(if v2000^n='pages' then v2000^n'='v2000^v/ fi),<br />
Uctab= ,(if v2000^n='uctab' then v2000^n'='v2000^v/ fi),<br />
Actab= ,(if v2000^n='actab' then v2000^n'='v2000^v/ fi),<br />
-all ,(if v2000^n='-all' then v2000^n/ fi),<br />
-control ,(if v2000^n='-control' then v2000^n/ fi),<br />
-leader ,(if v2000^n='-leader' then v2000^n/ fi),<br />
-xref ,(if v2000^n='-xref' then v2000^n/ fi),<br />
-dir ,(if v2000^n='-dir' then v2000^n/ fi),<br />
-fields ,(if v2000^n='-fields' then v2000^n/ fi),<br />
+hits ,(if v2000^n='+hits' then v2000^n/ fi),<br />
Cgiplushits ,(if v2000^n='+hits''cgiplushits' then v2000^n'+hits'/ fi),<br />
+fix ,(if v2000^n='+fix' then v2000^n/ fi),<br />
+fix/m ,(if v2000^n='+fix/m' then v2000^n/ fi),<br />
+all ,(if v2000^n='+all' then v2000^n/ fi),<br />
+control ,(if v2000^n='+control' then v2000^n/ fi),<br />
+leader ,(if v2000^n='+leader' then v2000^n/ fi),<br />
+xref ,(if v2000^n='+xref' then v2000^n/ fi),<br />
+dir ,(if v2000^n='+dir' then v2000^n/ fi),<br />
+fields ,(if v2000^n='+fields' then v2000^n/ fi),<br />
from= ,(if v2000^n='from' then v2000^n'='v2000^v/ fi),<br />
to= ,(if v2000^n='to' then v2000^n'='v2000^v/ fi),<br />
loop= ,(if v2000^n='loop' then v2000^n'='v2000^v/ fi),<br />
count= ,(if v2000^n='count' then v2000^n'='v2000^v/ fi),<br />
tell= ,(if v2000^n='tell' then v2000^n'='v2000^v/ fi),<br />
b50= ,(if v2000^n='b50' then v2000^n'='v2000^v/ fi),<br />
b40= ,(if v2000^n='b40' then v2000^n'='v2000^v/ fi),<br />
nb1= ,(if v2000^n='nb1' then v2000^n'='v2000^v/ fi),<br />
nbb= ,(if v2000^n='nbb' then v2000^n'='v2000^v/ fi),<br />
nb0= ,(if v2000^n='nb0' then v2000^n'='v2000^v/ fi),<br />
nb2= ,(if v2000^n='nb2' then v2000^n'='v2000^v/ fi),<br />
btell= ,(if v2000^n='btell' then v2000^n'='v2000^v/ fi),<br />
b50t= ,(if v2000^n='b50t' then v2000^n'='v2000^v/ fi),<br />
b40t= ,(if v2000^n='b40t' then v2000^n'='v2000^v/ fi),<br />
b40u= ,(if v2000^n='b40u' then v2000^n'='v2000^v/ fi),<br />
dupr= ,(if v2000^n='dupr' then v2000^n'='v2000^v/ fi),<br />
dupl= ,(if v2000^n='dupl' then v2000^n'='v2000^v/ fi),<br />
p1= ,(if v2000^n='p1' then v2000^n'='v2000^v/ fi),<br />
p2= ,(if v2000^n='p2' then v2000^n'='v2000^v/ fi),<br />
Nowait ,(if v2000^n='nowait' then v2000^n/ fi),<br />
Now ,(if v2000^n='now' then v2000^n/ fi),<br />
stderr=off ,(if v2000^n='stderr=off' then v2000^n/ fi),<br />
Mono ,(if v2000^n='mono' then v2000^n/ fi),<br />
Mast ,(if v2000^n='mast' then v2000^n/ fi),<br />
Full ,(if v2000^n='full' then v2000^n/ fi),<br />
200
Programmi di utilità CISIS: manuale di riferimento Appendice V - MX.PFT: Lista dei parametri che estrae <strong>da</strong>ll’ambiente CGI<br />
Parametro Formato di estrazione<br />
db= ,(if v2000^n='db' then v2000^n'='v2000^v/ fi),<br />
dbn= ,(if v2000^n='dbn' then v2000^n'='v2000^v/ fi),<br />
dict= ,(if v2000^n='dict' then v2000^n'='v2000^v/ fi),<br />
k1= ,(if v2000^n='k1' then v2000^n'='v2000^v/ fi),<br />
k2= ,(if v2000^n='k2' then v2000^n'='v2000^v/ fi),<br />
cgi= ,(if v2000^n='cgi' then v2000^n'='v2000^v/ fi),<br />
Null ,(if v2000^n='null' then v2000^n/ fi),<br />
Tmp ,(if v2000^n='tmp' then v2000^n/ fi),<br />
seq= ,(if v2000^n='seq' then v2000^n'='v2000^v/ fi),<br />
iso= ,(if v2000^n='iso' then v2000^n'='v2000^v/ fi),<br />
isotag1= ,(if v2000^n='isotag1' then v2000^n'='v2000^v/ fi),<br />
bool= ,(if v2000^n='bool' then if v2000^v>'' then v2000^n'='v2000^v/ fi<br />
fi),<br />
if v2000:'^nbool^v' then 'bool='<br />
(if v2000^n='bool' then if v2000^v>'' then v2000^v fi fi),/<br />
fi,<br />
Mfbw ,(if v2000^n='mfbw' then v2000^n/ fi),<br />
tbin= ,(if v2000^n='tbin' then v2000^n'='v2000^v/ fi),<br />
tb= ,(if v2000^n='tb' then v2000^n'='v2000^v/ fi),<br />
join= ,(if v2000^n='join' then v2000^n'='v2000^v/ fi),<br />
jchk= ,(if v2000^n='jchk' then v2000^n'='v2000^v/ fi),<br />
jch0= ,(if v2000^n='jch0' then v2000^n'='v2000^v/ fi),<br />
jch1= ,(if v2000^n='jch1' then v2000^n'='v2000^v/ fi),<br />
jmax= ,(if v2000^n='jmax' then v2000^n'='v2000^v/ fi),<br />
jtag= ,(if v2000^n='jtag' then v2000^n'='v2000^v/ fi),<br />
proc= ,(if v2000^n='proc' then v2000^n'='v2000^v/ fi),<br />
convert= ,(if v2000^n='convert' then v2000^n'='v2000^v/ fi),<br />
decod= ,(if v2000^n='decod' then v2000^n'='v2000^v/ fi),<br />
gizp= ,(if v2000^n='gizp' then v2000^n'='v2000^v/ fi),<br />
gizmo= ,(if v2000^n='gizmo' then v2000^n'='v2000^v/ fi),<br />
giz1= ,(if v2000^n='giz1' then v2000^n'='v2000^v/ fi),<br />
giz2= ,(if v2000^n='giz2' then v2000^n'='v2000^v/ fi),<br />
putdir= ,(if v2000^n='putdir' then v2000^n'='v2000^v/ fi),<br />
getdir= ,(if v2000^n='getdir' then v2000^n'='v2000^v/ fi),<br />
sys= ,(if v2000^n='sys' then v2000^n'='v2000^v/ fi),<br />
sys/show= ,(if v2000^n='sys/show' then v2000^n'='v2000^v/ fi),<br />
text= ,(if v2000^n='text' then v2000^n'='v2000^v/ fi),<br />
text/show= ,(if v2000^n='text/show' then v2000^n'='v2000^v/ fi),<br />
lw= ,(if v2000^n='lw' then v2000^n'='v2000^v/ fi),<br />
pft= ,(if v2000^n='pft' then v2000^n'='v2000^v/ fi),<br />
invx= ,(if v2000^n='invx' then v2000^n'='v2000^v/ fi),<br />
iso= ,(if v2000^n='iso' then v2000^n'='v2000^v/ fi),<br />
outiso= ,(if v2000^n='outiso' then v2000^n'='v2000^v/ fi),<br />
outisotag1= ,(if v2000^n='outisotag1' then v2000^n'='v2000^v/ fi),<br />
fix= ,(if v2000^n='fix' then v2000^n'='v2000^v/ fi),<br />
ln1= ,(if v2000^n='ln1' then v2000^n'='v2000^v/ fi),<br />
ln2= ,(if v2000^n='ln2' then v2000^n'='v2000^v/ fi),<br />
fst= ,(if v2000^n='fst' then v2000^n'='v2000^v/ fi),<br />
fst/h= ,(if v2000^n='fst/h' then v2000^n'='v2000^v/ fi),<br />
201
Programmi di utilità CISIS: manuale di riferimento Appendice V - MX.PFT: Lista dei parametri che estrae <strong>da</strong>ll’ambiente CGI<br />
Parametro Formato di estrazione<br />
stw= ,(if v2000^n='stw' then v2000^n'='v2000^v/ fi),<br />
ifupd= ,(if v2000^n='ifupd' then v2000^n'='v2000^v/ fi),<br />
ifupd/create= ,(if v2000^n='ifupd/create' then v2000^n'='v2000^v/ fi),<br />
ifupd/dict= ,(if v2000^n='ifupd/dict' then v2000^n'='v2000^v/ fi),<br />
ifupd/create/dict= ,(if v2000^n='ifupd/create/dict' then v2000^n'='v2000^v/ fi),<br />
fullinv= ,(if v2000^n='fullinv' then v2000^n'='v2000^v/ fi),<br />
fullinv/dict= ,(if v2000^n='fullinv/dict' then v2000^n'='v2000^v/ fi),<br />
fullinv/keep= ,(if v2000^n='fullinv/keep' then v2000^n'='v2000^v/ fi),<br />
fullinv/m= ,(if v2000^n='fullinv/m' then v2000^n'='v2000^v/ fi),<br />
fullinv/ansi= ,(if v2000^n='fullinv/ansi' then v2000^n'='v2000^v/ fi),<br />
fullinv/dict/keep= ,(if v2000^n='fullinv/dict/keep' then v2000^n'='v2000^v/ fi),<br />
fullinv/dict/m= ,(if v2000^n='fullinv/dict/m' then v2000^n'='v2000^v/ fi),<br />
fullinv/dict/ansi= ,(if v2000^n='fullinv/dict/ansi' then v2000^n'='v2000^v/ fi),<br />
fullinv/dict/m/ansi= ,(if v2000^n='fullinv/dict/m/ansi' then v2000^n'='v2000^v/ fi),<br />
fullinv/ansi= ,(if v2000^n='fullinv/ansi' then v2000^n'='v2000^v/ fi),<br />
fullinv/m/ansi= ,(if v2000^n='fullinv/m/ansi' then v2000^n'='v2000^v/ fi),<br />
fullinv/keep/ansi= ,(if v2000^n='fullinv/keep/ansi' then v2000^n'='v2000^v/ fi),<br />
fullinv/keep/m/ansi= ,(if v2000^n='fullinv/keep/m/ansi' then v2000^n'='v2000^v/ fi),<br />
maxlk1= ,(if v2000^n='maxlk1' then v2000^n'='v2000^v/ fi),<br />
maxlk2= ,(if v2000^n='maxlk2' then v2000^n'='v2000^v/ fi),<br />
copy= ,(if v2000^n='copy' then v2000^n'='v2000^v/ fi),<br />
append= ,(if v2000^n='append' then v2000^n'='v2000^v/ fi),<br />
up<strong>da</strong>tf= ,(if v2000^n='up<strong>da</strong>tf' then v2000^n'='v2000^v/ fi),<br />
create= ,(if v2000^n='create' then v2000^n'='v2000^v/ fi),<br />
merge= ,(if v2000^n='merge' then v2000^n'='v2000^v/ fi),<br />
202