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 relations (rels)
        Comment créer une Part de relations pour un document OpenXML ?
        Comment ajouter une relation ?



Comment créer une Part de relations pour un document OpenXML ?
auteur : Guillaume Rossolini
Voici comment créer une Part de relations contenant une seule relation vers le document principal (ici de type Word) :
<?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.

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

Comment ajouter une relation ?
auteur : Guillaume Rossolini
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é.
$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"


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