Πάρτε ένα συνηθισμένο, μη κρυπτογραφημένο αρχείο .docx στον υπολογιστή σας, αντιγράψτε το και μετονομάστε την επέκταση του αντιγράφου από .docx σε .zip. Αν τα Windows δεν εμφανίζουν την επέκταση στο τέλος του ονόματος αρχείου, θα πρέπει πρώτα να ενεργοποιήσετε τις επεκτάσεις ονόματος αρχείου από την Εξερεύνηση αρχείων.
Τώρα κάντε διπλό κλικ στο μετονομασμένο αρχείο. Το εργαλείο αρχειοθέτησης της επιλογής σας θα το ανοίξει χωρίς πρόβλημα. Τα ίδια τα Windows μπορούν να ανοίξουν και να εξαγάγουν αρχεία ZIP χωρίς πρόσθετο λογισμικό. Στο εσωτερικό, θα δείτε μια δομή φακέλων που περιέχει _rels, docProps, word και ένα αρχείο που ονομάζεται [Content_Types].xml στη ρίζα.
Αυτό δεν είναι τυχαίο. Έτσι είναι συσκευασμένο ένα σύγχρονο έγγραφο του Word και έτσι είναι από το Office 2007 και μετά. Η επέκταση .docx απλώς κρύβει τον μηχανισμό και περισσότεροι δεν το έχουν προσέξει ποτέ.
Ανοίξτε τώρα τον φάκελο του Word μέσα σε αυτό το μετονομασμένο αρχείο και θα βρείτε ένα αρχείο που ονομάζεται document.xml. Αυτό περιέχει το κύριο σώμα του εγγράφου σας, με το κείμενό του να είναι σε WordprocessingML, το λεξιλόγιο XML που χρησιμοποιεί το Word για να περιγράψει παραγράφους, σειρές κειμένου, μορφοποίηση και άλλη συμπεριφορά εγγράφου.
Το Word μετατρέπει αυτήν τη σήμανση στην σελίδα που βλέπετε κανονικά στην οθόνη σας.
Βέβαια δεν υπάρχουν όλα στο document.xml. Οι κεφαλίδες, τα υποσέλιδα, οι υποσημειώσεις, τα σχόλια, τα στυλ και άλλα στοιχεία του εγγράφου μπορούν να βρίσκονται σε δικά τους αρχεία αλλού στο πακέτο. Ένα DOCX δεν είναι ένα τεράστιο μπλοκ δεδομένων, αλλά μια συλλογή από μικρότερα μέρη που συναρμολογεί το Word όταν το ανοίγετε.
Οι ενσωματωμένες εικόνες εμφανίζονται συνήθως στο word/media σαν ξεχωριστά αρχεία εικόνας, συχνά JPEG ή PNG.
Όλο αυτό το σύστημα έχει ένα όνομα: Office “Open” XML ή OOXML, και το X στο .docx. Πριν από το Office 2007, το Word αποθήκευε κυρίως τα έγγραφα σαν αρχεία .doc χρησιμοποιώντας το binary format της Microsoft. Αυτά τα αρχεία δεν ήταν απλώς μπλοκ κειμένου και μορφοποίησης. Χρησιμοποίησαν τη μορφή OLE Compound File Binary Format, η οποία συμπεριφέρεται σαν ένα μικροσκοπικό σύστημα αρχείων συσκευασμένο μέσα σε ένα μόνο αρχείο, με εσωτερικά streams και χώρο αποθήκευσης.
Το OOXML αντικατέστησε αυτό το μοντέλο με ένα πακέτο που βασίζεται στο ZIP και αποτελείται από ξεχωριστά διευθυνσιοδοτούμενα μέρη. Η Microsoft σχεδίασε τη μορφή, ώστε το λογισμικό να μπορεί να χειρίζεται τμήματα ενός εγγράφου χωρίς να εκκινεί το Word. Για παράδειγμα μια εταιρεία αντικατέστησε ένα λογότυπο σε χιλιάδες αποθηκευμένα έγγραφα, αλλάζοντας την εικόνα μέσα σε κάθε πακέτο αντί να ανοίγει κάθε αρχείο χειροκίνητα.
Η μορφή τυποποιήθηκε σαν ECMA-376 το 2006 και αργότερα ως ISO/IEC 29500 το 2008. Το πρακτικό αποτέλεσμα είναι ότι οι προγραμματιστές μπορούν να ελέγξουν τη βασική δομή ενός DOCX με συνηθισμένα εργαλεία ZIP και XML που είναι διαθέσιμα σε πολλά περιβάλλοντα προγραμματισμού.
Αν και τα δελτία τύπου θα είναι από πολύ επιλεγμένα έως και σπάνια, είπα να περάσω … γιατί καμιά φορά κρύβονται οι συντάκτες.


