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

  FORUM HardWare.fr
  Programmation
  XML/XSL

  XML XSL propriété text indent sur plusieurs lignes...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

XML XSL propriété text indent sur plusieurs lignes...

n°2046327
Torlik
Posté le 05-01-2011 à 01:18:26  profilanswer
 

3


Message édité par Torlik le 16-01-2011 à 16:33:35
mood
Publicité
Posté le 05-01-2011 à 01:18:26  profilanswer
 

n°2046439
gilou
Modérateur
Modzilla
Posté le 05-01-2011 à 13:55:04  profilanswer
 

Citation :

Sachant que je n'ai pas le droit de toucher au style

Ben tu as droit de toucher à quoi alors?
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2046468
Torlik
Posté le 05-01-2011 à 15:22:32  profilanswer
 

ba à tout sauf ça ...  
sinon la propriété serait quoi ?

n°2046623
gilou
Modérateur
Modzilla
Posté le 05-01-2011 à 20:01:49  profilanswer
 

Torlik a écrit :

ba à tout sauf ça ...

Vachement explicite, ça!  
Tu as combien de fichiers, qui contiennent quel type de données, et lesquels peux tu modifier?
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2047016
Torlik
Posté le 06-01-2011 à 19:47:20  profilanswer
 

j'ai l'impression que mon premier post n'a servi à rien si tu me poses cette question. Je ne suis peut-être pas très clair. Quoi qu'il en soit ici tu as tous les fichiers.
 
Et mon but est de décaler tout le texte du premier rectangle bleu-ciel vers la droite afin qu'il soit aligné pas un simple text-align:right sans toucher aux variables du XSL.
Il y a un petit bug au niveau des rectangles sous FF donc si vous avez IE mieux vaut regarder avec ce dernier.

n°2047514
Torlik
Posté le 08-01-2011 à 01:50:36  profilanswer
 

up

n°2047516
gilou
Modérateur
Modzilla
Posté le 08-01-2011 à 02:21:56  profilanswer
 

Bon, tout ce que je peux te dire, c'est que:
Si tu pars du html généré actuel (qui ne te convient pas) et que tu le transformes (a coup d'ajout de div et/ou de style css local) en un html qui te convient [et ça, je n'ai pas l'intention de m'en occuper, car cela relève du design html], il doit y avoir moyen, en modifiant le XSL, d'obtenir le html qui te conviendrait, et je peux peut être t'aider à déterminer la modification du XSL (mais seulement si je connais le html d'arrivée). Maintenant, savoir si le transformation du XSL est de celles que tu peux faire, je n'ai pas d'idées la dessus, puisque je ne sais toujours pas ce que tu peux modifier.
Clairement, le html généré actuel, qui ne te convient pas, est:
<div style="margin-top:5px; padding:5px; font-size:15px; text-indent:50%; background-color:#DBFCFF;width:70%;">
Surcouf<br></br>15 avenue du Général de Gaulle<br></br>06 55 95 73 77<br></br>
</div>
A+,


Message édité par gilou le 08-01-2011 à 02:33:33

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2047886
Torlik
Posté le 10-01-2011 à 15:23:11  profilanswer
 

Ok alors tu peux me dire ce que je devrais modifier le xsl ?

n°2047895
gilou
Modérateur
Modzilla
Posté le 10-01-2011 à 15:50:16  profilanswer
 

Uniquement quand tu auras pondu un style final qui va comme tu veux.
Le xsl, il va permettre de générer ce style final, mais si je ne sais pas ce qui doit être généré au final, je ne peux pas écrire le xsl qui va le générer.
Actuellement tu as ça:
<div style="margin-top:5px; padding:5px; font-size:15px; text-indent:50%; background-color:#DBFCFF;width:70%;">  
Surcouf<br></br>15 avenue du Général de Gaulle<br></br>06 55 95 73 77<br></br>  
</div>  
Qu'est ce que tu devrais avoir à la place pour que ce soit placé comme tu veux? (tu as pas le droit de modifier le div global, mais tu peux rajouter des divs avec des propriétés style autour des autres morceaux de texte).
En jouant un peu avec le code généré, un truc comme ça a l'air de coller sous chrome:
<div style="margin-top:5px; padding:5px; font-size:15px; text-indent:50%; background-color:#DBFCFF;width:70%;">  
<div style="text-indent:71%;">Surcouf</div><div style="margin-top:5px; text-indent:71%;">15 avenue du Général de Gaulle</div><div style="margin-top:5px; text-indent:71%;">06 55 95 73 77</div><div style="margin-top:5px; text-indent:71%;"></div>  
</div>  
mais je suis pas la pour savoir à ta place ce qu'il faut avoir visuellement.
Pour obtenir ce dernier truc, il faut faire plusieurs choses:
Se créer deux style supplémentaire:
<xsl:variable name='styleSupp1'>text-indent:71%;</xsl:variable>
et
<xsl:variable name='styleSupp2'>margin-top:5px; text-indent:71%;</xsl:variable>
Se créer deux templates supplémentaires:
<xsl:template name="Temp1">
  <xsl:param name="elt"/>
  <div style="{$styleSupp1}"><xsl:value-of select="$elt"/></div>
</xsl:template>
et
<xsl:template name="Temp2">
  <xsl:param name="elt"/>
  <div style="{$styleSupp2}"><xsl:value-of select="$elt"/></div>
</xsl:template>
et enfin remplacer
<xsl:template match="OrgDestinataire">
    <xsl:value-of select="Nom"/>
<br></br>
    <xsl:value-of select="Adresse"/>
    <br></br>
    <xsl:value-of select="Tel"/>
    <br></br>
    <xsl:value-of select="Fax"/>
</xsl:template>
par
<xsl:template match="OrgDestinataire">
    <xsl:call-template name="Temp1"/>
      <xsl:with-param name="elt" select="Nom"/>
    </xsl:call-template>
    <xsl:call-template name="Temp2"/>
      <xsl:with-param name="elt" select="Adresse"/>
    </xsl:call-template>    
    <xsl:call-template name="Temp2"/>
      <xsl:with-param name="elt" select="Tel"/>
    </xsl:call-template>    
    <xsl:call-template name="Temp2"/>
      <xsl:with-param name="elt" select="Fax"/>
    </xsl:call-template>
</xsl:template>
 
Il y a probablement moyen de simplifier ça un peu avec une seule nouvelle template au lieu de 2, etc, mais ce qui est fait serait présenté de manière moins claire.
 
Noter aussi que si tu avais le droit de modifier
<div style="{$styleDestinataire}">
           <xsl:apply-templates select="OrgDestinataire"/>
</div>
Il y aurait peut être moyen de faire plus simple, mais comme tu n'as pas réussi à me dire ce que tu pouvais modifier...
Noter que si tu ne peux pas modifier le  
<xsl:template match="OrgDestinataire">
    <xsl:value-of select="Nom"/>
...........
(modification dont je ne sais toujours pas si elle est permise) alors c'est très mal barré.
 
A+,


Message édité par gilou le 10-01-2011 à 18:18:47

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2048300
Torlik
Posté le 12-01-2011 à 01:51:56  profilanswer
 

Merci pour les explications.
 
Si je te dis :
Que je voudrais que ce texte :
"15 avenue du Général de Gaulle
06 55 95 73 77"
Soit aligné sous "Surcouf". Car le style text-indent ne s'applique que sur "Surcouf" et pas le reste.
 
Ensuite, tu as le fichier commande.xsl et tu peux modifier tout ce que tu veux dans ce fichier sauf les variables existantes à savoir de la ligne 5 à la ligne 17. Tu peux en revanche en rajouter.
 
J'espère que j'ai parlé français et que tu as compris ?

mood
Publicité
Posté le 12-01-2011 à 01:51:56  profilanswer
 

n°2048301
gilou
Modérateur
Modzilla
Posté le 12-01-2011 à 04:55:20  profilanswer
 

Si tu avais un minimum testé l'exemple de style  
<div style="margin-top:5px; padding:5px; font-size:15px; text-indent:50%; background-color:#DBFCFF;width:70%;">    
<div style="text-indent:71%;">Surcouf</div><div style="margin-top:5px; text-indent:71%;">15 avenue du Général de Gaulle</div><div style="margin-top:5px; text-indent:71%;">06 55 95 73 77</div><div style="margin-top:5px; text-indent:71%;"></div>    
</div>  
que j'ai essayé, à la place du  
<div style="margin-top:5px; padding:5px; font-size:15px; text-indent:50%; background-color:#DBFCFF;width:70%;">  
Surcouf<br></br>15 avenue du Général de Gaulle<br></br>06 55 95 73 77<br></br>  
</div>  
que tu as actuellement (lu par ton browser en sortie de la transfo xslt) tu aurais vu que ça le fait.
 

Citation :

Ensuite, tu as le fichier commande.xsl et tu peux modifier tout ce que tu veux dans ce fichier sauf les variables existantes à savoir de la ligne 5 à la ligne 17. Tu peux en revanche en rajouter.

Et ca correspond a quoi par rapport à ce que tu as posté dans ton 1er post? moi, j'ai pas le fichier commande.xsl sous les yeux, hein.
Bon, comme je t'ai dit, si tu peux toucher à la définition du template, c'est faisable, tu peux adapter ce que j'ai indiqué dans mon post précédent, sinon, c'est pas faisable.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

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

  XML XSL propriété text indent sur plusieurs lignes...

 

Sujets relatifs
Importer plusieurs tableaux .xls depuis et dans une bdd ?[RESOLU]UTF-8 vers ISO-8859-1 AJAX - XMLHTTP
[VBS/XML] probleme de CDATAIndex sur plusieurs clefs
Récuperer plusieurs variables $_POST dans un foreachVBA Excel : Question simple, Textbox stocke des nombres en texte
[XSL] Filtre et regroupement selon balise[VBA/EXCEL07] Copier une chaîne dans plusieurs cellules
Glade - duo Gtk XML et intégration dynamique de composant.VBA Fermer plusieurs applications EXCEL en cascade (taskkill?)
Plus de sujets relatifs à : XML XSL propriété text indent sur plusieurs lignes...


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