IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ PHP

FAQ PHPConsultez toutes les FAQ

Nombre d'auteurs : 68, nombre de questions : 580, dernière mise à jour : 18 septembre 2021 

 
OuvrirSommaireBibliothèques, extensionsXMLOpenXML (Microsoft Office)Les PartsLes relations (rels)

Voici comment créer une Part de relations contenant une seule relation vers le document principal (ici de type Word) :

 
Sélectionnez
<?php

if(!file_exists('_rels'))
{
    mkdir('_rels');
}

$dom = new DOMDocument();

$XMLRels = $dom->createElement('Relationships');
$XMLRels->setAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships');
$dom->appendChild($XMLRels);

$XMLRel = $dom->createElement('Relationship');
$XMLRel->setAttribute('Id', 'rId1');
$XMLRel->setAttribute('Type', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument');
$XMLRel->setAttribute('Target', 'word/document.xml');
$XMLRels->appendChild($XMLRel);

$dom->save('_rels/.rels');

?>

Il ne peut y avoir qu'une seule relation de type "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" dans le fichier de relations, car c'est ce type de relation qui détermine le type du document au niveau global ainsi que l'emplacement de la Part principale dans l'archive.

Créé le 2 juillet 2007  par Guillaume Rossolini

Lien : Comment ajouter une Part à un document OpenXML ?

Une relation est identifiée par trois attributs :
  • Id : Un identifiant unique dans le fichier de relations, c'est lui qui sera utilisé dans les Parts de l'archive ;
  • Type : La description du contenu lié ;
  • Target : La cible locale (dans l'archive) ou distante si l'attribut external est précisé.
 
Sélectionnez
$XMLRel = $dom->createElement('Relationship');
$XMLRel->setAttribute('Id', 'rId1');
$XMLRel->setAttribute('Type', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument');
$XMLRel->setAttribute('Target', 'word/document.xml');
$XMLRels->appendChild($XMLRel); // Ajouter au noeud parent, ici "XMLRels"
Créé le 2 juillet 2007  par Guillaume Rossolini

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