Versione per la stampa       Invia     
Valuta il contenuto e lascia un commento
MSDN
MSDN Library
Introduzione al formato di file Open XML di Microsoft Office (2007)

In breve : in questo articolo vengono trattati i benefici nell’uso del formato Open XML di Microsoft Office (2007). Grazie all’uso delle tecnologie XML e ZIP si possono trasferire dati tra applicazioni Office ed altri sistemi aziendali, i documenti risultano molto più accessibili e si riduce il rischio di avere file corrotti o rovinati.

*

Introduzione

Con l’avvento negli anni novanta del formato XML, gli utenti cominciarono a comprendere il valore commerciale dell’utilizzo di formati aperti e della standardizzazione di prodotti ed applicazioni, mentre i professionisti dell’IT sfruttavano sempre più le possibilità di utilizzarlo nelle diverse applicazioni, piattaforme e browser Internet grazie ad un formato di dati più comune.

Similmente, con l’adozione del supporto di XML all’interno di Microsoft Office 2000, gli sviluppatori iniziarono a vedere la necessità di sostituire i documenti salvati in file binari con versioni che supportassero tale formato. I formati binari (.doc, .dot, .xls e .ppt), che per anni avevano fatto un egregio lavoro nella memorizzazione e trasporto dei dati, non erano in grado di affrontare le nuove sfide lavorative che includevano semplici spostamenti di dati tra applicazioni diverse e che permettevano agli utenti di individuare nuove opportunità di applicazione su quegli stessi dati.

Microsoft Office 2007 continua con questa transizione introducendo un nuovo formato di file basato su XML, utilizzato dalle sue applicazioni: Microsoft Office Excel 2007, Microsoft Office Word 2007 e Microsoft Office PowerPoint 2007. Il nuovo formato di file, chiamato Microsoft Office Open XML, cerca di indirizzare gli argomenti citati poco sopra introducendo nuove possibilità nelle soluzioni che fanno uso di documenti di Microsoft Office.

I nuovi formati migliorano la gestione dei file, il recupero dei dati e l’interoperabilità tra i sistemi di business; inoltre essi estendono per quanto possibile i formati binari delle precedenti versioni. Ogni applicazione che supporta XML è in grado di accedere e lavorare sui documenti salvati con il nuovo formato di file, anche se sono applicazioni che non fanno parte della suite di Microsoft Office System 2007, anche se non sono applicazioni create da Microsoft. Gli utenti possono utilizzare processi di trasformazione per estrarre o rimaneggiare i dati, ed i problemi di sicurezza sono drasticamente ridotti perché l’informazione memorizzata in XML è essenzialmente costituita da testo (anziché in formato binario potenzialmente pericoloso), e tali dati possono passare attraverso firewall senza particolari requisiti.

  

Bisogna prestare attenzione a non confondere il formato Office XML con il formato definito dalle specifiche Microsoft Windows XML. I formati Office XML usano le convenzioni definite in Open Packaging Conventions , usate anche da XML Paper Specification (XPS). Ad ogni modo i formati sono differenti in alcuni punti sostanziali. L’XPS è un formato di documento fisso, impaginato, ed introdotto per il sistema operativo Microsoft Windows Vista. Gli Office XML sono formati liberamente editabili per Office Word 2007, Office Excel 2007, Office PowerPoint 2007, e sebbene presentino alcune similarità nell’uso di XML e compressione ZIP essi sono differenti nell’organizzazione e nell’uso.

Scenari con i nuovi formati di file

I nuovi formati XML di Office cambiano il modo con il quale gli utenti lavorano con i dati. Si considerino alcuni dei seguenti scenari, ora possibili grazie all’uso dei nuovi formati:

Un processo in esecuzione su un server potrebbe leggere uno degli elementi contenuto all’interno del file ZIP senza doverli estrarre necessariamente tutti. Per esempio potrebbe estrarre solamente il file XML contenente il testo di un documento senza aprire la porzione contenente gli elementi di formattazione, proprietà e informazioni secondarie.

Nella maggior parte degli scenari il fatto che si ha a che fare con un nuovo tipo di file rimane trasparente all’utente. Potrebbe sembrare un tipico documento salvato in formato binario. Ad ogni modo il nuovo formato risulta compresso e maggiormente ridotto in dimensioni, rendendo più semplice l’invio ad altri utenti attraverso la posta elettronica

Antivirus ed applicazioni server possono facilmente lavorare sul file che funge da contenitore per analizzare solamente i singoli elementi a cui sono interessati, senza preoccuparsi di alterare il contenitore o il suo contenuto.

I file che sono salvati nel nuovo formato non possono contenere codice eseguibile di tipo macro (questo non si applica ai file utilizzati esplicitamente per le macro, come approfondito più avanti in questo documento). Perciò essi sono considerati “sicuri” e possono transitare attraverso firewall ed essere inviati con applicazioni di posta elettronica senza problemi di sicurezza. Questo comportamento è garantito dalle applicazioni di Microsoft Office, e se viene aggiunto del codice macro al documento Office XML, l’applicazione ne impedisce l’apertura ed il caricamento.

  

Alcune applicazioni ZIP permettono la creazione di file criptati. Il nuovo formato di file non prevede l’utilizzo di file criptati. Se si tenta di leggere un file criptato l’operazione viene interrotta e viene segnalato un errore.

Se un elemento del contenitore si corrompe, gli altri elementi continuano ad essere disponibili. Per esempio, se un utente tenta di aprire un file recuperato da un disco danneggiato ed il file risulta corrotto, il meccanismo di recupero del file di Office ricostruisce la struttura centrale e recupera l’intero contenuto dello stesso file.

Gli sviluppatori di Office possono usare le Interfacce Applicative di Programmazione (API) di Microsoft WinFX per creare un file XPS valido. Attraverso queste interfacce si possono far interagire le soluzioni software con i dati contenuti nei nuovi formati di documento. Gli sviluppatori in ambito Office possono inoltre utilizzare queste API per aprire archivi ZIP generici (sempre che questi siano compatibili con le funzionalità ZIP supportate da Office).

  

Microsoft Office crea dei file conformi alle convenzioni indicate in “Open Packaging Conventions” che le API di WinFX possono leggere, e per contro, WinFX può creare pacchetti che si possono aprire con le applicazioni di Microsoft Office. Le API di WinFX possono funzionare anche con le precedenti versioni di Microsoft Windows, incluse le seguenti: Microsoft Windows Vista, Microsoft Windows Server 2003 e Microsoft Windows XP. In aggiunta sono disponibili convertitori per le versioni di Microsoft Office 2000, Microsoft Office XP e Microsoft Office 2003.

Il nuovo formato di file cambia anche il modo in cui gli utenti di Office lavorano con le altre applicazioni. I seguenti scenari mostrano come l’utilizzo di Office 2007 può cambiare il modo di lavorare quotidiano:

Un utente curioso, Howard, ha scoperto che il nuovo formato di file di Office 2007 è un file di tipo ZIP. Howard vuole esplorarlo da solo, così apre uno dei documenti creati in Word 2007 con un’applicazione ZIP. Scopre all’interno alcuni file che sembrano contenere codice XML, ed alcune immagini che gli ricordano quelle già viste all’interno del documento Word. Affascinato, il curioso Howard apre uno dei file XML con Blocco Note (Notepad) per vedere quale sorta di XML viene generato da Word. Soddisfatto di come sia facile “sbirciare” all’interno del documento, chiude Blocco Note e l’applicazione ZIP e riapre il documento con Word per continuare a lavorarci.

Jan ha bisogno di cambiare una proprietà all’interno di un documento creato con Word 2007. Apre il file con un programma ZIP ed estrae l’elemento XML che contiene le proprietà del documento, apporta la sua modifica, rimette l’elemento all’interno del file contenitore, salva e chiude. Poi apre il documento in Word e trova che tutto il contenuto è ancora presente e che è cambiata solamente la proprietà che ha modificato manualmente.

Il marchio (logo) di una azienda di consulenza è stato cambiato, per rispecchiare dei nuovi obiettivi aziendali. Al dipartimento IT è stato affidato l’incarico di sostituire il logo in tutti i documenti presenti su un server, e questi sono migliaia. Con le precedenti versioni di Office era necessario aprire ogni singolo documento, cancellare il vecchio logo ed inserire quello nuovo, oppure creare e testare una complessa applicazione che automatizzasse questo processo. Con il nuovo formato il dipartimento IT crea una procedura automatica in grado di navigare all’interno della struttura del file per localizzare l’elemento grafico nella rispettiva cartella (che è identica in tutti i documenti) e sostituisce il logo. Ora quando ogni documento viene aperto presenta automaticamente il nuovo logo.

Un ufficio legale deve garantire la riservatezza dei propri dati e di quelli dei propri clienti. L’azienda sa che all’interno dei documenti, inclusi quelli creati in Word, vengono memorizzate alcune proprietà – alcune visibili ed altre nascoste all’interno del documento. Alcune di queste proprietà possono contenere dati sensibili dei clienti o informazioni riservate. Dopo una serie di tentativi ed errori l’azienda era riuscita a creare una procedura per rimuovere queste informazioni, ma questa procedura richiede molto tempo per essere eseguita ed è soggetta a potenziali errore perché viene eseguita da un operatore che deve seguire con precisione una serie di passaggi. Con il nuovo formato di file, il dipartimento IT sviluppa una semplice procedura a blocchi per posizionarsi all’interno delle cartelle del file e rimuovere le informazioni sensibili. L’ufficio legale è ora sicuro che tutte le informazioni sensibili siano state rimosse dai documenti.

Denise sta apportando le ultime variazioni alla sua tesi di laurea. Dopo aver aggiunto la bibliografia si appresta ad effettuare il salvataggio finale. Purtroppo il salvataggio si interrompe prematuramente e viene presentato un messaggio che le segnala che il documento risulta corrotto. Dopo un momento di panico Denise si ricorda che sta utilizzando il nuovo formato di file. Provvede allora ad importare la parte del testo in un nuovo documento, allega nuovamente le immagini ed include gli elementi di formattazione e di stile per ricostruire il documento. Prosegue con il salvataggio del file e l’operazione è completata con successo.

Elizabeth è un’utente di Windows 2000 che utilizza Office 2000 con il Convertitore reso disponibile con Office 2007. Con questo strumento può aprire un documento salvato in formato Word XML. In aggiunta può modificare il documento e salvarlo nel nuovo formato perché il Convertitore supporta sia le operazioni di apertura che quelle di salvataggio.

Benefici dei nuovi formati di file

I nuovi formati Office XML introducono alcuni benefici che aiutano non solo gli sviluppatori e le soluzioni che essi creano, ma anche gli utenti individuali e le organizzazioni di tutte le dimensioni.

Vengono qui citati alcuni di questi benefici:

Facile integrazione delle informazioni di business con i documenti Office. I formati Office XML permettono una creazione rapida di documenti a partire da differenti fonti dati, velocizzano la stesura di documenti, facilitano operazioni di data mining e riutilizzo del contenuto. Lo scambio di dati tra le applicazioni Office e con le altre infrastrutture è semplificato. In aggiunta è possibile modificare le informazioni all’interno di un documento Office o crearne uno nuovo partendo dai suoi componenti senza utilizzare alcuna applicazione Office. Gli impiegati possono migliorare la produttività pubblicando, ricercando e riutilizzando le informazioni in maniera più veloce ed accurata all’interno della propria applicazione preferita, se questa supporta lettura e scrittura in formato XML.

Formato “open” e nessuna royalty. I formati Office XML sono basati sulle tecnologie XML e ZIP, così da essere universalmente accessibili. Le specifiche per i formati e gli schemi saranno pubblicati e resi disponibili sotto la stessa licenza esente da diritti (royalty-free) che esiste oggi per Microsoft Office 2003 Reference Schemas, e che è offerto apertamente e disponibile per l’uso nella grande industria.

Interoperabilità. Con lo standard industriale XML come punto di forza dei formati Office XML, lo scambio dei dati tra le applicazioni Microsoft Office e le applicazioni aziendali di business è semplificato. Senza richiedere l’accesso alle applicazioni Office le soluzioni possono prevedere la modifica delle informazioni all’interno di un documento Office o la creazione di un documento utilizzando qualsiasi strumento standard o tecnologia capace di manipolare XML. I nuovi formati permettono di creare archivi di documenti senza l’utilizzo di codice in Office.

Solidità. I formati Office XML sono disegnati per essere più solidi dei formati binari, e quindi di aiutare nel ridurre il rischio di perdita di informazioni dovuta al danneggiamento o alla corruzione dei file. Le funzionalità di recupero presenti nelle applicazioni Office garantiscono maggiore affidabilità, anche nel caso in cui il documento venisse creato o modificato al di fuori dell’ambito Office. Per non parlare delle situazioni sempre più frequenti e comuni di trasferimento documenti attraverso la posta elettronica o i dispositivi di memorizzazione portatili o di rete nei quali le occasioni di guasto possono aumentare le probabilità di corruzione di un file.
I nuovi formati di file migliorano il recupero dei dati segmentando e memorizzando separatamente ciascuna parte all’interno del file. Questo ha il potenziale di far risparmiare alle aziende grandi quantità di denaro e tempo nel caso di recupero di dati persi. Quando un componente del file risulta corrotto il resto del file viene comunque aperto all’interno dell’applicazione. Per esempio, se un grafico si danneggia questo non impedisce all’utente di aprire le altre parti del documento, senza il grafico. In aggiunta le applicazioni Office possono rilevare queste anomalie e tentare di riparare il documento durante la fase di apertura ripristinando la corretta struttura del documento.

Efficienza. I formati Office XML usano tecnologie ZIP e di compressione per memorizzare i documenti. Un significante beneficio dei nuovi formati è sostanzialmente la ridotta dimensione del file – fino al 75 per cento più piccolo di un analogo documento binario. Questo è uno dei vantaggi di utilizzare la combinazione di XML e tecnologia ZIP per la memorizzazione. Siccome XML è un formato basato sul normale testo che quindi può essere compresso con molta efficacia ed il contenitore ZIP permette la compressione del contenuto l’utente può ottenere significative riduzioni nella dimensione del file. Questo tipo di compressione offre potenziale risparmio dei costi perché riduce lo spazio su disco richiesto per la memorizzazione e diminuisce la banda necessaria al trasporto del file attraverso le e-mail, la rete ed il Web.

Sicurezza. La struttura dei formati Office XML permette un più sicuro e trasparente utilizzo dei file. Si possono condividere documenti confidenziali perchè si riescono facilmente ad identificare e rimuovere informazioni personali e sensibili come nomi di utenti, commenti, revisioni e percorsi di file. Analogamente si possono identificare file che presentano particolari contenuti, come oggetti OLE o codice VBA (Microsoft Visual Basic for Application) per trattamenti particolari. I formati di file aiutano inoltre a migliorare l’ambito della sicurezza per quanto riguarda la presenza di codice eseguibile o macro. Come impostazione predefinita i nuovi formati di Word 2007, Excel 2007 e PowerPoint 2007 non mandano in esecuzione il codice contenuto nei documenti, così se una persona riceve un messaggio di posta elettronica con un documento di Word allegato, può procedere all’apertura dell’allegato senza temere che questo esegua del codice o procedure pericolose- I formati Office XML includono uno speciale formato con estensioni separate per file che contengono codice, permettendo una facile identificazione.

Compatibilità verso il basso. Microsoft Office System 2007 è compatibile con queste precedenti versioni: Microsoft Office 2000, Microsoft Office XP e Microsoft Office 2003. Gli utenti di queste versioni possono utilizzare il nuovo formato con un piccolo sforzo e continuare a beneficiare dei vantaggi dei file esistenti. In particolare essi possono continuare ad utilizzare i vecchi formati binari .doc, .xls e .ppt che rimangono completamente compatibili con il formato di file 2007. Gli utenti delle versioni precedenti di Office possono scaricare un aggiornamento gratuito che permette loro di aprire e modificare i file nel nuovo formato pur continuando ad utilizzare le vecchie versioni di applicativo. Gli utenti che installano Office 2007 possono impostare come formato predefinito quello che preferiscono. Questo assicura agli utenti di riuscire a lavorare con soluzioni di terze parti basate sulle versioni precedenti e di continuare a lavorare con i colleghi, i fornitori ed i clienti e chiunque altro abbia già provveduto ad un aggiornamento della versione.

Glossario per i formati Open XML

La lista seguente definisce i termini utilizzati in questo articolo ed il relativo contenuto:

API    Un insieme di funzioni o metodi utilizzati per accedere alle funzionalità del software. API è l’acronimo di Application Programming Interface (Interfaccia applicativa di programmazione).

Convertitori    Strumenti gratuiti da utilizzare con le versioni precedenti di Office che permettono l’apertura dei nuovi formati Office XML.

  

I convertitori leggono, onorano ed applicano le regole di protezione del documenti legate ai permessi di Rights Management (IRM). Un documento che include una protezione IRM continua ad essere protetto a prescindere dal fatto che l’utilizzatore abbia Office 2007 o versione precedente.

Compatibilità verso l’alto    La capacità di una versione precedente di un’applicazione di aprire file afferenti ad una versione successiva ed ignorare le funzionalità che non sono implementate nella vecchia versione del prodotto. Per esempio Word 2003 è compatibile verso l’alto con Word 2007 perché è in grado di aprire un file di Word 2007 grazie all’uso dei convertitori.

Formati Office Open XML    Una struttura di elementi e relazioni usata per comporre, confezionare, distribuire e riprodurre il contenuto di un particolare documento. Questi elementi definiscono una struttura indipendente dalla piattaforma e permettono alle applicazioni software di generare, scambiare e mostrare documenti in maniera affidabile e consistente.

Package, Pacchetto    Il contenitore ZIP che ospita i componenti (parti) che costituiscono il documento, come definite nelle specifiche chiamate Open Packaging Conventions .

Parte, Componente    Corrisponde ad un singolo elemento (file) contenuto nel package. Per esempio, se un utente usa il pulsante destro del mouse su un file di Excel 2007 e sceglie di estrarne il contenuto verranno visualizzati dei file come ad esempio workbook.xml (cartella di Excel) o sheet[n].xml (fogli di Excel). Ciascuno di questi file è una parte all’interno del package.

Relazioni    Il metodo utilizzato per specificare come le singole parti sono correlate tra loro per formare un documento. Questo metodo specifica il collegamento tra una parte e la relativa risorsa. Le relazioni sono memorizzate all’interno di parti XML (per esempio /_rels/.rels) nel package del documento.

XML    Acronimo di Extensible Markup Language (XML), è un semplice e flessibile formato di testo studiato per la pubblicazione elettronica e lo scambio di una grande varietà di dati attraverso Internet e non solo.

ZIP    Uno formato standard industriale di compressione degli archivi usato per memorizzare e trasportare file tra computer, attraverso e-mail o su Internet.

Struttura dei formati Office XML

Il nuovo formato di file è basato su una semplice specifica che prevede l’uso di un file ZIP compresso che può contenere diverse parti. Elemento principale dei nuovi formati Office XML è l’uso di schemi XML e l’utilizzo di file ZIP. Ciascun file può contenere una raccolta fatta di un qualsiasi numero di parti; questa raccolta definisce il documento.

Le parti del documento sono memorizzate nel file contenitore, o package, usando il formato standard industriale ZIP. Parecchie parti all’interno del contenitore sono file XML al cui interno sono descritti i dati applicativi, i metadati, ed i dati veri e propri. All’interno del package possono essere presenti altre parti che non sono XML, come i file binari che rappresentano immagini oppure oggetti OLE incorporati nel documento. Oltre a questi sono presenti alcune relazioni che definiscono le correlazioni tra le singole parti. Questa organizzazione definisce la struttura di un file di Office. Mentre le parti costituiscono il contenuto del file, le relazioni descrivono come i pezzi di contenuto interagiscono e lavorano insieme.

I risultati sono dei formati di file XML che risultano saldamente integrati e nello steso tempo modulari ed altamente flessibili. Nel seguito saranno descritti i dettagli dei singoli componenti dei formati Office XML ed una descrizione delle applicazioni Office che ne fanno uso.

  

Per comprendere la composizione di un file Office XML potreste voler estrarre il contenuto del documento. Per aprire tale file è necessario avere installato sul proprio computer un’applicazione ZIP, come ad esempio WinZip prodotto da WinZip Computing Corporation.

Per aprire un file XML di Word 2007

1.

Creare una cartella temporanea in cui salvare il file e le sue parti.

2.

Salvare un documento Word 2007, contenente testo immagini ed altri elementi, come file di tipo .docx.

3.

Aggiungere l’estensione .zip alla fine del nome del file.

4.

Effettuare un doppio click sul file. Si aprirà nell’applicazione ZIP e saranno visibili le parti che compongono il file.

5.

Trasferire le singole parti nella cartella creata precedentemente.

Pacchetto ZIP

Molti sono gli elementi che contribuiscono a creare un documento Microsoft Office. Alcuni di questi possono essere condivisi da diverse applicazioni Office, come ad esempio le proprietà del documento, fogli di stile, grafici, hyperlink, diagrammi e disegni. Altri elementi sono specifici per ciascuna applicazione, come le cartelle di lavoro di Excel, le diapositive di PowerPoint o le testate e pié di pagina di Word.

Quando un utente salva un documento con Office 2003 o versione precedente viene generato un singolo file che viene scritto sul disco e che si può facilmente riaprire. Questo è importante per la memorizzazione, gestione e condivisione di quel documento. Riunendo le singole parti di un file di Office 2007 all’interno di un contenitore ZIP, un documento rimane rappresentato da un singolo file e questo significa garantire all’utente la stessa esperienza provata con le versioni precedenti di Office nell’apertura e salvataggio dei documenti. Essi possono continuare a lavorare con un solo ed unico file.

The file format container in the 2007 release

Figura 1. Il nuovo formato di file è un contenitore, in Office 2007

Con le precedenti versioni di Office gli sviluppatori che volevano manipolare il contenuto di un documento Office dovevano conoscere come leggere e scrivere i dati in maniera conforme alla struttura fisica definita per i singoli file binari. Questo processo è complesso e a volte rischioso, principalmente perché i formati binari di Office sono stati disegnati per essere utilizzati prevalentemente attraverso l’uso delle applicazioni Office, e l’intervento su di essi attraverso altre applicazioni li rende più facilmente soggetti a danneggiamento e corruzione, cosa che in molti casi ha scoraggiato gli sviluppatori dall’utilizzarli direttamente.

Il formato ZIP è stato scelto come formato del package perchè è uno standard ben conosciuto. Esistono ad oggi diversi strumenti e programmi in grado di lavorare con formato ZIP, ed il suo utilizzo fornisce una struttura flessibile e modulare che permette di pensare ad ulteriori estensioni delle funzionalità per il futuro. Il formato ZIP permette l’accesso completo ai contenuti di un documento Office utilizzando qualsiasi programma o tecnologia che supporta lo standard ZIP. Dopo aver aperto il file contenitore si possono manipolare le singole parti del documento trovate all’interno del package che definisce il documento stesso. Per esempio si può aprire un documento Word 2007 che utilizza il formato Office XML, localizzare la parte XML che rappresenta il corpo del documento, modificare il contenuto usando qualsiasi strumento per l’editing XML e riportare la parte XML all’interno del contenitore; in questo modo si può procedere ad aggiornare un documento di Office.

Parti

All’interno di un package di formato Office XML molte porzioni logiche del file sono memorizzate come file individuali. Questa modularità è una delle caratteristiche più importanti del formato di file, e mette a disposizione la possibilità di individuare una specifica parte e lavorare direttamente e solamente su di essa. E’ possibile modificare, scambiare o anche rimuovere parti di documento a seconda delle necessità o del risultato che si vuole raggiungere.

Tutte le applicazioni Office condividono alcune parti, come quelle grafiche, le miniature e le relazioni. Altre esistono in tutti i documenti ma sono coerenti con il contesto applicativo specifico, come ad esempio le proprietà del documento. Molte parti infine sono uniche per un singolo tipo di applicazione e si trovano solo nei documenti di quello specifico tipo. Per esempio una parte di tipo “worksheet” (foglio di lavoro di Excel) si trova solamente nei documenti Excel, mentre le parti di tipo diapositiva si trovano solamente nei documenti PowerPoint.

E’ importante notare che, con poche eccezioni definite nelle specifiche Open Packaging Conventions, l’attuale struttura delle directory all’interno del file è arbitraria. La validità di un file viene quindi definita non dalla struttura del file stesso ma dall’insieme delle relazioni all’interno del file. E’ quindi possibile riorganizzare le parti di un file Office XML all’interno dello stesso contenitore ZIP purchè le relazioni vengano coerentemente modificate per continuare a presentare le stesse correlazioni tra le parti. Se le relazioni saranno precise il file si aprirà senza errori. Quando viene creato un nuovo documento Office XML viene utilizzata la struttura predefinita, che permette di determinare la composizione dei file in maniera semplice. Ammesso di mantenere le relazioni aggiornate si può arrivare a cambiare la struttura di default. Per maggiori informazioni si consiglia di consultare l’articolo Walkthrough: Word 2007 Open XML File Format (in inglese).

Le varie parti possono avere contenuto di tipo differente. Le parti utilizzate per descrivere i dati delle applicazioni Office sono memorizzate come XML, e sono conformi allo schema XML delle specifiche funzioni o oggetti a cui afferiscono. Per esempio in un file Excel 2007 i dati relativi ad un foglio di lavoro sono salvati in formato XML e sono rappresentati secondo quanto definito nello schema XML di Excel per gli oggetti del tipo Foglio di Lavoro. Se per la cartella di Excel sono previsti fogli di lavoro multipli esisterà un file XML per ciascuno di essi. Per tutte le parti di documento predefinito di Office esiste un corrispondente schema XML che verrà reso disponibile da Microsoft in forma di licenza gratuita priva di royalty. Sfruttando questo tipo di documentazione e qualsiasi tipo di tecnologia basata su XML è quindi possibile creare o utilizzare facilmente i vari tipi di documento di Microsoft Office System 2007.

In molti casi risulta vantaggioso memorizzare alcune parti nel loro nativo formato, ed in questo caso non viene utilizzato XML. Ad esempio le immagini in Office 2007 sono memorizzate come file binari (.png, .jpg ed altri tipi di file) all’interno del package. Quindi si potranno aprire tali package utilizzando un’applicazione ZIP ed intervenire su questo tipo di contribuzione visualizzando, modificando o sostituendo le immagini nel proprio formato di origine. Non solo questo tipo di archiviazione risulta molto accessibile, ma richiede anche meno risorse interne in termini di processo e di spazio su disco occupato rispetto a quelle utilizzate se fosse forzato il formato XML. Esistono poi altre parti che sono memorizzate come parti binarie: sono gli oggetti VBA e gli oggetti OLE integrati (gli oggetti OLE integrati sono disponibili in forma binaria solamente se il server OLE associato ne fornisce solamente una rappresentazione binaria; nel caso di Office 2007, se vengono utilizzati dei documenti integrati, questi vengono memorizzati in forma di package – ad esempio un elemento di Excel all’interno di un documento Word sarà memorizzato come un file documento di Excel all’interno del file documento di Word). Per gli sviluppatori questa accessibilità rende più interessanti molti scenari. Ad esempio, si può creare una semplice soluzione che controlla un insieme di documenti di Office per andare ad aggiornare un esistente oggetto OLE utilizzato all’interno di questi, senza dover ricorrere all’uso di alcuna applicazione Office e senza modificare alcun documento XML. La sezione seguente descrive alcune delle parti che sono comuni a tutti gli applicativi Office che supportano il formato Office XML. Il tipo ed il numero delle parti dipende dall’applicazione che crea il file ZIP contenitore.

Cartella “_rels”

Questa cartella contiene un file con estensione .rels che definisce le relazioni di base all’interno del package. Questo è il primo punto da cui partire per navigare all’interno del package.

File “.rels”

Contiene relazioni basate sulla primissima parte (la parte di avvio virtuale). Le relazioni sono definite con il seguente formato:

        <Relationship Id="IDentificativo" Type="TipoDiRelazione" Target="Parte"/>
      

Dove: Id è una stringa, univoca all’interno del file .rels.

Type    E’ il tipo di relazione che distingue una relazione dall’altra e ne descrive lo scopo. Punta allo schema che definisce il tipo di formato Office XML.

Target    Punta a cartella e file che individua il destinatario della relazione (un’altra parte).

Tabella 1. Tipi di relazione

Tipi di relazione predefinite

http://schemas.microsoft.com/office/2006/relationships/officeDocument

http://schemas.microsoft.com/office/2006/relationships/vbaProject

http://schemas.microsoft.com/office/2006/relationships/userXmlData

http://schemas.microsoft.com/office/2006/relationships/hyperlink

http://schemas.microsoft.com/office/2006/relationships/styleSheet

http://schemas.microsoft.com/office/2006/relationships/comments

http://schemas.microsoft.com/office/2006/relationships/oleObject

http://schemas.microsoft.com/office/2006/relationships/e2Object

http://schemas.microsoft.com/office/2006/relationships/e1Object

http://schemas.microsoft.com/office/2006/relationships/image

http://schemas.microsoft.com/office/2006/relationships/sound

http://schemas.microsoft.com/office/2006/relationships/movie

http://schemas.microsoft.com/office/2006/relationships/slide

http://schemas.microsoft.com/office/2006/relationships/layout

http://schemas.microsoft.com/office/2006/relationships/notesslide

http://schemas.microsoft.com/office/2006/relationships/slidemaster

http://schemas.microsoft.com/office/2006/relationships/glossaryDoc

http://schemas.microsoft.com/office/2006/relationships/cfChunk

http://schemas.microsoft.com/office/2006/relationships/dataStoreItem

http://schemas.microsoft.com/office/2006/relationships/embeddedFont

http://schemas.microsoft.com/office/2006/relationships/embeddedMetroObject

http://schemas.microsoft.com/office/2006/relationships/chart

http://schemas.microsoft.com/office/2006/relationships/activeXControl

http://schemas.microsoft.com/office/2005/relationships/diagram

http://schemas.microsoft.com/office/2005/relationships/diagramData

http://schemas.microsoft.com/office/2005/relationships/diagramStyle

http://schemas.microsoft.com/office/2005/relationships/diagramColorTrans

http://schemas.microsoft.com/office/2005/relationships/diagramDefinition

http://schemas.microsoft.com/package/2005/02/md/core-properties

http://schemas.microsoft.com/office/2006/relationships/docPropsApp

http://schemas.microsoft.com/office/2006/relationships/docPropsCustom

http://schemas.microsoft.com/ office/2006/relationships/documentThumbnail

http://schemas.microsoft.com/office/2006/relationships/glossaryDoc

Parte principale del Documento

La parte principale che costituisce il documento è quella correlata allo schema:

http://schemas.microsoft.com/office/2006/relationships/officeDocument

(la parte di Presentazione per PowerPoint, la Cartella di lavoro per Excel, il Documento per Word). Tutti gli altri tipi di relazione partono dalla parte principale.

Cartella specifica per Applicazione (ad esempio “Word”)

Contiene componenti specifici per la singola applicazione. Ad esempio nel caso di Word:

wordDocument.xml    Contiene i dati (testo) del documento, oltre a Stili ed impostazioni dei Caratteri.

footer.xml    Contiene le informazioni relative ai Piè di pagina del documento, come il riferimento alla Pagina alla quale sono associati e alcune informazioni sugli Stili.

header.xml    Contiene informazioni relative alle Testate, analogamente a quanto già indicato per i Piè di pagina.

wordDocument.doc    E’ una copia del documento originale.

styles.xml    Contiene informazioni relative agli Stili che si trovano nel documento, come dimensione dei Caratteri, Stili di tabella ed Elenchi puntati.

Audio

Contiene ogni tipo di file audio, come .mid, .mp3 o .wav.

Content_Types.xml

Fornisce una lista del tipo di contenuto per le altre parti contenute nel package. I tipi di contenuto previsti sono:

Tabella 2. Tipi di Contenuto che si possono trovare in un contenitore ZIP

Tipi di Contenuto predefiniti

 

application/vnd.ms.powerpoint.template.macroEnabled.12

applicazione/x-font

application/vnd.ms-excel.12

applicazione/x-font

application/vnd.ms-excel.addin.12

applicazione/xml

application/vnd.ms-excel.binary.12

audio/aiff

application/vnd.ms-excel.macroEnabled.12

audio/basic

application/vnd.ms-excel.macroEnabledTemplate.12

audio/midi

application/vnd.ms-excel.template.12

audio/mp3

application/vnd.ms-metro.core-properties+xml

audio/mpegurl

application/vnd.ms-metro.relationships+xml

audio/wav

application/vnd.ms-office.activeX+xml

audio/x-ms-wax

application/vnd.ms-office.chart

audio/x-ms-wma

application/vnd.ms-office.vbaProject

immagine/bmp

application/vnd.ms-powerpoint.

immagine /gif

application/vnd.ms-powerpoint.macroEnabled.12

immagine /jpeg

application/vnd.ms-powerpoint.main.12+xml

immagine /png

application/vnd.ms-powerpoint.presentation.12

immagine /tiff

application/vnd.ms-powerpoint.show.12

immagine /xbm

application/vnd.ms-powerpoint.show.macroEnabled.12

immagine /x-icon

application/vnd.ms-powerpoint.template.12

video/avi

application/vnd.ms-word.document.12

video/mpeg

application/vnd.ms-word.document.macroEnabled.12

video/mpg

application/vnd.ms-word.document.macroEnabled.main+xml

video/x-ivf

application/vnd.ms-word.document.main+xml

video/x-ms-asf

application/vnd.ms-word.fontTable+xml

video/x-ms-asf-plugin

application/vnd.ms-word.listDefs+xml

video/x-ms-wm

application/vnd.ms-word.settings+xml

video/x-ms-wmv

application/vnd.ms-word.styles+xml

video/x-ms-wmx

application/vnd.ms-word.subDoc+xml

video/x-ms-wvx

application/vnd.ms-word.template.12

 

application/vnd.ms-word.template.macroEnabled.12

 

application/vnd.ms-word.template.macroEnabled.main+xml

 

application/vnd.ms-word.template.main+xml

 

Proprietà del Documento

Contiene le principali proprietà del documento, definite per tutti i file conformi al format XPS, come:

Autore

Titolo

Oggetto

Commenti

Data Ultimo Salvataggio

Data Creazione

Relazioni

Ogni elemento individuale che compone un documento Office 2007 corrisponde ad una parte. Le relazioni sono il metodo utilizzato per indicare come le diverse parti sono correlate tra di loro per formare il documento, e la forma utilizzata è XML. Le relazioni specificano la connessione tra una risorsa da cui partire (sorgente) ed un’altra a cui arrivare (destinatario). Per esempio si può identificare una connessione tra una diapositiva ed una immagine che compare sulla diapositiva stessa. Le relazioni sono indicate all’interno della parte XML oppure sono vere e proprie parti all’interno del file contenitore. Se un elemento (sorgente) ha più relazioni queste sono elencate nella stessa parte XML.

Le relazioni giocano un ruolo importante nei formati Office XML. Ogni parte di documento è referenziata da almeno una relazione. L’uso di relazioni rende possibile scoprire come una parte si correla all’altra senza dover guardare il contenuto delle parti stesse. All’interno delle parti tutti i riferimenti alle relazioni sono rappresentate utilizzando un identificativo (Relationship ID) che permette di tenere i collegamenti tra le parti indipendenti dallo schema specifico per ogni tipo di contenuto.

High-level relationship diagram of an Excel 2007 workbook

Figura 2. Diagramma ad alto livello delle relazioni all’interno di una cartella di lavoro di Excel 2007.

Questo è un esempio delle relazioni presenti in una cartella di lavoro di Excel (workbook) che contiene due Fogli di lavoro (worksheet):

XML
<Relationships xmlns="http://schemas.microsoft.com/package/2005/06/relationships">
<Relationship ID="rId3"
Type="http://schemas.microsoft.com/office/2005/8/relationships/xlStyles"
Target="styles.xml"/>
<Relationship ID="rId2" Type="http://schemas.microsoft.com/office/2005/8/relationships/xlWorksheet"
Target="worksheets/Sheet2.xml"/>
<Relationship ID="rId1" Type="http://schemas.microsoft.com/office/2005/8/relationships/xlWorksheet"
Target="worksheets/Sheet1.xml"/>
<Relationship ID="rId5" Type="http://schemas.microsoft.com/office/2005/8/relationships/xlMetadata"
Target="metadata.xml"/>
<Relationship ID="rId4" Type="http://schemas.microsoft.com/office/2005/8/relationships/xlSharedStrings"
Target="strings.xml"/>
</Relationships>

E’ importante notare che le relazioni rappresentano non solo riferimenti interni al documento ma anche risorse esterne. Per esempio se un documento contiene delle immagini o oggetti collegati (link) questi sono rappresentati con una relazione. Questo permette di localizzare, verificare e cambiare in maniera semplice i link all’interno di un documento verso risorse esterne, ed offre l’opportunità di riparare i link non più validi, individuare puntamenti a risorse anomale o rimuovere link potenzialmente pericolosi.

L’uso delle relazioni porta diversi benefici anche agli sviluppatori. Esse semplificano il processo di individuazione dei contenuti all’interno di un documento perché non risulta necessario effettuare una scansione dell’XML per trovare delle parti o altre risorse, siano esse interne o esterne. Le relazioni permettono di avere un inventario del contenuto all’interno di un documento molto velocemente. Per esempio, se esiste la necessità di sapere quanti Fogli di Excel sono contenuti in una Cartella si possono ispezionare le relazioni per contare quante parti identificabili come Fogli di lavoro sono presenti. Si possono anche usare le relazioni per esaminare il tipo di contenuto di un documento, e questo meccanismo è utile in quelle situazioni in cui è necessario identificare se all’interno di un documento sono presenti particolari tipi di contenuto che potrebbe essere pericolosi (come oggetti OLE sospetti) o estremamente utili (come in uno scenario dove si vogliono estrarre da un documento tutte le immagini JPEG per poterle riutilizzare altrove).

Le relazioni rendono anche possibile manipolare i documenti senza conoscere necessariamente la sintassi o le funzionalità degli applicativi che li hanno generati. Per esempio, senza nessuna conoscenza di come funziona PowerPoint uno sviluppatore può facilmente rimuovere diapositive estranee da una presentazione modificando le relazioni del documento.

File con abilitazione delle macro (macro-enabled) e file senza macro (macro-free)

Come impostazione predefinita i documenti di Microsoft Office System 2007 salvati in formato Office XML vengono salvati senza la presenza di macro, e comunque non possono contenere del codice. Questo comportamento assicura che nessun codice sospetto che risiede in un documento possa essere eseguito inaspettatamente. Per poter salvare documenti di Microsoft Office System 2007 che contengano ed utilizzino del codice bisogna esplicitamente ricorrere all’uso di tipi di documento abilitati alle macro. Questo salvaguarda quelle organizzazioni che in questo modo possono usare documenti con maggiore grado di confidenza e sicurezza e nello stesso tempo non limitano la capacità di implementare soluzioni che ne fanno uso.

I file con abilitazione delle macro hanno esattamente lo stesso formato di quelli senza macro, ma contengono parti aggiuntive in relazione alle automazioni che il documento prevede. Un file abilitato alle macro che usa VBA (Visual Basic for Application) contiene una parte binaria in cui è salvato il progetto VBA. Ogni Cartella di lavoro di Excel che usa Macro di tipo Excel 4.0 piuttosto che ogni presentazione di PowerPoint che contiene pulsanti di comando è salvata come file con abilitazione delle macro. Se in un documento senza macro viene trovata una parte che contiene del codice, aggiunta accidentalmente o maliziosamente, le applicazioni Office non permettono l’esecuzione del codice – senza eccezioni.

Si può quindi determinare prima di aprire un documento di Microsoft Office System 2007 se esso contiene del codice, cosa che non era possibile fare facilmente in precedenza soprattutto al di fuori dell’ambito delle applicazioni Office. Ora si può ispezionare un file, verificando l’esistenza di potenziali parti che contengono codice, senza eseguire Office e senza eseguire del codice potenzialmente pericoloso. Se un file sembra sospetto, si possono rimuovere le parti contenenti il codice così che questo diventi innocuo.

Estensioni del nome del file

I documenti di Microsoft Office System 2007 salvati in formato Office XML hanno una nuova estensione che permette di differenziarli da quelli in formato binario utilizzati dalle versioni precedenti di Office. Le nuove estensioni utilizzano la stessa estensione utilizzata per i file binari, aggiungendo una lettera alla fine del suffisso. L’estensione utilizzata per documenti creati in Word 2007, Excel 2007 e PowerPoint 2007 aggiunge la lettera “x” individuando rispettivamente le estensioni .docx, .xlsx e .pptx. Anche gli altri tipi di documento che usano i nuovi formati (inclusi Modelli, Aggiunte, ecc.) utilizzano nuove estensioni.

Un altro cambiamento introdotto in Office 2007 riguarda l’utilizzo di differenti estensioni per file con abilitazione alle macro e file senza macro. I documenti abilitati alle macro possiedono una estensione che finisce con la lettera “m” al posto della lettera “x”. Per esempio, un documento di Word che contiene macro ha l’estensione .docm e questo permette agli utenti o ad altre applicazioni software di identificare ancora prima di aprire il documento il fatto che può contenere macro o codice eseguibile.

Tabella 3. Elenco delle estensioni per i tipi di documento in Office 2007

Word 2007

Estensione

Documento di Word 2007 XML

.docx

Documento di Word 2007 XML abilitato alle macro

.docm

Modello di Word 2007 XML

.dotx

Modello di Word 2007 XML abilitato alle macro

.dotm

Excel 2007

Estensione

Cartella di lavoro Excel 2007 XML

.xlsx

Cartella di lavoro Excel 2007 XML abilitata alle macro

.xlsm

Modello di Excel 2007 XML

.xltx

Modello di Excel 2007 XML abilitato alle macro

.xltm

Cartella di lavoro Excel 2007, formato binario

.xlsb

Componente aggiuntivo Excel 2007 XML abilitato alle macro

.xlam

PowerPoint 2007

Estensione

Presentazione PowerPoint 2007 XML

.pptx

Presentazione PowerPoint 2007 XML abilitata alle macro

.pptm

Modello di PowerPoint 2007 XML

.potx

Modello di PowerPoint 2007 XML, abilitato alle macro

.potm

Componente aggiuntivo di PowerPoint 2007 XML abilitato alle macro

.ppam

Presentazione di PowerPoint 2007 XML (Show)

.ppsx

Presentazione di PowerPoint 2007 XML (Show) abilitato alle macro

.ppsm

Sviluppare soluzioni usando i formati Office XML

L’uso dei formati Office XML introduce o migliora molti tipi di soluzione che coinvolgono la creazione di documenti. Si può accedere al contenuto di un documento salvato nel nuovo formato di Office utilizzando qualsiasi strumento o tecnologia capace di lavorare con archivi ZIP. Si può manipolare il contenuto utilizzando qualsiasi tecnica che supporti XML, oppure nel caso in cui la parte sia in formato nativo (come le immagini) qualsiasi strumento in grado di gestire quella tipologia di oggetto.

In aggiunta, la capacità di aprire un documento di Microsoft Office System 207 manualmente come un qualsiasi archivio ZIP porta interessanti benefici agli sviluppatori. Per esempio durante la creazione di soluzioni software in ambito Office si può esaminare il contenuto e la struttura di un documento senza dover scrivere alcuna riga di codice, facilitando enormemente il disegno delle soluzioni e la creazione di prototipi.

Dopo essere entrati all’interno di un file di Office 2007 risulta facile navigare le varie parti e le relative relazioni grazie alla sua struttura, rendendo possibile localizzare informazioni, cambiare il contenuto o rimuovere elementi da un documento senza grandi sforzi. L’utilizzo di XML aggiunto alla disponibilità pubblica di informazioni tecniche che descrivono l’organizzazione dei documenti (schema) permette di creare facilmente documenti aggiuntivi, aggiungere dati ai documenti esistenti o ricercare particolari tipi di contenuto all’interno del corpo di un documento.

Il resto di questo articolo esplora alcuni scenari nei quali i formati Office XML agevolano soluzioni basate sull’uso di documenti. Quelle che seguono sono solamente alcune delle infinite possibilità:

Interoperabilità tra dati

Manipolazione dei contenuti

Condivisione e riutilizzo dei contenuti

Assemblaggio di documenti

Sicurezza legata ai documenti

Gestione di informazioni sensibili

Arrangiamento di documenti

Profilazione di documenti

Interoperabilità tra dati

La diffusione dello standard XML come mezzo popolare per lo scambio e trasferimento di dati rende i documenti basati sui nuovi formati Office XML più accessibili tra sistemi eterogenei. Nel caso di utenti che condividono dei documenti all’interno di un dipartimento, oppure di aziende che si scambiano dati commerciali, l’utilizzo di XML come formato predefinito per documenti significa che anche le applicazioni di Office possono partecipare nei processi di business senza le limitazioni che avevano in precedenza con l’uso dei formati binari.

La solidità dei nuovi formati rimuove le limitazioni ed introduce ampie e nuove possibilità di integrazione. Per esempio si potrebbero utilizzare le specifiche pubbliche dei nuovi formati per creare dei documenti evoluti senza utilizzare le applicazioni Office, oppure usare applicazioni lato server in grado di processare grandi quantità di documenti e portare su larga scala soluzioni in grado di far interagire dati aziendali con le più familiari e flessibili applicazioni Office. Si potrebbero utilizzare protocolli standard XML, come XPath (un comune linguaggio di interrogazione XML) ed XSLT (Extensible Stylesheet Language Transformation – linguaggio estensibile di trasformazione dei fogli di stile), per ritrovare dei dati in un documento o per aggiornare dei contenuti recuperandone una parte anche da fonti esterne.

Un altro scenario può prevedere attività di personalizzazione di migliaia di documenti da distribuire ai propri clienti. Si possono scrivere applicazioni in grado di compilare dei documenti a partire da un modello standard ed inserendo informazioni e dati XML estratti da un database aziendale o da un’applicazione CRM. Questi tipi di applicazione risultano decisamente efficienti perché non richiedono necessariamente l’utilizzo di applicazioni Office e sono comunque in grado di creare documenti evoluti e di alta qualità.

L’utilizzo di schemi personalizzati in Office è un altro modo che si può utilizzare per distribuire e condividere dati, e questi non solo facilitano l’inserimento e l’estrazione di dati ma permettono anche l’aggiunta di una struttura ai documenti in grado di effettuare delle validazioni sui dati stessi. Le informazioni che una volta erano bloccate ora diventano accessibili, ed i documenti assumono sempre più il ruolo di fonte di dati e di strumento di scambio.

Manipolazione del contenuto

La modifica del contenuto di un documento Office esistente è un altro esempio in cui i nuovi formati permettono un miglioramento dei processi. Le modifiche possono riguardare l’aggiornamento di piccole quantità di dati, lo scambio di intere parti, la rimozione o l’aggiunta di nuove parti. Tramite l’utilizzo di relazioni e parti i nuovi formati rendono più semplice la ricerca e la manipolazione del contenuto, ed inoltre sfruttando tecnologie diffuse basate su XML e schemi XML, come XPath ed XSLT, è possibile intervenire nella modifica del contenuto in infiniti modi.

Uno dei tanti scenari potrebbe prevedere la necessità di modificare il testo presente nella testata di un documento di Word; certamente in questo caso non sarebbe logico cercare di automatizzare il processo per un solo documento, ma cosa succederebbe nel caso in cui una azienda cambiasse la propria ragione sociale o il proprio indirizzo e questo comparisse nella testata di centinaia di documenti? Uno sviluppatore potrebbe scrivere del codice in grado di controllare tutti i documenti, localizzare la parte che contiene la testata all’interno della struttura del file di Word, ed eseguire una query XPath per individuare il vecchio testo. Provvederà poi a creare il nuovo testo e sostituirlo, questo fino a quando saranno stati esaminati e modificati tutti i documenti presenti. L’automazione in questi casi permette di risparmiare molto tempo, eseguire delle attività che altrimenti non verrebbero nemmeno tentate, o prevenire potenziali errori che si potrebbero commettere durante una procedura di aggiornamento manuale.

Un altro scenario potrebbe essere quello in cui un documento di Office esistente deve essere aggiornato, richiedendo la sostituzione di una intera parte. In una Cartella di Excel 2007 si potrebbe ad esempio sostituire un intero Foglio di lavoro, che contiene vecchi dati oppure una serie di funzioni non più valide, con un foglio nuovo semplicemente rimpiazzando e sovrascrivendo il vecchio. Questo tipo di aggiornamento è applicabile anche alle parti binarie, come per esempio delle immagini esistenti oppure degli oggetti OLE. Si potrebbe aggiornare un diagramma di Microsoft Office Visio contenuto all’interno di un documento Office e rappresentato da un oggetto OLE sovrascrivendo la parte binaria con una nuova versione. Allo stesso modo può risultare semplice modificare dei collegamenti a fonti esterne o a pagine Internet modificando direttamente il loro indirizzo all’interno del testo o nelle relazioni.

Ci sono poi delle situazioni che possono essere specifiche a seconda dell’applicativo Office utilizzato. Vediamone qualcuna…

Manipolazione del contenuto in Word 2007

E’ pratica comune utilizzare all’interno di documenti professionali una serie di frasi o paragrafi formali, precostituiti come ad esempio dei Disclaimer legali, oppure delle postille o delle note obbligatorie, oppure ancora sezioni che potrebbero includere la presentazione della società o la descrizione di un prodotto o servizio. Per questi tipi di contribuzione si possono sfruttare alcune funzionalità di Word come ad esempio il Glossario, capace di inserire in un punto del documento un testo già formattato e preparato in precedenza, ma queste funzioni in genere richiedono una interazione diretta da parte dell’utente.

Word 2007 offre un’alternativa molto flessibile per inserire del contenuto all’interno di un documento. Il formato Word XML permette di aggiungere parti di documento, chiamate Blocchi Predefiniti, che sono referenziabili nell’intero documento quando lo si apre in Word. Questo significa che si può costruire una libreria di blocchi predefiniti, che si possono derivare da ogni formato di documento che Word è in grado di renderizzare, ed utilizzarla applicativamente a seconda delle necessità.

Questa grande abilità di manipolare il contenuto di Word offre interessanti possibilità come ad esempio l’assemblaggio di documenti lato server. Cerchiamo di semplificare con un esempio, immaginando uno scenario in cui una multinazionale vuole che tutti i propri documenti contengano un disclaimer, ciascuno presentato nella lingua locale. L’azienda potrebbe creare i diversi disclaimer nei vari linguaggi e salvarli come file html su di un server. Una applicazione si occuperà poi di completare i documenti provvedendo ad individuare il disclaimer giusto a seconda del linguaggio utilizzato all’interno dello stesso documento ed inserirlo come una parte specifica all’interno del file. Questo frammento diventerà parte integrante del documento originale.

Manipolazione del contenuto in Excel 2007

Per ottimizzare le prestazioni e la dimensione dei file durante il caricamento ed il salvataggio Excel 2007 memorizza solamente una copia di tutti i testi ripetitivi individuati all’interno del file. Per fare questo Excel implementa una tabella condivisa che viene mappata con una specifica parte, la quale fa riferimento al tipo di relazione http://schemas.microsoft.com/office/2005/8/relationships/xlSharedStrings. Ogni testo unico trovato all’interno della cartella di lavoro è presentato una sola volta in questa parte, e le singole celle dei fogli di lavoro referenziano la tabella per derivarne i valori.

Mentre questo processo ottimizza il formato Excel XML introduce anche delle interessanti opportunità per soluzioni aggiuntive di manipolazione del contenuto. Gli sviluppatori in una azienda multinazionale potrebbero usare la tabella condivisa per offrire una serie di servizi di supporto multilingue; per esempio anziché creare tante copie di una stessa cartella di lavoro di Excel per ciascun linguaggio potrebbero creare diverse tabelle condivise nei vari linguaggi ed inserirle nell’unico documento nel quale ogni foglio punterebbe a più tabelle condivise. Altra possibilità sarebbe quella di creare dei meccanismi di ricerca di parole chiave basandosi sul testo contenuto nelle tabelle condivise di una serie di documenti. Processare delle parti di documento contenenti solo testo, in formato XML, sarebbe sicuramente più semplice e veloce che andare a manipolare dei documenti utilizzando il modello ad oggetti di Excel.

Manipolazione del contenuto in PowerPoint 2007

Quando una presentazione di PowerPoint 2007 viene salvata utilizzando il formato PowerPoint XML il contenuto continua ad offrire caratteristiche di alta accessibilità. Siccome questa è la prima versione di PowerPoint ad offrire un formato XML apre ancora più scenari possibili rispetto alle versioni precedenti. Ora sarà possibile, avendo accesso alle diapositive e alle loro note direttamente lavorando con il testo, implementare soluzioni che effettuano ricerche, indicizzazioni ed elaborazioni sul contenuto della presentazione. Si potrà più facilmente generare presentazioni dipendenti dai dati utilizzando XML, ed accedere agli Schemi Diapositiva o ai Layout Diapositiva attraverso delle parti in XML per formattare programmaticamente delle presentazioni nuove o esistenti.

Si può utilizzare un nuovo approccio nell’assemblaggio o riutilizzo di contenuto da presentazioni di PowerPoint creando un’applicazione che usa un catalogo di diapositive memorizzate in presentazioni diverse e distinte. Le diapositive sono rappresentate come parti XML individuali, quindi una soluzione può ottimizzare il modo di organizzare e memorizzare singole diapositive come se fossero dei dati. Si può arrivare anche a scrivere un’applicazione in grado di visualizzare le diapositive e permettere ad un utente di trovarle, gestirle e creare così una propria presentazione senza ricorrere all’uso di PowerPoint. Potrebbe essere a questo punto un’applicazione Web che permetta una gestione centralizzata.

Condivisione e riutilizzo dei contenuti

La modularità dei formati Office XML apre nuove possibilità nel generare una sola volta dei contenuti e riutilizzarli in molti altri documenti. Uno sviluppatore può immaginare la creazione di un certo numero di modelli di base ed il riutilizzo di blocchi predefiniti per altri documenti. Si può usare una tabella creata in un documento di Word all’interno dei altri documenti di Word; si possono creare grafici (che hanno uno schema comune condiviso da tutte le applicazioni di Microsoft Office System 2007) e riutilizzarli infinite volte all’interno di diversi tipi di documento. L’accessibilità dei formati aiuta ed agevola le opportunità di condivisione del contenuto.

Altro scenario potrebbe essere quello in cui si manifesta la necessità di costruire un unico punto centralizzato di raccolta delle immagini utilizzate nei documenti. Si può creare una soluzione che, partendo da un gruppo di documenti di Office, effettui una scansione ed estragga le immagini contenute all’interno di essi, rendendole poi disponibili in un unico punto comune. Siccome nei documenti di Office 2007 le immagini sono memorizzate come elementi binari l’operazione risulterà abbastanza semplice.

Si potrebbe anche creare un’applicazione che utilizza le immagini di “anteprima” dei documenti e permettere di arricchire una procedura di gestione dei documenti con un aspetto visivo più fedele o interessante.

Assemblaggio di documenti

Una delle più comuni richieste da parte degli sviluppatori è l’abilità di creare dei documenti di Microsoft Office su di un server senza ricorrere all’automazione delle applicazioni Office. Le aziende hanno sempre più bisogno di produrre documenti complessi e ricchi o di assemblare documenti in grandi quantità e vogliono più efficienza, cosa che però non si concilia con il fatto che le applicazioni Office non sono state scritte e non sono supportate per girare su di un server.

Con le edizioni di Microsoft Office 2003 e l’introduzione di documenti in formato XML conformi agli schemi Office 2003 XML si cercò di superare le limitazioni. Qualsiasi tecnologia in grado di assemblare XML permetteva di creare un documento Word o Excel, purchè rispettasse le specifiche descritte dagli schemi Office. Fu un grande passo avanti, ma sfortunatamente era applicabile solamente a Word ed Excel, e solamente Word era in grado di garantire una totale fedeltà alle specifiche XML. Con Office 2007 lo sforzo si estende a PowerPoint che ora si presenta con un proprio formato PowerPoint XML e garantendo che, sia PowerPoint che Excel, siano effettivamente e completamente fedeli alle specifiche.

Questo avanzamento in tecnologia significa che con Office 2007 si possono creare soluzioni Office in grado di creare documenti Excel, Word e PowerPoint senza nemmeno aprire Office. Le soluzioni devono creare XML conforme agli schemi della versione 2007 e realizzare dei contenitori come definito dai formati Office XML. Sebbene gli schemi Office siano abbastanza estesi, per rappresentare tutto l’insieme di ricche funzionalità disponibili in questa versione di Office, non tutte le strutture definite dal formato sono necessarie per generare un documento. Ognuna delle applicazioni Office è in grado di aprire un file con un minimo numero di elementi definiti, rendendo più semplici i requisiti per la creazione di molti documenti.

Da notare che l’assemblaggio di documenti non riguarda solamente la creazione di nuovi documenti. Certamente seguendo le regole dei formati Office XML si possono creare documenti attraverso la programmazione senza utilizzare Office, ma spesso l’assemblaggio consiste nell’utilizzo di porzioni di documenti esistenti siano essi dati, testo o altri tipi di contenuto. I nuovi formati Office XML sono lo strumento ideale in questi scenari perché hanno un’architettura modulare ed il loro contenuto è basato su XML.

Un esempio di assemblaggio di documenti si applica anche a presentazioni PowerPoint. Molte aziende hanno grandi collezioni di file PowerPoint che hanno un buon grado di riutilizzabilità. Gli utenti molto spesso riciclano diapositive da presentazioni esistenti per creare altre presentazioni, ma le operazioni di ricerca, coordinamento ed integrazione di diapositive(operazioni di Copia & Incolla) richiedono generalmente molto tempo ed è interesse di molti riuscire ad automatizzare queste attività. Con Office 2007 le singole diapositive risultano particolarmente accessibili perché ciascuna di esse è salvata in una sua parte XML all’interno del package del documento. Una soluzione specifica può utilizzare questa organizzazione per automatizzare il processo di assemblaggio della presentazione completa, sfruttando XML personalizzato per memorizzare dei meta-dati per ogni diapositiva e permettere una ricerca semplificata basata su parole chiave. Dopo che un utente avrà selezionato una diapositiva l’applicazione provvederà ad inserirla nella presentazione finale e ad aggiornare correttamente le relazioni.

Sicurezza legata ai documenti

Il tema della sicurezza è ad oggi uno dei più importanti nell’ambito dell’Information Technology, e l’uso dei formati Office XML aiuta sicuramente a fornire un maggior grado di confidenza che le soluzioni che gestiscono documenti siano sempre più sicure.

Con i nuovi formati si possono creare soluzioni per identificare e rimuovere potenziali vulnerabilità prima che queste diventino un problema, ad esempio nei casi in cui una azienda volesse intervenire sui documenti per finalità di archiviazione (per rimuovere dei dati sensibili dei clienti) o per verificare che all’interno di essi non siano presenti macro o codice eseguibile. Si può infatti scrivere una applicazione che rimuova tutto il codice VBA presente all’interno di un documento controllando che al suo interno non siano presenti delle relazioni che fanno capo allo schema http://schemas.microsoft.com/office/2006/relationships/vbaProject. Se poi ci fossero reali necessità di inviare del codice che dovrà essere eseguito si potrà utilizzare una particolare tipologia di documento (.docm per Word, .xlsm per Excel, .pptm per PowerPoint). Tutti gli altri tipi di file che non terminano con il suffisso “m” non permetteranno l’esecuzione di codice. Questo aiuta a garantire che gli utenti saranno al sicuro da codice sospetto proveniente dai propri documenti.

Sfortunatamente la presenza di codice macro non è l’unica potenziale minaccia che affligge gli utenti di documenti Office, ne è prova una delle ultime vulnerabilità rilevate nei file di tipo jpg. Anche in questo caso si può aggirare il rischio potenziale legato ai file binari come oggetti OLE ed immagini analizzando i documenti e rimuovendo gli elementi critici. Nel caso in cui si conosca che un determinato oggetto OLE è riconosciuto come minaccia si potrebbe, ad esempio, creare un’applicazione che effettui una scansione di tutti i documenti e provveda ad eliminare l’elemento o a mettere il documento in quarantena. Similmente si può procedere per identificare riferimenti esterni pericolosi o non conformi alle politiche aziendali, analizzando le relazioni all’interno dei documenti e provvedendo ad eventuale intervento.

In Office 2007 è possibile bloccare delle parti di un certo tipo di contenuto e relazione. Per esempio se un amministratore di sistema si rende conto di una nuova minaccia legata alle immagini di tipo GIF si possono settare delle Group Policy per respingere il caricamento di immagini/gif contenute nei documenti di Office 2007. Dopo la distribuzione delle opportune patch di sicurezza il settaggio può essere rimosso, e l’amministratore può essere sicuro di essere riuscito a proteggere i propri utenti nella maniera più veloce.

Si possono bloccare delle parti anche attraverso delle policy di formato. Per esempio se un amministratore scopre una vulnerabilità per la quale un commento formattato in un certo modo è in grado di creare un errore di Buffer Overrun in PowerPoint, gli utenti ed i loro computer possono essere protetti da una distribuzione di una policy di formato di Office (che si basa sullo schema schemas.microsoft.com/office/2006/relationships/comments) e che è in grado di bloccare non tanto un tipo di contenuto (che in questo caso sarebbe semplice testo e quindi ordinario XML) ma un commento specifico. Per distribuire la policy gli amministratori potrebbero fare uso dei modelli di policy di Office (file .adm). Maggiori dettagli possono essere trovati nell’articolo di Knowledge Base: Administrators Can Use Office Policy Templates with the Group Policy Settings of Windows (in inglese).

Gestione di informazioni sensibili

Oltre a proteggere gli utenti da contenuti pericolosi bisogna anche pensare a proteggere gli utenti da accidentali condivisioni o invii di dati sensibili verso l’esterno, come ad esempio dati personali memorizzati all’interno di un documento, oppure revisioni, commenti ed annotazioni che sarebbe opportuno non far uscire dal dipartimento o dall’azienda. Si possono programmaticamente rimuovere tutti questi tipi di contenuto direttamente senza dover scorrere un intero documento perché se ne può controllare l’esistenza verificando la presenza di parti relazionate di tipo Commento.

Le operazioni possibili su questi tipi di dati sensibili possono andare ben oltre alla rimozione. Grazie all’uso di formati Office XML si potrebbero individuare tutti i documenti che contengono commenti o revisioni apportate da un particolare utente, ed effettuare questa operazione senza utilizzare applicazioni Office e senza ricorrere all’uso di modelli ad oggetti di Office. Analogamente si possono fare operazioni come la raccolta di tutti i commenti effettuati da un utente su un insieme di documenti, sui quali applicare poi dei criteri di selezione ed aiutare gli utenti a gestire meglio i processi di collaborazione ed interazione sui documenti.

Arrangiamento di documenti

Come molte altre informazioni dei documenti Office XML la formattazione, gli Stili ed i caratteri sono memorizzati in una parte XML separata, ma sempre contenuta nel file del documento. Così anche in questi casi è possibile sviluppare soluzioni che traggono vantaggio da questa separazione, in particolare per la gestione di standard documentali e formati speciali. Come per i casi citati in precedenza sarà possibile intervenire modificando o sostituendo caratteri o formattazione senza aprire Office.

Si possono gestire facilmente anche situazioni in cui un singolo documento presenta un unico contenuto ma viene formattato differentemente a seconda del dipartimento, della sede o della tipologia di utente che ne fa uso. In questo caso il contenuto sarà associato a diversi stili, utilizzando lo schema http://schemas.microsoft.com/office/2006/relationships/styleSheet. Questa dinamicità semplifica il processo di controllo dell’aspetto di un documento senza arrivare a creare numerose istanze dello stesso, con tutti gli svantaggi del caso.

Profilazione di documenti

La gestione efficiente dei documenti è sempre stato uno degli obiettivi dei dipartimenti IT. Con Office 2003 era possibile accedere alle proprietà più tradizionali di un documento, come l’autore, il titolo, l’oggetto ed altre proprietà, utilizzando automazione OLE. Con i nuovi formati Office XML le proprietà sono ancora più accessibili perché risiedono in una specifica parte all’interno del documento. Quello che segue è un esempio di una parte che contiene le proprietà del documento in un file .docx di Word.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<CoreProperties xmlns="http://schemas.microsoft.com/package/2005/06/md/core-properties">
 <Title>Word Document Sample</Title>
 <Subject>Microsoft Office Word 2007</Subject>
 <Creator>2007 Microsoft Office System User</Creator>
 <Keywords/>
 <Description>2007 Microsoft Office system .docx file</Description>
 <LastModifiedBy>2007 Microsoft Office System User</LastModifiedBy>
<Revision>2</Revision>
<DateCreated>2005-05-05T20:01:00Z</DateCreated>
<DateModified>2005-05-05T20:02:00Z</DateModified>
</CoreProperties>

Inoltre all’interno di documenti Office nel nuovo formato, è possibile inserire ulteriori informazioni oltre a quelle offerte predefinite di Office ed è quindi possibile implementare dei meccanismi di profilazione avanzata dei documenti. Si può arrivare a creare XML che contenga campi personalizzati e continuare a gestire queste sezioni anche con strumenti diversi dalle applicazioni Office.

Usare i nuovi formati con i prodotti Office

Sebbene molte porzioni della struttura dei nuovi file siano comuni ai vari prodotti di Office che implementano i nuovi formati (come ad esempio il codice XML, le relazioni e le immagini), ci sono alcune componenti che rimangono specifiche per ciascun prodotto.

Struttura del formato di file in Excel 2007

Excel prevede parti specifiche per Cartelle di lavoro, Fogli di lavoro ed altre entità come grafici, viste dinamiche delle TabellePivot, ecc.

Struttura del formato di file in PowerPoint 2007

PowerPoint utilizza nel proprio formato molte delle stesse porzioni usate dagli altri prodotti, con l’aggiunta di oggetti specifici come Diapositive, Schema Diapositiva, dati di presentazione, ecc.

Struttura del formato di file in Word 2007

Analogamente a quanto succede per gli altri formati anche nel caso di documenti Word gli utenti si troveranno a vedere parti addizionali relative a proprietà del documento, stili ed elementi di formattazione, piè di pagina e testate, note, ecc.

Modificare i formati Office XML per personalizzare l’interfaccia della Barra Multifunzione

La seguente procedura illustra come creare un’interfaccia personalizzata per la Barra Multifunzione (Ribbon) in Excel 2007, per inserire i componenti necessari a richiamare una macro personale. Si lavorerà su un documento abilitato alle macro.

Creare un documento Excel con all’interno una macro e salvarlo in formato “Cartella di lavoro con attivazione macro di Excel” (.xlsm).

Creare una personalizzazione della barra multifunzione con una scheda, un gruppo ed un pulsante.

Specificare un evento di richiamata (callback event) associato al pulsante per chiamare la macro presente nel documento

Modificare il contenuto del file di Excel per puntare alla nuova personalizzazione della barra multifunzione

Salvare il file ed aprirlo con Excel.

Come creare un documento di Excel abilitato alle macro

1.

Avviare Excel 2007.

2.

Cliccare su Visual Basic, nella scheda Sviluppo.

http://www.microsoft.com/library/gallery/templates/MNP2.Common/images/note.gif   Nota:

Se la scheda Sviluppo non è visibile, è necessario identificarsi come sviluppatore. Per fare questo, all’interno dell’applicazione, cliccare sul pulsante Microsoft Office, cliccare su Opzioni di Excel, cliccare su Personalizza e poi abilitare l’opzione Mostra scheda Sviluppo sulla barra multifunzione. Questo è un settaggio globale ed indentifica l’utente come uno sviluppatore all’interno dei tutte le applicazioni Office che implementano la barra multifunzione.

3.

Nel Visual Basic Editor, fare un doppio click su ThisWorkbook per aprire la finestra del codice.

4.

Nel Visual Basic Editor, fare un doppio click su ThisWorkbook per aprire la finestra del codice.

5.

4.Digitare la seguente procedura VBA e poi chiudere il Visual Basic Editor:

Sub MyButtonMacro(ByVal ControlID As IRibbonControl)
 Msgbox("Hello world")
End Sub

6.

Salvare il documento come “Cartella di lavoro con attivazione macro di Excel” (.xlsm).

Inizio pagina Inizio pagina

Creare il file XML personalizzato che contiene i commenti per modificare l’interfaccia grafica

1.

Creare una cartella sul proprio desktop chiamata customUI.

2.

Aprire un nuovo file con un editor di testo e salvarlo con nome customUI.xml nella cartella customUI.

3.

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">Aggiungere il seguente codice al file:

<ribbon startFromScratch="true">
<tabs>
<tab id=":CustomTab" label="My Tab">
<group id="SimpleControls" label="Sample Group">
<button id="Button1" size="large" label="Large Button" onAction="ThisWorkbook.MyButtonMacro" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>

Ora si procederà a modificare alcuni dei file presenti all’interno del file contenitore creato in precedenza (.xlsm):

1.

Aggiungere l’estensione .zip al documento di Excel ed effettuare un doppio click per aprire il file

2.

Aggiungere il file personalizzato all’interno del contenitore trascinando la cartella customUI dal desktop all’interno del file ZIP.

3.

Estrarre il file .rels sul desktop. L’intera cartella _rels sarà copiata sul desktop.

4.

Aprire il file .rels file ed aggiungere la seguente riga tra l’ultimo tag Relationship ed il tag Relationships. Questa operazione crea una nuova relazione tra la cartella di lavoro ed il file personalizzato:
<Relationship Id="someID" Type="http://schemas.microsoft.com/office/2006/relationships/ui /extensibility" Target="customUI/customUI.xml" />

5.

Salvare e chiudere il file.

6.

Riportare la cartella _rels di nuovo nel file ZIP, trascinandola a partire dal desktop e sovrascrivendo il fle esistente.

7.

Rinominare il documento di Excel con il suo nome originale, rimuovendo l’estensione .zip

8.

Aprire il documento in Excel e verificare che l’interfaccia multifunzione ora mostri la scheda My Tab.

9.

Cliccare sul pulsante per far apparire la finestra di messaggio.

Conclusioni

Utenti, aziende e sviluppatori possono beneficiare dei vantaggi dei formati Office XML nella versione 2007 di Microsoft Office System. I nuovi formati, aperti, basati su XML ed impostati come predefiniti, aprono un mondo di possibilità per nuove soluzioni e scenari che si posso creare. Si può accedere a documenti come se fossero vere e proprie fonti di dati, manipolarli senza utilizzare applicazioni Office, ed utilizzarli in soluzioni e sistemi aziendali. Le aziende che combinano gli investimenti esistenti in sistemi di business con la piattaforma Microsoft Office System, versione 2007, sfruttando i nuovi formati di file basati su XML possono trarne solo benefici.

Risorse aggiuntive

Per ulteriori informazioni vedere le seguenti risorse (in inglese):

Microsoft Office Open XML Formats Frequently Asked Questions

Office 2003 XML Reference Schemas License Overview

Microsoft Office Developer Center

http://www.microsoft.com/library/gallery/templates/MNP2.Common/images/note.gif  Nota:

L’articolo originale è disponibile in inglese all’interno della Library MSDN . La versione in italiano è stata localizzata da Roberto Restelli , Microsoft Office MVP. Le informazioni contenute nell'articolo e l’accuratezza della localizzazione non sono stati verificati da Micr

Inizio pagina Inizio pagina

© 2009 Microsoft Corporation. Tutti i diritti riservati. Condizioni per l'utilizzo | Marchi | Informativa sulla privacy
Page view tracker