Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2996 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Mon projet XML+XSL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mon projet XML+XSL

n°1408052
xkamui
Their Destiny Was Foreordained
Posté le 17-07-2006 à 13:36:26  profilanswer
 

Bonjour à tous, je crée ce post pour pouvoir le remonter facilement avec mes questions sur le XML+XSL par rapport un projet de feed de news.
 
Merci et @ très vite ;)


Message édité par xkamui le 18-07-2006 à 12:42:24
mood
Publicité
Posté le 17-07-2006 à 13:36:26  profilanswer
 

n°1408061
skeye
Posté le 17-07-2006 à 13:38:35  profilanswer
 

euh...non.:o
On crée un thread quand on a une question.:o


---------------
Can't buy what I want because it's free -
n°1408065
xkamui
Their Destiny Was Foreordained
Posté le 17-07-2006 à 13:40:18  profilanswer
 

Me re-voici donc pour ma première question...
 
Elle concerne la fonction 'xsl:variable'
 
Je voudrais savoir deux choses :  
1. Comment définir dans la variable na valeur du noeud
2. Comment récupérer cette valeur et l'afficher (ou la comparer)
 
Voici ce que j'ai :

Code :
  1. <xsl:for-each select="infos/fils/info">
  2. <xsl:variable name="the_mois" select="mois" />
  3. <li class="li-fils-00">$the_mois</li>
  4. </xsl:for-each>

Le tout c'est que., quand je met ça, il m'affiche '$the_mois' au lieu de '07' par exemple...
 
J'ai été là pour voir comment marchait cette fonction : lien externe, mais je n'ai pas tout bien compris, d'où ma question ici ;)
 
@ bientôt pour vos réponses.
Merci

n°1408070
zapan666
Tout est relatif
Posté le 17-07-2006 à 13:44:20  profilanswer
 

Code :
  1. <xsl:value-of select='$the_mois'/>


 
http://www.greyc.ensicaen.fr/ensic [...] rs_XML.pdf


Message édité par zapan666 le 17-07-2006 à 13:46:31

---------------
my flick r - Just Tab it !
n°1408493
xkamui
Their Destiny Was Foreordained
Posté le 18-07-2006 à 12:00:57  profilanswer
 

Merci beaucoup zapan !!
 
Nouvelle question :  
Voilà... ce que je veux faire c'est grouper les infos par date, genre, je les affiches toutes mais je ne ré-affiche pas la date :  
    * 17/07
    * 11h22 Basket-ball, NBA : Adrian Griffin à Chicago
 
    * 16/07
    * 19h16 Basket-ball, Pro A : Cooper et Smith signent à Strasbourg
    * 17h37 Basket-ball, NBA : Un an de plus pour Mourning
    * 12h41 Basket-ball, NBA : Eddie Jordan prolongé aux Wizards
 
    * 15/07
    * 19h16 Basket-ball, NBA : Tyson Chandler quitte les Bulls
    etc...
 
Donc, ce que j'essaye de mettre en place, c'est une comparaison entre la date du noeud en cours et la date du noeud précédent.
Si toutefois la date du noeud en cours est égale, on ne fait rien, si elle est différente, on ré-affecte la date de référence avec la nouvelle date et on affiche la date...
Mais c'est là que ça bloque... comment pouvoir récupérer la valeur du node 'time' du node n-1 ??
 
J'ai donc ceci :

Code :
  1. <xsl:variable name="the_date" select="time" />
  2. <xsl:variable name="old_date" select="position()-1" />


Mais bien sur, il me retourne un chiffre... j'aimerais que celà soit aussi simple que le PHP et que le chiffre obtenu me permette de récupérer la valeur précédente, tel une clé de array...
 
Es-ce que vous yu voyez une idée pour récupérer ce dont j'ai besoin ??
Merci et @+

n°1408516
Arjuna
Aircraft Ident.: F-MBSD
Posté le 18-07-2006 à 12:39:31  profilanswer
 

Change le titre en "Mon projet XSL", puisque c'est pas du XML là, mais du XSL :o ;)
 
Sinon, pour récupérer la valeur du noeud précédent, c'est un peu carrément la galère.
 


    <xsl:if test="$stk + TOTAL/business_data &gt;= /layout_data/application_data/temporaire/param[@name='chp:qtecde']/@value and ($stk + ../DynamicRow[current()/@index - 1]/TOTAL/business_data &lt; /layout_data/application_data/temporaire/param[@name='chp:qtecde']/@value or @index = 1)">
     <xsl:attribute name="style">
      background-color:red;
     </xsl:attribute>
    </xsl:if>


 
Essaie de te dépatouiller avec ça, j'ai pas le courage de re-comprendre l'usine à gaz que j'ai pondu l'autre jour :sweat:

n°1408518
Arjuna
Aircraft Ident.: F-MBSD
Posté le 18-07-2006 à 12:40:11  profilanswer
 

PS: @index est dans mon noeud XML.
Tu va être obligé de faire de même, car position() déconne, tu ne peux pas faire ça avec

n°1408531
xkamui
Their Destiny Was Foreordained
Posté le 18-07-2006 à 12:54:02  profilanswer
 

Tu as l'exemple de ta structre XML pour que je puisse comprendre un petit peu plus :p  :sweat:

Message cité 1 fois
Message édité par xkamui le 18-07-2006 à 12:54:14
n°1408592
Arjuna
Aircraft Ident.: F-MBSD
Posté le 18-07-2006 à 14:15:25  profilanswer
 

xkamui a écrit :

Tu as l'exemple de ta structre XML pour que je puisse comprendre un petit peu plus :p  :sweat:


chuis pas sûr que tu vas mieux comprendre :ange:
 

<?xml version="1.0" encoding="UTF-8"?><layout_data>
   <application_data>
      <user>
         <name>DEMO</name>
         <language>FRA</language>
      </user>
      <language>FRA</language>
      <target></target>
      <presentation_support>NAV/MIC</presentation_support>
      <sys_date>20060718</sys_date>
      <sys_time>14:11:48:346</sys_time>
      <frame>default</frame>
      <entity>1</entity>
      <authentificationMode>GNX</authentificationMode>
      <requestPath>http://SRVGNXWEB.BCI.local/gce/btoe/GCE/</requestPath>
      <temporaire>
         <param name="chp:nompro" value="BIBLIO COLONNES CORINTHE"/>
         <param name="chp:sigdep" value="DPT"/>
         <param name="chp:typtie" value="CLI"/>
         <param name="render_type" value="xsl"/>
         <param name="frame" value="default"/>
         <param name="chp:qtecde" value="1"/>
         <param name="chp:codzn3" value=""/>
         <param name="chp:codsoc" value="2"/>
         <param name="chp:codpro" value="A10301"/>
      </temporaire>
   </application_data>
   <S_BCI_VTIE type="View" total_business_row="1" nbline="1" numpage="1" nbpage="1" retrieve_key="DEF" sort_key="DEF">
      <Dynamic type="ViewObject">
         <DynamicRow current="true" type="ViewRow" index="1" business_row_index="1">
            <NOMTIE precision="18" type="VARCHAR">
               <business_data>xxxxx</business_data>
            </NOMTIE>
            <TYPTIE precision="3" type="VARCHAR">
               <business_data>CLI</business_data>
            </TYPTIE>
            <CODLAN precision="3" type="VARCHAR">
               <business_data>FRA</business_data>
            </CODLAN>
            <CODSOC precision="0" type="NUMERIC">
               <business_data>2</business_data>
            </CODSOC>
            <FAMTIE precision="6" type="VARCHAR">
               <business_data>CLIENT</business_data>
            </FAMTIE>
            <LIBUT_SOC precision="25" type="VARCHAR">
               <business_data>BOIS &amp; CHIFFONS IN</business_data>
            </LIBUT_SOC>
            <SIGTIE precision="12" type="VARCHAR">
               <business_data>xxxxx</business_data>
            </SIGTIE>
            <S_BCI_STOCK_NOW type="View" name="STOCK_NOW" total_business_row="1" nbline="1" numpage="1" nbpage="1">
               <Dynamic type="ViewObject">
                  <DynamicRow current="true" type="ViewRow" index="1" business_row_index="1">
                     <TERME precision="0" type="NUMERIC">
                        <business_data>39</business_data>
                     </TERME>
                     <RECEP precision="0" type="NUMERIC">
                        <business_data>0</business_data>
                     </RECEP>
                     <DISPO precision="0" type="NUMERIC">
                        <business_data>-11</business_data>
                     </DISPO>
                     <DATPSK precision="1" type="CHAR">
                        <business_data> </business_data>
                     </DATPSK>
                     <RESERVE precision="0" type="NUMERIC">
                        <business_data>11</business_data>
                     </RESERVE>
                  </DynamicRow>
               </Dynamic>
            </S_BCI_STOCK_NOW>
            <S_BCI_STOCK_DATE type="View" name="STOCK_DATE" total_business_row="0" nbline="99" numpage="1" nbpage="0">
               <Dynamic type="ViewObject"/>
            </S_BCI_STOCK_DATE>
         </DynamicRow>
      </Dynamic>
   </S_BCI_VTIE>
   <debug>
      <Ctx name="ctxRef">
         <Ctx name="FrameCtx">
            <Ctx name="default">
               <Ctx name="AppRequest">
                  <Value name="view">[]</Value>
                  <Value name="nbLine">{}</Value>
                  <Value name="chp">[{typtie=CLI, sigdep=DPT, codpro=A10301, codzn3=, codsoc=2, qtecde=1, nompro=BIBLIO COLONNES CORINTHE}]</Value>
                  <Value name="renderType">xsl</Value>
                  <Value name="selection">{}</Value>
                  <Value name="transactionValidity">true</Value>
                  <Value name="cinematic">[fr.generix.technicalframework.application.ActionStateHolder@fd4bba, fr.generix.technicalframework.application.ActionStateHolder@176bf9e, fr.generix.technicalframework.application.ActionStateHolder@11e2b21]</Value>
               </Ctx>
               <Value name="frameName">default</Value>
               <Ctx name="BusinessViewCtx">
                  <Value name="currentBusinessView">fr.generix.technicalframework.application.BusinessViewProxy@ef27e3</Value>
                  <Value name="newBusinessView">true</Value>
                  <Value name="beginBusinessView">fr.generix.technicalframework.application.BusinessViewProxy@ef27e3</Value>
               </Ctx>
            </Ctx>
         </Ctx>
         <Ctx name="SessionCtx">
            <Value name="supportLanguage">FRA</Value>
            <Value name="user">DEMO</Value>
            <Value name="enableTimerLogger">false</Value>
            <Value name="presentationSupport">NAV/MIC</Value>
            <Value name="target"></Value>
            <Value name="userLanguage">FRA</Value>
            <Value name="entity">1</Value>
            <Value name="userRecognize">true</Value>
         </Ctx>
         <Value name="businessFacade">fr.generix.technicalframework.application.BusinessFacade@1e6661</Value>
      </Ctx>
      <businessview name="S_BCI_STOCK" target="" executeQuery="newBusinessView" renderType="xsl">
         <viewstruct name="S_BCI_STOCK" defaultRetrieve="DEF" defaultSort="DEF">
            <view name="" type="S_BCI_VTIE" nbLine="1" create="false" docSharedName="" executeQuery="optimize" verboseDetail="true" currentRetrievePublicKey="DEF" currentSortPublicKey="DEF">
               <viewlink>
                  <viewlink_retrieve viewKey="USER" publicKey="DEF">
                     <viewlink_param domain="public" field="codsoc" value="2"/>
                     <viewlink_param domain="public" field="typtie" value="CLI"/>
                  </viewlink_retrieve>
               </viewlink>
               <public_field/>
               <retrieve_clause viewKey="DEF" clause=""/>
               <sort_clause viewKey="DEF" clause=""/>
               <document type="Dynamic" state="3" currentRow="0">
                  <viewobject name="Dynamic" defFullName="DYNAMIC" rowSetBufferSize="1" viewObjectBufferSize="5"/>
               </document>
               <view name="STOCK_NOW" type="S_BCI_STOCK_NOW" nbLine="1" create="false" docSharedName="" executeQuery="newBusinessView" verboseDetail="true" currentRetrievePublicKey="DEF" currentSortPublicKey="DEF">
                  <viewlink>
                     <viewlink_retrieve viewKey="PRODEP" publicKey="DEF">
                        <viewlink_param domain="business" field="CODSOC" value="2"/>
                        <viewlink_param domain="public" field="sigdep" value="DPT"/>
                        <viewlink_param domain="public" field="codpro" value="A10301"/>
                     </viewlink_retrieve>
                     <sort_clause viewKey="DEF" publicKey="DEF"/>
                  </viewlink>
                  <public_field/>
                  <retrieve_clause viewKey="DEF" clause=""/>
                  <sort_clause viewKey="DEF" clause="datpsk"/>
                  <document type="Dynamic" state="3" currentRow="0">
                     <viewobject name="Dynamic" defFullName="DYNAMIC" rowSetBufferSize="1" viewObjectBufferSize="5"/>
                  </document>
               </view>
               <view name="STOCK_DATE" type="S_BCI_STOCK_DATE" nbLine="99" create="false" docSharedName="" executeQuery="always" verboseDetail="true" currentRetrievePublicKey="DEF" currentSortPublicKey="DEF">
                  <viewlink>
                     <viewlink_retrieve viewKey="PRODEP" publicKey="DEF">
                        <viewlink_param domain="business" field="CODSOC" value="2"/>
                        <viewlink_param domain="public" field="sigdep" value="DPT"/>
                        <viewlink_param domain="public" field="codpro" value="A10301"/>
                     </viewlink_retrieve>
                     <sort_clause viewKey="DEF" publicKey="DEF"/>
                  </viewlink>
                  <public_field/>
                  <retrieve_clause viewKey="DEF" clause=""/>
                  <sort_clause viewKey="DEF" clause="datpsk"/>
                  <document type="Dynamic" state="3" currentRow="0">
                     <viewobject name="Dynamic" defFullName="DYNAMIC" rowSetBufferSize="1" viewObjectBufferSize="5"/>
                  </document>
               </view>
            </view>
         </viewstruct>
      </businessview>
   </debug>
</layout_data>


 
 [:anathema]

n°1408626
xkamui
Their Destiny Was Foreordained
Posté le 18-07-2006 à 14:43:43  profilanswer
 

Effectivement....... :p

mood
Publicité
Posté le 18-07-2006 à 14:43:43  profilanswer
 

n°1409007
xkamui
Their Destiny Was Foreordained
Posté le 18-07-2006 à 23:54:26  profilanswer
 

arghhhhhhh :fou:
 
je n'y comprend rien !!!
es-ce que quelqu'un aurait une solution un peu plus simple au problème précédemment posé ??

n°1409028
Arjuna
Aircraft Ident.: F-MBSD
Posté le 19-07-2006 à 00:08:37  profilanswer
 

ben tu mets un attribut "index" avec une valeur auto-incrément à chacune de tes nodes.
 
ensuite, pour accéder à la ligne précédente :
 
xml :


<page>
  <n1 index="1">
    <n2>ligne 1</n2>
  </n1>
  <n1 index="2">
    <n2>ligne 2</n2>
  </n1>
  <n1 index="3">
    <n2>ligne 3</n2>
  </n1>
</page>


 
XSL :


<xsl:template match="/page/n1">
  <xsl:value-of select="../n1[current()/@index - 1]/n2"/><br/>
</xsl:template>

n°1409363
xkamui
Their Destiny Was Foreordained
Posté le 19-07-2006 à 13:09:49  profilanswer
 

ok, mais là où ça se complique c'est que mon index précédent n'est pas forcément mon bon index...
 
Je m'explique :  
si je fait une liste d'index auto-incrémenté, mais que chaque noeud contient un iddentifiant de tri (ici 'ref'), lorsque je vais trier mes infos, si je récupère la date de "index-1", cet index ne va pas forcemment correspondre au ref de tri...
 
Donc, en définitve, ce que je veux savoir c'est si je peux :  
1. Lire le noeud en cours (tri activé)
2. Lors de cette lecture, je vérifie si une date de référence est définie (genre variable globale)
3. Conditions de vérifications :  
   3-1. Si elle n'est pas définie, je la définie avec la date en cours et j'affiche la date
   3-2. Si elle est définie, je la compare avec la date en cours
      3-2-1 : Si la date en cours = la date de référence : Je passe mon chemin
      3-2-2 : Si la date en cours != de la date de référence : je re-définis la date de référence avec la date en cours, et j'affiche la date.
 
Pour faire tout ça avec du PHP, c'est ok, mais le truc c'est que je n'ai pas accès à cette technologie sur mon serveur....
 
HELP Please......... :cry:

n°1409397
Arjuna
Aircraft Ident.: F-MBSD
Posté le 19-07-2006 à 14:09:04  profilanswer
 

ben là t'es mal.
j'ai jamais trouvé de solution.
 
tu peux toujours faire ça en script js...
 
tu affiches toutes les (pour être sûr d'avoir quelquechose même si js ne marche pas)
puis en js tu vires là où elles servent à rien (relou mais c'est ce qu'il y a de plus simple à faire)

n°1413627
xkamui
Their Destiny Was Foreordained
Posté le 26-07-2006 à 10:33:15  profilanswer
 

re-bonjour @ tous
 
Si je veux faire une application web de listing (juste l'affichage) de mon fichier XML avec XSLT, la DTD.... c'est de la branlette ??

n°1413852
Arjuna
Aircraft Ident.: F-MBSD
Posté le 26-07-2006 à 14:19:24  profilanswer
 

"application web de listing (juste l'affichage)" (??)
 
comprends pas ce que tu veux dire exactement :)

n°1413855
Arjuna
Aircraft Ident.: F-MBSD
Posté le 26-07-2006 à 14:20:28  profilanswer
 

Arjuna a écrit :

"application web de listing (juste l'affichage)" (??)
 
comprends pas ce que tu veux dire exactement :)


tu veux faire une appli "entière" à partir uniquement d'un xml et d'un/de xsl ?
 
ben look at my sig, tu verras que c'est pas de la branlette, puisque je l'ai fait.
 
mais je ne suis pas sûr que c'est ce que tu demandes, je pige pas ta phrase.

n°1413883
xkamui
Their Destiny Was Foreordained
Posté le 26-07-2006 à 14:41:48  profilanswer
 

juste, je lis le contenu d'un fichier XML et je l'affiche à l'écran, avec quelques conditions de tri

n°1413906
Arjuna
Aircraft Ident.: F-MBSD
Posté le 26-07-2006 à 15:00:26  profilanswer
 

ouais, ben donc c'est ce que j'ai dans ma signature (en légèrement plus évolué).
 
=> j'ai un fichier xml
=> j'ai un fichier xsl
=> et roule ma poule
 
(aucun traitement coté serveur)


Message édité par Arjuna le 26-07-2006 à 15:00:47

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  Mon projet XML+XSL

 

Sujets relatifs
Besoin de quelqu'un pour un petit projet[XSL] Chuis complètement con ou quoi ?
[Résolu] Génération fichier PDF depuis fichier XML, en utilisant FOP[XSL] Conservation d'éléments après transformation
Aide publication d'un projetRésolu [XML JDOM] création de balise commentaire
Projet ou bibliothèque introuvablecherche un programeur pour projet
automatiser la transformation XSLT d'un docu XML[XML/XSL] pb de résultat !
Plus de sujets relatifs à : Mon projet XML+XSL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR