[Xulfr] Une condition simple dans un template : sélection de l'élément par défaut en fonction de la présence ou non d'une entrée dans un RDF

reluc rldhont at no-log.org
Lun 12 Mar 18:31:44 CET 2007


KLEIN Stéphane a écrit :
> Le 12/03/07, reluc<rldhont at no-log.org> a écrit :
>   
>> KLEIN Stéphane a écrit :
>>     
>>> Le 12/03/07, reluc<rldhont at no-log.org> a écrit :
>>>
>>>       
>>>> KLEIN Stéphane a écrit :
>>>>
>>>>         
>>>>> Le 12/03/07, reluc<rldhont at no-log.org> a écrit :
>>>>>
>>>>>
>>>>>           
>>>>>> KLEIN Stéphane a écrit :
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> J'ai un RDF du type :
>>>>>>>
>>>>>>> <RDF:RDF>
>>>>>>>     <RDF:Seq RDF:about="http://exemple.com/all-zone">
>>>>>>>       <RDF:li>
>>>>>>>             <RDF:Description RDF:about="RDF:about="http://exemple.com/zone/49"">
>>>>>>>                 <ZONE:zone_id>49</ZONE:zone_id>
>>>>>>>                 <ZONE:intitule>0</ZONE:intitule>
>>>>>>>             </RDF:Description>
>>>>>>>         </RDF:li>
>>>>>>>       <RDF:li>
>>>>>>>         <RDF:Description RDF:about="RDF:about="http://exemple.com/zone/50"">
>>>>>>>             <ZONE:zone_id>50</ZONE:zone_id>
>>>>>>>             <ZONE:intitule>1</ZONE:intitule>
>>>>>>>         </RDF:Description>
>>>>>>>     </RDF:li>
>>>>>>>       <RDF:li>
>>>>>>>         <RDF:Description RDF:about="RDF:about="http://exemple.com/zone/51"">
>>>>>>>             <ZONE:zone_id>51</ZONE:zone_id>
>>>>>>>             <ZONE:intitule>2</ZONE:intitule>
>>>>>>>             <ZONE:selected/>
>>>>>>>         </RDF:Description>
>>>>>>>     </RDF:li>
>>>>>>>       <RDF:li>
>>>>>>>         <RDF:Description RDF:about="RDF:about="http://exemple.com/zone/52"">
>>>>>>>             <ZONE:zone_id>52</ZONE:zone_id>
>>>>>>>             <ZONE:intitule>3</ZONE:intitule>
>>>>>>>         </RDF:Description>
>>>>>>>     </RDF:li>
>>>>>>> </RDF:RDF>
>>>>>>>
>>>>>>> À partir de ces données, j'aimerais remplir une balise <menulist>.
>>>>>>> J'aimerais que l'élément qui a une entrée "<ZONE:selected/>" soit
>>>>>>> sélectionné.
>>>>>>>
>>>>>>> Je sais comment réaliser un template de base mais je n'arrive pas à
>>>>>>> réaliser la condition qui permet d'activer la sélection.
>>>>>>>
>>>>>>> Voici mon template de base :
>>>>>>>
>>>>>>> <menulist datasources="mon_fichier_rdf.php" ref="http://exemple.com/all-zone">
>>>>>>>     <template>
>>>>>>>         <rule>
>>>>>>>             <menupopup>
>>>>>>>                 <menuitem
>>>>>>>                     uri="rdf:*"
>>>>>>>                     label="rdf:http://exemple.com/rdf#intitule"
>>>>>>>                     value="rdf:http://exemple.com/rdf#zone_id"
>>>>>>>                 />
>>>>>>>             </menupopup>
>>>>>>>         </rule>
>>>>>>> </menulist>
>>>>>>>
>>>>>>> dois-je utiliser une syntax du type <condition> <member> <triple> ? ou
>>>>>>> alors un simple <rule ....> (comme ici
>>>>>>> :http://xulfr.org/xulplanet/xultu/templates.html pour le separator )
>>>>>>> peut suffir ?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>> Tout d'abord, ton rdf est-il valide ? J'ai peur que non.
>>>>>> Et je pense que le mieux sera d'utiliser une règle complexe, plus approprié.
>>>>>>
>>>>>>
>>>>>>             
>>>>> Mon RDF est valide, il fonctionne mais je ne vous ai pas envoyé tout
>>>>> l'entête. C'était simplement pour vous donner un exemple.
>>>>>
>>>>>
>>>>>           
>>>> Ce qui me gène dans ton RDF c'est que l'arc ou triplet dont le predicat
>>>> est http://exemple.com/rdf#selected n'est pas complet.
>>>> Il y a bien l'objet, le predicat mais il manque le sujet! Voici en quoi
>>>> pour moi ton RDF n'est pas valide.
>>>> L'as tu validé avec le W3C RDF validation service
>>>> http://www.w3.org/RDF/Validator/ ?
>>>>
>>>>         
>>>  Bon... je viens de le faire à l'instant et j'ai comme message un beau
>>> "Your RDF document validated successfully."
>>>
>>> Je ne comprends pas ta partie à propos du sujet (à noter que je ne
>>> maitrise que partiellement la techno RDF).
>>>
>>>       
>> http://xulfr.org/xulplanet/mozsdk/rdfstart.html
>>
>> En RDF une information est sous forme de triplet :
>> object -> predicate -> subject
>>
>> l'object est obligatoirement une resource
>> le predicate est obligatoirment une resource
>> le subject est soit un literal soit une resource
>>
>> voilà pourquoi je te disais que pour moi il y a avait une erreur.
>> Que te dit le validator pour l'arc correspondant au predicat selected ?
>>     
>
> Il me dit :
>
> Subject	: RDF:about="http://logeka.com/zone/52"
> Predicate : http://logeka.com/rdf#selected
> Object: ""
>   
Dans ma description, je me suis trompé, un triplet c'est subject -> 
predicate -> object
et donc dans ton cas on pourrait traduire cela par zone 52 -> selected 
-> null

Mais c'est à toi de voir si ça te vas, moi je mettrais true ou false 
sachant que tu n'est pas obligé de mettre ce predicat pour toutes tes zones.
> _______________________________________________
> Xulfr mailing list
> Xulfr at lists.xulfr.org
> http://lists.xulfr.org/mailman/listinfo/xulfr
>   




Plus d'informations sur la liste de diffusion Xulfr