Forums : Template et RDF

Aller à la discussion :  Plus récente Plus ancienne

# Formatter une valeur d'un RDF avant affichage

Envoyé par : cokinou

Date : 16/01/2007 16:21

Bonjour

J'ai une liste remplit à partir d'un fichier RDF. Mon problème est le suivant, dans mon fichier RDF je stocke la date dans un certains format mais à l'affichage, je souhaiterais l'afficher sous un autre format.

Avez-vous une idée de comment faire cela ?

Voici un exemple de ce que j'ai actuellement

Extrait de mon fichier RDF :

 <RDF:Description RDF:about="http://tests/1"
    TEST:label="Premier test">
    <TEST:date NC:parseType="Date">Tue Jan 16 01:00:00 Paris, Madrid 2007 +000000</TEST:date>
 </RDF:Description>
 <RDF:Description RDF:about="http://tests/2"
    TEST:label="Deuxième test">
    <TEST:date NC:parseType="Date">Thu Jan 01 01:00:00 Paris, Madrid 1970 +000000</TEST:date>
 </RDF:Description>
 <RDF:Seq RDF:about="http://tests">
    <RDF:li RDF:resource="http://tests/1"/>
    <RDF:li RDF:resource="http://tests/2"/>
 </RDF:Seq>

Extrait de mon fichier XUL:

 <listbox datasources="test.rdf"
          ref="http://tests">
    <template>
       <listitem uri="rdf:*">
          <listcell label="rdf:http://tests/rdf#label"/>
          <listcell label="rdf:http://tests/rdf#date"/>
       </listitem>
    </template>
 </listbox>

A l'affichage cela donne :

 Premier test          |       16/01/2007 01:00:00
 Deuxième test         |       01/01/1970 01:00:00

Merci d'avance pour vos réponses

# Re: Formatter une valeur d'un RDF avant affichage

Envoyé par : hhf

Date : 17/01/2007 03:07

je sais pas quel techno tu utilise coté server néamoins, le plus simple pour toi c'est de generer deux verion de la donnée.

 <RDF:Description RDF:about="http://tests/1" TEST:label="Premier test">
   <TEST:dateaff >16-01-2007</TEST:dateaff>
 </RDF:Description>
 <RDF:Description RDF:about="http://tests/2" TEST:label="Deuxième test">
   <TEST:date NC:parseType="Date">Thu Jan 01 01:00:00 Paris, Madrid 1970 +000000</TEST:date>
   <TEST:dateaff >01-01-1970</TEST:dateaff>
</RDF:Description>
<RDF:Seq RDF:about="http://tests">
   <RDF:li RDF:resource="http://tests/1"/>
   <RDF:li RDF:resource="http://tests/2"/>
</RDF:Seq>

et d'en suite mettre les deux données sur l'item, et fct de ce que tu veux, tu recup ce qui t'interesse.

 <listbox datasources="test.rdf"
         ref="http://tests">
   <template>
      <listitem uri="rdf:*">
         <listcell label="rdf:http://tests/rdf#label"/>
         <listcell date="rdf:http://tests/rdf#date" label="rdf:http://tests/rdf#dateaff"/>
      </listitem>
   </template>
</listbox>

Voila j'espere que ca repond a ta question...

# Re: Formatter une valeur d'un RDF avant affichage

Envoyé par : cokinou

Date : 17/01/2007 10:51

hhf a écrit:

je sais pas quel techno tu utilise coté server

Je n'ai aucun côté serveur, je veux faire un truc complètement indépendant en XUL.... Donc juste du XUL, du js et des RDF :-)

néamoins, le plus simple pour toi c'est de generer
deux verion de la donnée.
et d'en suite mettre les deux données sur l'item,
et fct de ce que tu veux, tu recup ce qui
t'interesse.

L'idée est bonne et fonctionne, je vais l'utiliser en attendant de trouver mieux car il doit quand même y avoir un moyen de transformer une valeur avant l'affichage, sinon je vois pas trop l'utilité de "NC:parseType="Date" .... Je vais continuer à chercher mais en tout cas ton idée me permet de ne plus être bloqué :-)

Voila j'espere que ca repond a ta question...

Grand merci ;-)

# Re: Formatter une valeur d'un RDF avant affichage

Envoyé par : hhf

Date : 17/01/2007 18:55

cokinou a écrit:

L'idée est bonne et fonctionne, je vais l'utiliser
en attendant de trouver mieux car il doit quand
même y avoir un moyen de transformer une valeur
avant l'affichage, sinon je vois pas trop
l'utilité de "NC:parseType="Date"

l'utilité de NC:ParseType="Date", est de pouvoir trier les données via un <tree> avec le flags="dont-build-content", dans l'ordre chronologique et non alphabetique.

ca ne sert qu'a ca, aucune incidence sur l'affichage.

# Re: Formatter une valeur d'un RDF avant affichage

Envoyé par : cokinou

Date : 18/01/2007 12:49

hhf a écrit:

l'utilité de NC:ParseType="Date", et de pouvoir
trier les données via un <tree> avec le
flags="dont-build-content", dans l'ordre
chronologique et non alphabetique.

ca ne sert qu'a ca, aucune incidence sur
l'affichage.

Justement, je trouve ca un peu dommage.... ce serai super de rajouter dans la gestion de date un moyen de la preformatter comme on veut :-)

Je viens de finir de mettre en place le système avec le contenu au format NC:ParseType="Date" (pour le tri) et le contenu en chaine de caractère (pour l'affichage). Ca marche nickel....

...Mais j'ai un petit souci lorsque la date est vide.... Le tri met mon élément n'importe où (alors que moi je les aimerai à la fin ;-) ) Tu aurais pas une idée ?

En tout ca, merci pour l'idée des deux données stocké car ca fonctionne pile poil :-)

# Re: Formatter une valeur d'un RDF avant affichage

Envoyé par : hhf

Date : 18/01/2007 18:30

cokinou a écrit:

...Mais j'ai un petit souci lorsque la date est
vide.... Le tri met mon élément n'importe où
(alors que moi je les aimerai à la fin ;-) )
Tu aurais pas une idée ?

Ben, c'est tout simple, tu met une date ou tres grande ou tres petite en fonction de ce que tu veux dans la ressource qui est associé à NC:ParseType="Date", et tu laisse vide la ressource de l'affichage

  <RDF:Description RDF:about="http://tests/2"
     <TEST:label><![CDATA[test date vide]]></TEST:label>
     <TEST:date NC:parseType="Date">Thu Jan 01 01:00:00 Paris, Madrid 1900 +000000</TEST:date>
  </RDF:Description>

ou

  <RDF:Description RDF:about="http://tests/2"
     <TEST:label><![CDATA[test date vide]]></TEST:label>
     <TEST:date NC:parseType="Date">Thu Jan 01 01:00:00 Paris, Madrid 3000 +000000</TEST:date>
  </RDF:Description>

Voila.

Mais par contre je te confirme, la mise en forme de la donnée ne dois pas etre faite par RDF, RDF met à disposition les données, ne les altere pas, c'est la partie metier, (JAVA ou PHP) à qui cette tache imcombe.

# Re: Formatter une valeur d'un RDF avant affichage

Envoyé par : cokinou

Date : 19/01/2007 09:54

hhf a écrit:

Ben, c'est tout simple, tu met une date ou tres
grande ou tres petite en fonction de ce que tu
veux dans la ressource qui est associé à
NC:ParseType="Date", et tu laisse vide la
ressource de l'affichage

C'est ce que j'ai fait, comme quoi les grands esprits se rencontrent ;-)

hhf a écrit:

Mais par contre je te confirme, la mise en forme
de la donnée ne dois pas etre faite par RDF, RDF
met à disposition les données, ne les altere pas,
c'est la partie metier, (JAVA ou PHP) à qui cette
tache imcombe.

Je m'en doutais, mais comment faire un couche métier lorsque l'on utilise une appli standalone.... comme une extension par exemple... On a ni de PHP (dommage :-( ) ni de Java à dispo.... Il va falloir que je fasse une couche métier en Javascript... Mais je sens que ca va pas être aussi simple que de mettre juste le "datasource" dans le XUL.... Bouh :~(

# Re: Formatter une valeur d'un RDF avant affichage

Envoyé par : hhf

Date : 19/01/2007 18:53

Ben si tu es en chrome, tu accedes au XPCOM, et il me semble qu'il y a des APIs, 1 pour acceder à des base SGBD style mySQL. 2, la creation de toute piece de RDF, et 3, des API pour ecrire des fichiers... donc... Enfin, moi, je suis plutot specialiste client leger. Mais bon

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.