IsaPress 1 Obiettivo Realizzare uno strumento di facile uso per estrarre il contenuto da documenti binari di vario tipo in un formato utile per l'impaginazione automatica. Identificare strutture ricorrenti (pattern) di documenti che permettano il passaggio facilitato da un formato all'altro e l'impaginazione omogenea ed indipendentemente dalla fonte del documento. 2 Contenuto - struttura - presentazione Le tre componenti dei documenti testuali: Contenuto: le parole e le immagini che contengono significato in un testo Struttura: le regole di disposizione dei frammenti di contenuto (non disposizione grafica/spaziale ma concettuale, cioè relazione tra gli elementi), e il significato applicato all'esistenza e alle caratteristiche dei frammenti stessi Presentazione: il modo in cui il documento viene presentato (e.g., stampato) per la fruizione definitiva Assunto forte: la struttura influenza fortemente la presentazione (frammenti dello stesso tipo vengono visualizzati nella stessa maniera). 3 Formati interni, HTML, XML Le applicazioni di impaginazione utilizzano spesso formati interni per organizzare le caratteristiche di presentazione e struttura dei documenti. HTML mescola spesso e volentieri presentazione e struttura (eccezione: div e span con l'attributo class). XML ha come filosofia la separazione tra presentazione e contenuto attraverso l'esplicitazione della struttura. 4 Il formato generico Esistono delle strutture ricorrenti (pattern) nei documenti di testo che sono più limitate di quelle possibili con XML, ma più descrittive e chiare che con HTML. Il formato generico cattura tutte e sole le strutture ricorrenti nei documenti veri, senza perdita di generalità ma imponendo limiti ed ordine ai tipi di frammento possibile. 5 Esempi di strutture ricorrenti Contenitori (e.g., sezioni) dotati di titoli e che contengono altri contenitori o blocchi ma non testo. Blocchi (e.g., paragrafi) che non contengono altri blocchi o contenitori, ma testo o elementi inline che non spezzano l'organizzazione orizzontale. Inline (e.g., stili come grassetti e corsivi): sequenze di caratteri senza spezzatura verticale che contengono testo o altri elementi inline, ma non blocchi o contenitori. 6 Dal formato generico a IML IML è un sottoinsieme del formato generico, e che attribuisce alcuni significati agli elementi (titoli, liste, tabelle, link ipertestuali, grassetti e corsivi) mantenendo però la genericità di definire i contenitori, i blocchi e gli inline in maniera libera (markup generalizzato o descrittivo). 7 Gli stili Molti programmi di impaginazione permettono di automatizzare i criteri di presentazione attraverso la creazione di stili. Uno stile è una collezione di regole di presentazione dotato di nome. Scegliendo nomi che rappresentano elementi della struttura possiamo utilizzare uno strumento di presentazione per mantenere informazioni sulle strutture. Gli stili permettono di descrivere la struttura! 8 IsaPress IsaPress ha come scopo identificare nei formati delle applicazioni più comuni quei pattern che permettono di ricondurre i documenti al formato generico. IsaPress utilizza IML, come formato intermedio. 9 IsaPress x Word IsaPress converte documenti htm prodotti da Word in documenti pdf destinati alla stampa, xml e html. Usiamo htm (la versione MS, scorretta e non standard, di HTML) come input a causa della passata incapacità di word di produrre xml. 10 Modello IsaPress effettua questi passaggi: trasforma l’htm in un html ben formato (xhtml); pulisce il codice tenendo solo ciò che è importante; 11 Situazione attuale xml ISAPRESS Word .doc Word .htm Buona forma Pulizia codice xhtml pdf FORMATO INTERMEDIO html 12 HTM di Word Sebbene sia grammaticalmente scorretto, HTM di Microsoft è comunque immediatamente riconducibile al formato generico (e anzi ad IML), e quindi immediatamente utilizzabile per IsaPress: Utilizza contenitori (sezioni), blocchi generalizzati (paragrafi con stile), inline specifici (stili come corsivo e grassetto) e generalizzati (stili di carattere) Mantiene le informazioni di stile (cioe' di struttura) nell'HTM generato (<p class="MsoNormal"> … </p>) 13 Cosa ci aspettiamo Avere come input documenti xml, o anche, ma è più lungo e difficile, htm e html da mettere in buona forma. Abbiamo pero' bisogno che rimangano informazioni di struttura (e.g., stili), che ci permettano di convertire i documenti in formato generico o addirittura IML. Ampliare il numero di tipologie di documenti supportati da IsaPress. 14 Evoluzione di IsaPress Word .xml xml OpenOffice .xml ISAPRESS InDesign .xml Pulizia codice XPress .xml … .xml xhtml pdf FORMATO INTERMEDIO Html 15 Domande da porsi Per ogni formato di dato considerato: Esiste un formato completo XML specifico? Esiste un tool che lo genera? Esiste la distinzione tra classe, contenuto, presentazione? O almeno esistono le classi di presentazione (stili) definibili dall'utente? Quali vincoli sono imposti sulla struttura? Sono compatibili con il formato generico? Se non esiste, esiste una versione HTML? È ben formata? Contiene informazioni di struttura (classi)? Esiste qualche meccanismo di gestione delle meta 16 informazioni? Conclusioni Bisogna capire come i programmi di impaginazione creano effettivamente la loro versione XML. 17