FAQ PHP

FAQ PHPConsultez toutes les FAQ
Nombre d'auteurs : 68, nombre de questions : 580, dernière mise à jour : 18 septembre 2021
Sommaire→Bibliothèques, extensions→XML→OpenXML (Microsoft Office)→Les Parts→Les relations (rels)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.
- 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"


