ISO 2709: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 9:
Al tempo stesso, il record è praticamente privo di parti vuote o non significative. Per contro, qualsiasi modifica ai dati tale da alterare la lunghezza di qualche componente, obbliga a ricostruire la directory.
 
Normalmente, il formato ISO 2709 è usato per la trasmissione, la memorizzazione e la presentazione dell'informazione.
= Struttura dei record =
 
= Struttura dei record =
Normalmente, il formato ISO 2709è usato per trasmettere, memorizzare o presentare diversi record consecutivi, separati dal carattere ''RT'' (''Record Terminator'', il carattere IS3 della tabella [[ISO 646]].)
 
Un record è costituito da tre parti contigue:
Riga 19:
* un'''area dati'', costituita da una serie di ''campi'' separati fra loro dal carattere FT.
 
Normalmente, il formato ISO 2709è usato per trasmettere, memorizzare o presentare diversiOgni record consecutivi,termina separaticon dalil carattere ''RT'' (''Record Terminator'', il carattere IS3 della tabella [[ISO 646]].)
Ogni campo contiene solo i dati veri e propri. Le informazioni necessarie a distinguere i campi fra loro e ad accedere a uno qualsiasi di essi sono contenute nella directory. La struttura dei campi e delle voci della directory è determinata in parte dal contenuto della label.
 
OgniI campocampi contienecontengono solo i dati veri e propri. Le informazioni necessarie a distinguere i campi fra loro e ad accedere a uno qualsiasi di essi sono contenute nella directory. La struttura dei campi e delle voci della directory non è determinatacompletamente indefinita partedallo standard: alcune caratteristiche sono determinate dal contenuto della label, e quindi dipendono dalle diverse implementazioni.
 
Sebbene le tre parti si presentino nel record nell'ordine sopra riportato, per illustrarle più in dettaglio conviene procedere in senso inverso.
Line 29 ⟶ 31:
=== Campi dati ===
 
Contengono i dati veri e propri, e hanno sempre etichetta di valore superiore a 5. Sono sempre divisi in ''sottocampi'', il primo dei quali è sempre preceduto da una serie di ''indicatori''. La struttura si può dunque schematizzare come segue:
 
{| border=1 cellspacing=0 cellpadding=3 align=center
Line 44 ⟶ 46:
Lo scopo degli indicatori è di solito fornire informazioni sul modo di elaborare i dati nel campo, o un particolare significato da attribuire ad essi in certe circostanze. Sono quindi indicazioni per l'applicazione, non dei dati.
 
Un indicatore è semplicemente un carattere, per lo più una cifra o uno spazio bianco. Il numero di indicatori è fisso per ogni record, ed è stabilito in una opportuna posizione dellanella label. Quasi tutte le specifiche basate su ISO 2709 prevedono due indicatori.
 
==== Sottocampi ====
 
I sottocampi di un campo dati sono costituiti da due parti: l'''identificatore di sottocampo'' e i dati veri e propri. L'identificatore è costituito da una sequenza di caratteri la cui lunghezza è fissa per ciascun record ed è indicata in una opportuna posizione dellanella label. Il primo di questi caratteri è invariabilmente il separatore di sottocampo (''US'', ''Unit Separator'', il carattere IS1 della tabella [[ISO 646]]). Quasi tutte le specifiche prevedono due caratteri per l'identificatore, per cui i sottocampi, in definitiva, sono identificati da un singolo carattere, dato che il primo è sempre l'US.
 
Naturalmente, l'ultimo sottocampo di un campo dati è sempre seguito dal carattere FT.
Line 65 ⟶ 67:
* codici applicativi, che un'applicazione informatica potrebbe usare per vari scopi
 
La lunghezza di ciascuna di queste parti è fissadefinita per ciascun record, ed è stabilita in opportune posizioni dellanella label. Ad esempio, [[UNIMARC]] e [[MARC21]], come molte altre specifiche basate su questo formato, usano rispettivamente tre, quattro, cinque e zero cifre per le quattro parti della voce (in sostanza, non definiscono codici applicativi).
 
 
== Struttura della label ==
 
Come si è visto sopra, alcune caratteristiche del formato sono variabili, e i rispettivi valori sono indicati nella label. Essa però contiene anche alcune altre importanti informazioni, insieme ad alcuni valori fissati dallo standard stesso e che potrebbero essere utilizzati diversamente in future versioni dello standard.
 
I ventiquattro caratteri che costituiscono la label, numerati a partire da 0, sono così organizzati:
 
; 0-4 : Lunghezza totale del record, comprensiva del terminatore di record. Essendo questo un numero di 5 cifre, non è possibile creare record più lunghi di 100.000 caratteri.
; 5 : Stato del record, non definito dallo standard.
; 6-9 : Codici applicativi, non definiti dallo standard.
; 10 : Numero di indicatori.
; 11 : Lunghezza dell'identificatore.
; 12-16 : Inizio dell'area dati, a partire dall'inizio del record.
; 17-19: Altri codici applicativi.
; 20-23 : Struttura delle voci della directory. In dettaglio, il carattere 20 indica quanti caratteri sono usati in una voce per rappresentare la lunghezza del relativo campo; il carattere 21 indica quanti caratteri sono usati in una voce per rappresentare la posizione del campo a partire dall'inizio dell'area dati; il carattere 22 indica quanti caratteri sono usati in una voce per rappresentare codici applicativi legati al relativo campo; il carattere 23 è riservato per eventuali usi futuri.
 
= Esempi di specifiche basate su ISO 2709 =
 
Da quanto visto sopra a proposito della label, si comprende che le differenze fra le singole specifiche basate su ISO 2709 sono concentrate nelle aree 5-11 e 17-22 della label.
 
Come esempi concreti, possiamo considerare [[UNIMARC]] e [[MARC21]], praticamente identici per quanto riguarda l'aderenza allo standard ISO 2709. Entrambi, infatti, usano:
 
* due indicatori per ogni campo dati
* due caratteri per l'identificatore di sottocampo di campo dati
* quattro caratteri in ogni voce di directory per la lunghezza del relativo campo a partire dall'area dati
* cinque caratteri in ogni voce di directory per la posizione del relativo campo a partire dall'area dati
* nessun codice applicativo nelle voci di directory
 
Di conseguenza, evidenziando in neretto le parti fisse, la label di un record UNIMARC potrebbe essere la seguente:
 
00830nam0M'''22'''00181 I'''450'''
 
Un record MARC21 potrebbe invece avere una label come la seguente:
 
00480nam '''22'''001811 '''450'''