[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