Forums : Template et RDF

Aller à la discussion :  Plus récente Plus ancienne

# Génération d'un tree avec RDF

Envoyé par : walloud

Date : 10/05/2006 12:15

Bonjour, j'ai jeté un petit coup d'oeil au tuto pour créer un arbre avec des branches etc ... Je suis actuellement en train d'essayer de refaire la même chose mais j'ai un problème dont je ne comprend pas la source : je vous montre mon rdf :

<?xml version="1.0" encoding="utf-8"?>
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:INTRA="urn:intranet/rdf#">
    <RDF:Description RDF:about="urn:intranet/organisations/1">
        <INTRA:nom_org>Maison de l'emploi</INTRA:nom_org>
    </RDF:Description>
    <RDF:Description RDF:about="urn:intranet/organisations/2">
        <INTRA:nom_org>Sitel</INTRA:nom_org>
    </RDF:Description>
    <RDF:Seq RDF:about="urn:intranet/organisations">
        <RDF:li>
             <RDF:Seq RDF:about="urn:intranet/organisations/1">
                <RDF:li RDF:resource="urn:intranet/organisations/1/contacts/37"/>
            </RDF:Seq>
        </RDF:li>
        <RDF:li>
            <RDF:Seq RDF:about="urn:intranet/organisations/2">
                <RDF:li RDF:resource="urn:intranet/organisations/2/contacts/1"/>
                <RDF:li RDF:resource="urn:intranet/organisations/2/contacts/2"/>
                <RDF:li RDF:resource="urn:intranet/organisations/2/contacts/35"/>
            </RDF:Seq>
        </RDF:li>
    </RDF:Seq>
    <RDF:Description RDF:about="urn:intranet/organisations/1/contacts/37">
        <INTRA:id>37</INTRA:id>
        <INTRA:nom>Hardy</INTRA:nom>
        <INTRA:prenom>Xavier</INTRA:prenom>
    </RDF:Description>
    <RDF:Description RDF:about="urn:intranet/organisations/2/contacts/1">
        <INTRA:id>1</INTRA:id>
        <INTRA:nom>Natat</INTRA:nom>
        <INTRA:prenom>Walid</INTRA:prenom>
    </RDF:Description>
    <RDF:Description RDF:about="urn:intranet/organisations/2/contacts/2">
        <INTRA:id>2</INTRA:id>
        <INTRA:nom>Ahoyo</INTRA:nom>
        <INTRA:prenom>Jean-Pierre</INTRA:prenom>
    </RDF:Description>
    <RDF:Description RDF:about="urn:intranet/organisations/2/contacts/35">
        <INTRA:id>35</INTRA:id>
        <INTRA:nom>Guilbert</INTRA:nom>
        <INTRA:prenom>Marc</INTRA:prenom>
    </RDF:Description>
</RDF:RDF>

Et voici mon code :

<tree id="arbre-mescontacts" datasources="http://localhost/content/rdfListeContactsOrganisation1.php" ref="urn:intranet/organisations" rows="6" >
    <treecols>
        <treecol id="arbre-mescontacts-titre" label="Liste de contacts" primary="true" flex="1" />
    </treecols>
    <template>
        <rule>
            <treechildren>
                <treeitem uri="rdf:*" >
                    <treerow>
                        <treecell label="rdf:urn:intranet/rdf#nom_org" />
                    </treerow>
                </treeitem>
            </treechildren>
        <rule>
    </template>

Le hic est que ca m'affiche effectivement un arbre, avec des noeuds portant le nom des entreprises, ayant le nombre de pates correspondant à leur nombre d'employés, mais rien ne s'affiche. Plizzzz aidez moi :)

# Re: Génération d'un tree avec RDF

Envoyé par : thefab

Date : 10/05/2006 13:55

Salut,

Tu as 2 types de noeuds (Organisation et Contact) tu dois donc avoir: soit les 2 ressource avec les mêmes éléments, soit 2 règles différentes pour générer du contenu différent.

Donc:

Renommer le nom de l'organisation et la règle

<RDF:Description RDF:about="urn:intranet/organisations/2">
  <INTRA:nom>Sitel</INTRA:nom>
</RDF:Description>
<treecell label="rdf:urn:intranet/rdf#nom"/>

Avantage: une seule règle. Désavantage: pas accès aux autres valeurs que nom de contact (pas tout à fait vrai)

Ou:

Donner un type à tes ressources et faire 2 règles

<INTRA:Contact RDF:about="urn:intranet/organisations/1/contacts/37">
  <INTRA:id>37</INTRA:id>
  <INTRA:nom>Hardy</INTRA:nom>
  <INTRA:prenom>Xavier</INTRA:prenom>
</INTRA:Contact>

Régle qui génère un Contact

<rule rdf:type="urn:intranet/rdf#Contact">
  <treechildren>
    <treeitem uri="rdf:*" >
      <treerow>
        <treecell label="rdf:urn:intranet/rdf#nom rdf:urn:intranet/rdf#prenom" />
      </treerow>
    </treeitem>
  </treechildren>
</rule>

Règle qui génère le reste

<rule>
  <treechildren>
    <treeitem uri="rdf:*" >
      <treerow>
        <treecell label="rdf:urn:intranet/rdf#nom_org" />
      </treerow>
    </treeitem>
  </treechildren>
</rule>

En espérant que tu ailles compris quelque chose ;-)

Fabrice

# Re: Génération d'un tree avec RDF

Envoyé par : walloud

Date : 10/05/2006 15:36

alors moi j'ai essayé a taton, et il semble que l'exemple suivant fonctionne parfaitement o_O :

<template>
    <rule>
        <treechildren >
            <treeitem uri="rdf:*" >
                <treerow>
                    <treecell value="rdf:urn:intranet/rdf#id" label="rdf:urn:intranet/rdf#nom_org rdf:urn:intranet/rdf#nom rdf:urn:intranet/rdf#prenom" />
                </treerow>
            </treeitem>
        </treechildren>
    </rule>
</template>

C'est marrant que ca fonctionne comme ca ...

# Re: Génération d'un tree avec RDF

Envoyé par : thefab

Date : 10/05/2006 15:48

Hello,

C'est marrant que ca fonctionne comme ca ...

Oui... et non. Avant le nom des contacts n'étaient pas générés car sans correspondance (nom != nom_org), maintenant comme tu as toutes les correspondances la règle s'applique aux organisations comme aux contacts... Par contre le contenu généré doit être quelque chose comme ça: (espace)(espace)Nom pour un contact.

C'est un peu la méthode fourre-tout que tu as utilisés ;-)

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.