Introduzione alla codifica dei testi

Pagina creata da Federico Barbieri
 
CONTINUA A LEGGERE
Introduzione alla codifica dei testi
Introduzione alla codifica dei testi
Introduzione alla codifica dei testi
TEI - Storia

1987 - Nancy Ide e Michael Sperberg McQueen organizzano un meeting per la
realizzazione di uno standard digitale per materiale umanistico basato su SGML

1990 - Pubblicazione della prima versione di TEI P1
Guidelines for the Encoding and Interchange of Machine-Readable Texts

1992 – TEI P2

1999 – TEI P3

2000 – Nascita di TEI-C, il consorzio che mantiene e sviluppa TEI

2002 – TEI P4 basata su XML

2012 – TEI P5 diventa unico standard. Finisce la retro-compatibilità con le versioni
precedenti.
Introduzione alla codifica dei testi
Linee Guida TEI P1
●   Sviluppare un formato standard per lo scambio dei dati
●   Sviluppare una guida per codificare testi in questo formato
●   Supportare la codifica di tutti gli elementi di qualsiasi tipologia
    di testo
●   Consentire la creazione di una definizione rigorosa del testo e
    un'elaborazione veloce dei dati
●   Permettere estensioni definite dagli utenti
●   Essere indipendente dall'applicazione utilizzata
●   Avere una sintassi semplice, chiara e concisa
●   Essere facile da utilizzare senza ricorrere a software
    specialistico
Introduzione alla codifica dei testi
Quando e perché usare TEI

Quando
Il campo primario di utilizzo di TEI sono le biblioteche digitali, ma in generale si può utilizzare TEI
ogni volta che si vuole operare una digitalizzazione di un documento.

Un documento TEI non è direttamente visualizzabile in un formato grafico, ma il Tei Consortium
(TEI-c) mette a disposizione una serie di strumenti automatici per la conversione in formati più
adatti alla presentazione (es. HTML o LaTeX).

Perché
A differenza della maggior parte dei documenti digitali con cui abbiamo a che fare ogni giorno (PDF,
DOC, HTML,...), un documento TEI è un oggetto digitale che ha un valore. Infatti un documento
TEI è:
 ●   completamente indipendente da software esterno (requisito necessario per sopperire al
     problema dell'obsolescenza del software nel tempo): un documento TEI è un documento XML,
     pertanto è interpretabile correttamente su qualsiasi sistema operativo (presente e futuro) e
     machine-readable.
 ●   preservabile nel futuro: il consorzio TEI-C garantisce le manutenzioni e gli aggiornamenti dello
     standard TEI e questo previene l'obsolescenza del modello dati.
Introduzione alla codifica dei testi
I formati comuni sono inadeguati allo scopo

            ●   Non è standard;                               ●   Non è standard;
            ●   Dipende da Microsoft Word;                    ●   Marcatura relativa alla formattazione
            ●   Illeggibile con altro software.                   del testo.

           ●    Non ha tag di rappresentazione
                specifici per i testi;
                                                              ●   Testo non facilmente estraibile;
           ●    Mescola tag per la presentazione e
                                                              ●   Formato basato sulla
                tag per la descrizione.                           visualizzazione, non sul contenuto.

 XML è standard, machine-readable, indipendente da sw e adatto a incapsulare qualsiasi tipo di dato.
 Per sua natura però è “troppo libero”: due biblioteche diverse possono utilizzare metadati diversi
 per rappresentare le stesse informazioni. Quindi non potranno condividere i documenti senza
 ricodificarli!

 TEI si basa su XML e definisce un tagset specifico per la rappresentazione di testi.
Introduzione alla codifica dei testi
Digital Preservation

Se TEI affronta il problema della preservazione lato software, esiste lo stesso problema
lato hardware, perché:
 ●   I supporti di memorizzazione diventano obsoleti (nastri, CD-ROM, HDD, SSD,...);
 ●   I supporti di memorizzazione si rompono;
 ●   I sistemi falliscono (guasti hw, attacchi informatici, esposizioni elettromagnetiche,
     catastrofi naturali,...).
Come si garantisce la digital preservation?
 ●   Aggiornamento dei componenti (migration);
 ●   Duplicazione dei dati (refreshing)
 ●   Sostituzioni programmate dei componenti;
 ●   Progettazione di sistemi fault-tolerant;
 ●   Dislocazione dei dati in aree diverse e sistemi diversi (replication).
Introduzione alla codifica dei testi
Digital Preservation
La questione della preservazione della preservazione digitale (in particolare quella a
lungo termine) è così delicata che è stato sviluppato lo standard OAIS (Open Archival
Information System) che definisce concetti, modelli e funzionalità per la costruzione ed il
mantenimento di archivi digitali.

Digitale vs. Analogico

Tutta l'importanza di questa disciplina deriva dal fatto che gli oggetti trattati sono oggetti
digitali, che quindi non si degradano nel tempo, ma restano immutati per un certo
periodo, finché non si corrompono.
 Un libro                                        Un documento digitale
 ● dura decine di anni;                          ● ha una durata impredicibile;

 ● si logora lentamente nel tempo;               ● non si logora;

 ● quando è rovinato può essere                  ● quando è corrotto è molto spesso

   restaurato e durerà ancora a                    irrecuperabile: il suo contenuto è
   lungo.                                          totalmente illeggibile.

  Quindi tutte le misure per la conservazione devono essere prese all'inizio, prima
  dell'inserimento dei documenti nell'archivio digitale.
Introduzione alla codifica dei testi
Machine Readability e IR
Un documento TEI è analizzabile da un computer:
 ●   Ogni elemento del documento è interpretabile automaticamente in modo non ambiguo;
 ●   La codifica del testo è standard (XML), quindi è leggibile allo stesso modo da ogni
     macchina.

          Possibilità di effettuare ricerche nei documenti utilizzando un linguaggio di
                                 interrogazione XML (es. Xquery).

Ricerche semplici:                              Ricerche complesse:
 ●   tutti i romanzi pubblicati dopo il 1920;    ●   tutti i testi del periodo 1890-1910 con più di 100 pagine in
                                                     cui compare almeno due volte la parola “autore”, contenenti
 ●   tutti gli scritti di un certo autore.           almeno una poesia, in cui il titolo inizia con la 'A'.

 Una collezione di documenti TEI è già pronta per essere utilizzata all'interno di applicazioni di
 Information Retrieval: ogni elemento di markup presente nei documenti è per sua natura
 “ricercabile”.
 E' importante tenere in considerazione questo aspetto quando si sceglie il tagset: è preferibile
 annotare qualche elemento in più (che magari ci sembra irrilevante) se pensiamo che sia utile per
 le ricerche in un sistema di IR.
Introduzione alla codifica dei testi
Machine Readability e IR
Introduzione alla codifica dei testi
Problemi di rappresentazione

Ogni documento ha caratteristiche proprie:
 ●   La tipologia: poesie, romanzi, dizionari, …
 ●   Il formato: testi manoscritti o stampati, rilegati o non legati,...
 ●   Il contenuto eterogeneo: testo (caratteri alfabetici o non alfabetici), immagini, glifi,
     tabelle, grafici,...

 Problema 1: Documenti diversi richiedono diverse rappresentazioni

 Ogni oggetto ha una sua rappresentazione digitale che dipende dalla sua classe
 oltre che dal contenuto.

 es. Per rappresentare una poesia ho bisogno di definire i concetti di verso e
 metrica, mentre per un dizionario dovrò definire cos'è un'entrata lessicale e cos'è
 un significato.
Problemi di rappresentazione

Ogni documento ha caratteristiche simili ad altri documenti:
 ●   Dati generali: titolo, autore, data,...
 ●   Elementi di suddivisione del testo: capitoli, paragrafi, sezioni,...
 ●   Elementi interni al testo: liste e elenchi, elementi di formattazione (corsivo,
     grassetto,...)

Problema 2: Sono necessari metadati comuni per rappresentare oggetti dello
stesso tipo in documenti diversi
Gli elementi che hanno lo stesso significato in classi di oggetti diversi devono essere
codificati nello stesso modo. Sarebbe assurdo differenziare questi oggetti per classe di
documento.
es. Titolo oppure autore sono elementi che possono ricorrere in qualsiasi documento, sia
esso una poesia, un dizionario, un romanzo,... Non voglio avere Titolo-di-romanzo,
Titolo-di-poesia, Titolo-di-dizionario, ma devo poter applicare lo stesso tag Titolo a
qualsiasi tipo di documento.
Problemi di rappresentazione

Problema 3: un documento può essere una collezione di documenti di tipologia diversa
Non è sufficiente associare un documento ad una classe in modo rigido, poiché un documento
può contenere una collezione di oggetti diversi. Un'antologia ad esempio può contenere brani
in prosa, in poesia, etc.

                                   Struttura modulare
Per supportare tutto questo, TEI ha una struttura modulare in cui è possibile:
 ●   Creare un documento TEI generico e avere a disposizione un set di metadati comuni a
     tutti i documenti;
 ●   Importare le definizioni TEI più specifiche necessarie per la rappresentazione del nostro
     documento (una o più di una);
 ●   Definire tipologie di documenti personalizzati che siano conformi allo standard TEI tramite
     il meccanismo dell'estensione degli schema.
Moduli della TEI
●   TEI Infrastructure
    Definizione di tipi di dati principali e degli elementi di base
●   TEI Header
    Definisce i descrittori per l'header dei documenti: metadati generali (lingua,
    codifica,...)
●   Elements Available in All TEI Documents
    Elementi utilizzabili in tutti i documento TEI: paragrafi, citazioni, numeri,
    date, ...
●   Default Text Structure
    Definizione degli elementi relativi alla struttura del testo: corpo del testo,
    pagina del titolo, ...
●   Representation of Non-standard Characters and Glyphs
    Definizione dei caratteri che non fanno parte della codifica standard
    Unicode
Moduli della TEI
●   Names, Dates, People, and Places
    Elementi per la specificazione dettagliata di nomi propri (persone,
    organizzazioni e luoghi) e di date
●   Tables, Formulæ, and Graphics
    Elementi per la rappresentazione di tabelle, formule e grafici.
●   Graphs, Networks, and Trees
    Elementi per la rappresentazione di relazioni tra nodi di alberi e grafi
●   Simple Analytic Mechanisms
    Elementi per poter collegare agli elementi del testo altri elementi
    attraverso relazioni (es. analisi testuale, commenti, …)
●   Linking, Segmentation, and Alignment
    Elementi per la specificazione di collegamenti incrociati tra testi.
Moduli della TEI
●   Verse
    Elementi specifici per la codifica di poesie (sistemi metrici, schema delle
    rime, enjambment,...)
●   Performance Texts
    Elementi specifici per i testi teatrali (ambientazione, cast, istruzioni di
    regia,...)
●   Transcriptions of Speech
    Elementi specifici per la trascrizione del parlato (utterance, pause, gesti,...)
●   Dictionaries
    Elementi specifici per la rappresentazione dei dizionari (informazioni
    grammaticali, etimologia, significato,...)
●   Manuscript Description
    Elementi specifici per codificare i manoscritti (descrizione del contenuto, del
    supporto fisico,...)
●   Representation of Primary Sources
    Elementi specifici per le trascrizioni di fonti primarie: cancellazioni,
    sostituzioni, parti danneggiate,...
Moduli della TEI

●   Critical Apparatus
    Elementi specifici per gli apparati critici: definizione di testimoni, apparato,...
●   Language Corpora
    Elementi specifici per corpora linguistici (lingua parlata, scritta o segnata).
●   Feature Structures
    Elementi specifici per costruire framework analitici complessi. Contengono
    gli strumenti per legare oggetti tra loro attraverso relazioni (estende le
    funzionalità di Simple Analytic Mechanism).
●   Certainty and Responsibility
    Elementi specifici per l'attribuzione di responsabilità su chi ha codificato il
    testo.
●   Documentation Elements
    Elementi specifici per rappresentare la documentazione sulla codifica
    utilizzata.
TEI Schema

Ogni modulo TEI è definito da uno schema, che è possibile importare all'interno del nostro
documento ed utilizzarne il tagset.
Volendo ad esempio digitalizzare un libro di poesie dovremmo sicuramente importare il modulo specifico
Verse e i moduli di base TEI Header e TEI Infrastricture. Probabilmente però sarà necessario aggiungere
anche altri moduli generali, come Elements Available in All TEI Documents oppure Certainty and
Responsibility, in relazione alle informazioni che intendiamo memorizzare.

Ogni schema può essere importato (oltre che in documenti TEI) all'interno di altri schema da noi
definiti.
Possiamo definire uno schema personalizzato che faccia uso ad esempio di una sottoparte del tagset TEI e
che sia meno generalista e più aderente alle nostre necessità. In questo modo i documenti digitalizzati con il
nostro schema saranno comunque dei documenti TEI.

  Il set completo degli schema (XMLSchema, DTD e RelaxNG) di TEI P5 può essere scaricato
                                 liberamente da SourceForge:

               http://sourceforge.net/projects/tei/files/TEI-P5-all/
Personalizzazioni e TEI Lite
               Personalizzazione degli Schema
  Creare uno schema TEI personalizzato significa estendere uno o più schema
  presenti nel pacchetto. Questa procedura è molto potente e molto utile, ma non
  banale, perché è necessario rispettare tutti i vincoli imposti da TEI-C per garantire
  che i documenti creati sulla base del nostro schema siano ancora dei documenti
  TEI validi.
                    Documentazione per l'estensione dello schema:
           http://www.tei-c.org/release/doc/tei-p5-doc/en/html/USE.html#MD
    Strumento automatico per la creazione guidata di uno schema personalizzato:
                            http://www.tei-c.org/Roma/

                                      TEI Lite
  Simple demonstration of how the TEI encoding scheme might be adopted to meet
              90% of the needs of 90% of the TEI user community.

   TEI Lite è lo schema personalizzato più famoso: è uno schema contenente le
   definizioni più utilizzate nei diversi moduli TEI ed è oggi lo strumento più
   semplice per iniziare a codificare con TEI.
I documenti TEI
  Struttura di base
TEI e XML

                              La TEI P5 utilizza XML

                Ogni documento TEI è un documento XML.

                      Valgono le regole di base di XML:

●   Gli elementi sono identificati da tag: parole racchiuse tra parentesi angolate 
●   Un tag aperto va sempre chiuso:  … 
●   Gli elementi devono rispettare la struttura ad albero:
     –   Un unico elemento radice;
     –   Incapsulamento coerente:     NO!
TEI e XML
Un elemento può avere degli attributi.
Un attributo ha la forma
                            nome=”valore”
La differenza tra elementi e attributi è la stessa che c'è tra oggetto e
proprietà dell'oggetto: gli elementi rappresentano gli oggetti che vengono
codificati, mentre gli attributi ne specificano le proprietà.

Elemento pb: Divisione di        Elemento div: suddivisione del testo
pagina                           Attributo type: tipo di suddivisione
Attributo n: numero di pagina    Attributo n: numero di suddivisione
Struttura base di un documento TEI

                     Come minimo un documento TEI deve avere:
  
           La dichiarazione XML

          L'identificativo di un documento TEI (root)
  
                      L'intestazione
    
                      Il testo
Struttura base di un documento TEI

                     Come minimo un documento TEI deve avere:
  
           La dichiarazione XML (prologo)

          L'identificativo di un documento TEI (root)
  
                      L'intestazione
    
                      Il testo
Struttura base di un documento TEI

                     Come minimo un documento TEI deve avere:
  
           La dichiarazione XML (prologo)

          L'identificativo di un documento TEI (root)
  
                      L'intestazione
    
                      Il testo
Struttura base di un documento TEI

                     Come minimo un documento TEI deve avere:
  
           La dichiarazione XML (prologo)

          L'identificativo di un documento TEI (root)
  
                      L'intestazione TEI
    
                      Il testo
Struttura base di un documento TEI

                     Come minimo un documento TEI deve avere:
  
           La dichiarazione XML (prologo)

          L'identificativo di un documento TEI (root)
  
                      L'intestazione TEI
    
                      Il testo
teiCorpus: più documenti nello stesso file
teiCorpus: più documenti nello stesso file

                              XML ha una sola radice!
    
                      Senza teiCorpus non è possibile aggiungere più
      
                             di un documento nello stesso file.
Il testo

All'interno del tag  possiamo inserire uno di questi elementi,
uno solo dei quali è obbligatorio: .

: materiale peritestuale (intestazioni, frontespizio, prefazioni,
dediche, etc.) che si trova prima dell'inizio del testo vero e proprio.
: corpo del testo
: appendici e altri materiali peritestuali che si trovano dopo il
testo
: raggruppa più  (volume collettaneo, opera
completa,...).
Il tag  si inserisce all'interno di  e può contenere una serie di altri elementi
.
Capitoli e paragrafi

Le parti di testo in prosa sono racchiuse tra  e . Ogni
separazione di testo (es. punto a capo) richiede la chiusura e la
riapertura di un nuovo .

Tutti gli elementi di suddivisione (capitoli, sezioni, paragrafi,
sottoparagrafi,...) sono identificati dai tag .

Oltre a  sono disponibili 7 sottolivelli: , , … , 

Attributi dei 
●   id: identificatore univoco del capitolo (per i riferimenti)
●   n: numero della sezione facilmente interpretabile (es. “XII”, “4”, “12.1”)
●   type: serve a dare un nome alla sezione (es. “Libro”, “Capitolo”, “Sezione”,...)
Divisione di pagina
Capitoli, sezioni, sottosezioni
Nuovo paragrafo (punto e a capo e simili)
Testo tra virgolette (discorso diretto, usi impropri,...)
Ricapitoliamo...
                                           
                                                                                     ...

                                                                                                ...
   Suddivisione in capitoli e sezioni   Nuovo paragrafo   Interruzioni di pagina     Testo tra virgolette
Header

     Treasure Island [Electronic resource] / Robert Louis Stevenson

     Stevenson, Robert Louis

     Not for distribution.

      This text is a TEI version of a Project Gutenberg text. As per their license agreement we have
removed all references to the project's trademark, however have included this pointer to the original in case
you want the plain text, or their XHTML version.

        English
Header

     Treasure Island [Electronic resource] / Robert Louis Stevenson

     Stevenson, Robert Louis

     Not for distribution.

                          Intestazione
      This text is a TEI version of a Project Gutenberg text. As per their license agreement we have
removed all references to the project's trademark, however have included this pointer to the original in case
you want the plain text, or their XHTML version.

        English
Header

     Treasure Island [Electronic resource] / Robert Louis Stevenson

     Stevenson, Robert Louis

                           Descrizione bibliografica del file elettronico
     Not for distribution.

      This text is a TEI version of a Project Gutenberg text. As per their license agreement we have
removed all references to the project's trademark, however have included this pointer to the original in case
you want the plain text, or their XHTML version.

        English
                           Descrizione non bibliografica del testo
Header

                                Titolo
     Treasure Island [Electronic resource] / Robert Louis Stevenson

     Stevenson, Robert Louis

     Not for distribution.

      This text is a TEI version of a Project Gutenberg text. As per their license agreement we have
removed all references to the project's trademark, however have included this pointer to the original in case
you want the plain text, or their XHTML version.

        English
Header

                                Titolo
     Treasure Island [Electronic resource] / Robert Louis Stevenson

     Stevenson, Robert Louis

     Not for distribution.        Informazioni di pubblicazione e di distribuzione
   
      This text is a TEI version of a Project Gutenberg text. As per their license agreement we have
removed all references to the project's trademark, however have included this pointer to the original in case
you want the plain text, or their XHTML version.

        English
Header

                                Titolo
     Treasure Island [Electronic resource] / Robert Louis Stevenson

     Stevenson, Robert Louis

     Not for distribution.        Informazioni di pubblicazione e di distribuzione
   
             Dati bibliografici della fonte originale (di solito cartacea)
      This text is a TEI version of a Project Gutenberg text. As per their license agreement we have
removed all references to the project's trademark, however have included this pointer to the original in case
you want the plain text, or their XHTML version.

        English
Header

     Treasure Island [Electronic resource] / Robert Louis Stevenson

     Stevenson, Robert Louis

     Not for distribution.

      This text is a TEI version of a Project Gutenberg text. As per their license agreement we have
removed all references to the project's trademark, however have included this pointer to the original in case
you want the plain text, or their XHTML version.

                  Informazioni sulla lingua del testo
        English
Ricapitoliamo...
                                                                     
                                                                                                                         ...

Descrizione bibliografica    Info sulla digitalizzazione   Descrizione non bibliografica    Storico delle revisioni
                                                                                                                              
                                                                                                                                                    ...

  Titolo e autore Informazioni di pubblicazione Informazioni sul testo                              Lingue del testo
 e        e distribuzione              originale
Esercitazione
Strumenti per la codifica

●       Per codificare con TEI come minimo abbiamo bisogno
        di un editor di testo semplice (solo testo senza
        formattazione).

    ●   Inoltre dovremo utilizzare un parser XML per controllare che il documento XML prodotto
        sia ben formato.

●       Se vogliamo verificare che il documento sia conforme a un modello dati (schema XML)
        abbiamo bisogno di un XML validator, che è un tipo particolare di parser che analizza la
        sintassi interna del documento.
XML Parser

                            XML PARSER

   Un parser XML legge il file XML e costruisce l'albero dei suoi elementi.
              Se ci riesce allora il documento è ben formato!
XML Validator

                  XML PARSER

                                                                             Schema

                                                                XML
                                                             VALIDATOR

                                                      VALIDO        NON VALIDO

  Un validatore XML legge il file XML, costruisce l'albero dei suoi elementi e ne
                 analizza la loro correttezza rispetto allo schema.
          Se tutte le regole sono rispettate allora il documento è valido!
Editor XML

Un editor XML è un'applicazione che incorpora un editor di testo semplice e un
validatore XML.
Con lo stesso strumento abbiamo la possibilità di
    ●    scrivere file XML;
    ●    Controllare che siano ben formati;
    ●    Verificarne la validità rispetto a uno schema.

    Attenzione!
    Un documento TEI valido è corretto rispetto a uno schema, ma non corretto in generale: ci sono
    alcuni tipi di errore che non vengono rilevati.

●       Errori ortografici nel testo: solo gli errori di digitazione nei nomi dei        Cera una volta...
        tag vengono evidenziati dal validatore; tutto il contenuto testuale deve
        essere verificato dall'utente.
                                                                                         Carlo Collodi
●       Applicazione impropria degli elementi: utilizzare i tag in modo                  Pinocchio
        coerente con il loro significato è responsabilità di chi codifica il testo. Il
        validatore controlla i tipi di elementi, non la semantica del contenuto.
Editor XML

Per poter comporre un documento TEI c'è bisogno di un editor; ogni editor si colloca a
un diverso livello di astrazione dal dato fisico:
 ●   Alto livello (vicini all'utente): alta facilità di scrittura, poco controllo sui dati prodotti;
 ●   Basso livello (vicini alla macchina): bassa facilità di scrittura, controllo totale sui dati.

              Editor wysiwig dedicati (es. Classical Text Editor, eLablorate)
                                     Scarso o nessun controllo sul dato finale
                                         Grande facilità di composizione
                                       Servizi web o software a pagamento

                                Editor XML avanzato (es. oXygen)
                                     Diversi strumenti di ausilio alla scrittura
                      Doppia visualizzazione: standard XML (Testo) e libera da tag (Autore)

                                Editor XML di base (es. XMLSpear)
                          Editor di testo semplice con integrazione di un validatore XML

                     Editor di testo semplice (es. Notepad di Windows)
                     L'unica astrazione è la conversione tra le lettere e la loro codfica binaria
                          Nessuno strumento di aiuto per la scrittura o per la validazione
Iniziamo!

                                         Editor XML
                   XML Spear: http://www.donkeydevelopment.com/

                              Schema (DTD) di TEI Lite
        http://www.tei-c.org/release/xml/tei/custom/schema/dtd/tei_lite.dtd
            oppure (se avete scaricato l'archivio degli schema) lo trovate nella cartella

              ...\xml\TEI\custom\schema\dtd\tei_lite.dtd

                                   TEI Lite Guidelines
                  http://www.tei-c.org/Guidelines/Customization/Lite/
                       http://www.lablita.it/app/TEI_Superlight.pdf

                              Documento da codificare
                                     http://www.liberliber.it
Leggere gli errori del validatore

XMLSpear comunica gli errori di validazione scrivendo l'elemento TEI che ha un contenuto non
valido e la regola che lo invalida:

                     The content of element type ELEMENTO must match “REGOLA”
Saper leggere le regole permette di capire dov'è l'errore: si confronta il contenuto dell'ELEMENTO del nostro file
con la REGOLA formale che lo definisce e si identifica il punto in cui non “matcha”.

Le regole sono scritte in un linguaggio simile a quello delle espressioni regolari; questi sono gli operatori di base:

 ●   (…) Il contenuto delle parentesi costituisce una sottoespressione indipendente: come le
     parentesi nelle espressioni matematiche!!
 ●   | Il pipe rappresenta l'OR logico (vel): almeno uno di questi elementi è richiesto;
 ●   , La virgola rappresenta l'AND logico: tutti questi elementi sono obbligatori;
 ●   ? Operatore di opzionalità: l'elemento deve comparire 0 o 1 volte;
 ●   + Operatore di molteplicità rigida: l'elemento deve comparire almeno una volta;
 ●   * Operatore di molteplicità: l'elemento può comparire un numero qualsiasi di volte, anche zero.
Leggere gli errori del validatore
Esempio
    The content of element type "TEI" must match "(teiHeader,(((facsimile|sourceDoc)+,text?)|text))".

1. Indentiamo le parentesi per capire le precedenze

(teiHeader,
      (
              (
                     (facsimile|sourceDoc)+,
                     text?
              ) | text
     )
)

2. Decodifichiamo i simboli della formula

teiHeader AND
     (facsimile OR sourceDoc almeno una volta) AND (text opzionale)
     OR
     text

3. Traduciamo in un linguaggio comprensibile

L'elemento TEI deve contenere un teiHeader seguito da un elemento text oppure da almeno un elemento di tipo
facsimile o source; questi possono comunque essere seguiti da un elemento text.
Puoi anche leggere