2009-11-30 6 views
2

Je dois pouvoir identifier qu'un fichier donné est un fichier OOXML basé sur le contenu du fichier, et non sur l'extension du fichier.Comment identifier et valider un fichier OOXML?

Les fichiers OOXML sont vraiment une collection de fichiers XML et texte dans un conteneur zip, ce qui signifie que je ne peux pas utiliser le nombre magique du fichier car il indiquera simplement qu'il s'agit d'un fichier zip.

Ce que je demande vraiment est sont là tous les fichiers qui sont nécessaires être présent dans un récipient ouvert Convention OOXML Emballage (OPC)? Dans ce cas la présence de ce fichier dans un conteneur OPC indique qu'il est susceptible d'être un fichier OOXML, et l'absence de ce fichier indique qu'il est certainement pas un fichier OOXML.

Cette question est la version OOXML de this ODF question.

Répondre

4

Oui, il y a un moyen. Rendez-vous au OpenXMLDeveloper.org et téléchargez le PPTX «02: Open XML Packages» (Présentation 02). Ensuite, sur la diapositive 12, il vous indique comment identifier un document Open XML. C'est document.xml, les fichiers rels et le fichier [Content_Types] .xml (plus important encore l'élément ContentType). L'important ici est d'utiliser ce qu'il y a dans le fichier, pas la structure de fichier elle-même (Open Packaging Convention). Une autre grande ressource est Open XML Markup Explained. Chapitre 1, puis "Configuration du document principal" est un excellent endroit pour s'informer sur la structure d'un document Word. Les structures d'Excel et de PowerPoint sont listées plus tard.

1

Une réponse similaire à celle que j'ai donné à votre question ODF - regarder la technical specification of the format.

+0

Oui, il semble que je peux simplement utiliser le fichier [Content_Types] .xml, mais j'espérais une indication définitive des fichiers ** toujours ** dans un fichier OOXML valide. – jwaddell

+1

Il n'y a rien de tel que "une indication difinitive des fichiers qui seront TOUJOURS dans un fichier OOXML valide" le [content_types] .xml est le seul moyen d'y aller. –

Questions connexes