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.
.gif)
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.
.jpg)
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.
.jpg)
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):
<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.
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
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):
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