Accueil
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence
logo
Sommaire > XML > OpenXML (Microsoft Office) > Les Parts > Les types de contenu (ContentTypes)
        Comment créer une Part de types pour un document OpenXML ?
        Comment ajouter un type par défaut ?
        Comment surcharger un type (override) ?
        Quels sont les types de contenu pour une Part de document OpenXML ?



Comment créer une Part de types pour un document OpenXML ?
auteur : Guillaume Rossolini
Voici comment créer un fichier Part pour un document Word (deux types par défaut + 1 type surchargé) :
<?php

$dom = new DOMDocument();

$XMLTypes = $dom->createElement('Types');
$XMLTypes->setAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/content-types');
$dom->appendChild($XMLTypes);

$XMLType = $dom->createElement('Default');
$XMLType->setAttribute('Extension', 'rels');
$XMLType->setAttribute('ContentType', 'application/vnd.openxmlformats-package.relationships+xml');
$XMLTypes->appendChild($XMLType);

$XMLType = $dom->createElement('Default');
$XMLType->setAttribute('Extension', 'xml');
$XMLType->setAttribute('ContentType', 'application/xml');
$XMLTypes->appendChild($XMLType);

$XMLType = $dom->createElement('Override');
$XMLType->setAttribute('PartName', '/word/document.xml');
$XMLType->setAttribute('ContentType', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml');
$XMLTypes->appendChild($XMLType);

$dom->save('[Content_Types].xml');

?>
lien : faq Comment ajouter une Part à un document OpenXML ?

Comment ajouter un type par défaut ?
auteur : Guillaume Rossolini
La Part des types de contenu définit les types MIME de toutes les Parts de l'archive. Elle contient au moins quelques types par défaut, ainsi éventuellement que des types surchargés.

Un type par défaut est composé au minimum de :
  • "Extension" est l'extension du fichier, par exemple "xml", "png" ou "rels" ;
  • "ContentType" est le type MIME du fichier, par exemple "application/xml", 'image/png" ou "application/vnd.openxmlformats-package.relationships+xml".
$XMLType = $dom->createElement('Default');
$XMLType->setAttribute('Extension', 'xml');
$XMLType->setAttribute('ContentType', 'application/xml');
$XMLTypes->appendChild($XMLType);

Comment surcharger un type (override) ?
auteur : Guillaume Rossolini
Tous les fichiers d'une archive OpenXML n'ont pas toujours un type qui correspond à leur extension. Par exemple, la Part principale a généralement un type différent de "application/xml" malgré son extension "xml".

OpenXML prévoir la surcharge au cas par cas avec les Overrides. Il s'agit d'un élément Override dans le fichier [Content_Types].xml et contenant deux attributs PartName et ContentType.

Une surcharge 'Override' se définit par :
  • PartName : La Part concernée par la surcharge de type, par exemple "/word/document.xml" ;
  • ContentType : Le nouveau type de la Part définie ci-dessus, par exemple "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml".
$XMLType = $dom->createElement('Override');
$XMLType->setAttribute('PartName', '/word/document.xml');
$XMLType->setAttribute('ContentType', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml');
$XMLTypes->appendChild($XMLType);

Quels sont les types de contenu pour une Part de document OpenXML ?
auteur : Guillaume Rossolini
Voici une liste non exhaustive des types de contenu possibles selon l'extension du document :
  • docm : application/vnd.ms-word.document.macroEnabled.12
  • docx : application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • dotm : application/vnd.ms-word.template.macroEnabled.12
  • dotx : application/vnd.openxmlformats-officedocument.wordprocessingml.template
  • ppsm : application/vnd.ms-powerpoint.slideshow.macroEnabled.12
  • ppsx : application/vnd.openxmlformats-officedocument.presentationml.slideshow
  • pptm : application/vnd.ms-powerpoint.presentation.macroEnabled.12
  • pptx : application/vnd.openxmlformats-officedocument.presentationml.presentation
  • xlsb : application/vnd.ms-excel.sheet.binary.macroEnabled.12
  • xlsm : application/vnd.ms-excel.sheet.macroEnabled.12
  • xlsx : application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • xps : application/vnd.ms-xpsdocument

Pour les images et autres documents dont le type MIME a été défini avant l'arrivée d'OpenXML, utilisez leur type MIME habituel.

lien : fr Liste des types MIME par Cédric Chatelain


Consultez les autres F.A.Q.


Les sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2003  Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com