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

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Exercice de style XML/XSLT

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Exercice de style XML/XSLT

n°2308832
hseldon33
Posté le 13-12-2017 à 09:45:56  profilanswer
 

Bonjour,
 
Je souhaite réaliser un exercice de style, c'est-à-dire trouver la meilleure manière de mettre en valeur un texte (3 articles) sur une image en fond de page pour que celui-ci soit lisible et que le rendu soit esthétique. Je code donc mon texte en xml et j'utilise une feuille de style xslt pour le mettre en forme. Mais je ne connais pas assez les possibilités et les codes à utiliser sur xslt pour avoir un très beau produit final. Pouvez-vous m'éclairer et pourquoi pas me donner quelques idées....  
 
Je vous fourni mon code xml, xslt (actuel) ainsi que l'image que je souhaite voir en fond.
 
Voici la feuille xml :  
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="Le Monde xsl.xsl" xsi:noNamespaceSchemaLocation="Schéma.xsd"?>
  3. <Articles_Le_Monde>
  4. <page>Ariane et Le Monde : 3 dates, 3 articles</page>
  5. <Article1>
  6. <titre>LES DÉCISIONS DE LA CONFÉRENCE SPATIALE EUROPÉENNE</titre>
  7. <sous-titre>Onze pays s'engagent à financer la construction d'une fusée européenne et d'un laboratoire spatial. Un budget de 4 450 millions de francs.</sous-titre>
  8. <Informations_article>
  9. <Auteur>
  10.  <Prénom> Dominique </Prénom>
  11.  <Nom> Verguèse </Nom>
  12. </Auteur>
  13. <Date>02 Août 1973</Date>
  14. <Type> Reportage </Type>
  15. <Lieu> Bruxelles </Lieu>
  16. </Informations_article>
  17. <Structure_article>
  18. <Résumé>Réunie à Bruxelles pour la seconde fois en moins de trois semaines, la conférence spatiale européenne, qui groupe les représentants de onze pays, a pris, le mardi 31 juillet, des décisions d'une grande portée. L'Europe s'est engagée dans la réalisation de trois programmes nouveaux d'un montant global de 4450 millions de francs d'ici à 1980, sous réserve que quatre pays (Danemark, Italie. Norvège et Suède) confirment leur participation d'ici au 15 septembre. En outre, l'Agence spatiale européenne (ESRO) sera créée avant le 1er avril 1974.L'Europe lance simultanément la construction, pour 2 472 millions de francs, d'une fusée L III-S capable de placer sur orbite des satellites de télécommunications de 750 kilos ; la réalisation pour 1 702 millions de francs, d'un laboratoire orbital habité qui sera embarqué à bord de la future navette américaine, et la construction d'un satellite de navigation maritime pour 275 millions de francs.
  19. </Résumé>
  20. <p>
  21. " Nous sommes arrivés au port. " C'est en ces termes que M. Hanin, ministre belge de la programmation scientifique, a commenté la réunion de Bruxelles, qui s'est prolongée jusqu'à 0 h. 30 ce mercredi 1er août. Longue et laborieuse avait été cette négociation commencée entre des pays européens (Allemagne fédérale, Belgique, Danemark, Espagne, France, Grande-Bretagne, Suisse, Pays-Bas, Italie, Suède et Norvège) assez peu enthousiastes à l'égard de l'espace, mais qui s'apprêtent à doubler, d'un seul coup, le budget annuel qu'ils lui consacrent en le portant à 4 450 millions de francs. Avec les trois nouveaux programmes, les sommes qui transiteront par l'Organisation européenne de recherches spatiales, l'ESRO, vont passer de 750 millions de francs par an à environ 1 400 millions en 1975, 1976 et 1977. A partir de 1974, cet organisme verra sans doute sa convention et ses structures modifiées pour devenir l'agence spatiale européenne et gérer à la fois un programme de satellites scientifiques et d'applications décidé en 1971, le programme de laboratoire habité Spacelab, et superviser le programme de fusées L III-S.
  22. </p>
  23. <p>Les trois projets présentés à la conférence étaient indissolublement liés par les conditions que les différents pays avaient posées. La France, qui s'était engagée à financer 60 % de la fusée L III-S ne voulait participer au programme de laboratoire Spacelab que si la construction de la fusée était décidée L'Allemagne fédérale, qui s'était engagée à financer 49 % du Spacelab. n'acceptait de participer au L III-S que si le laboratoire était décidé La Grande-Bretagne faisait de la décision sur le satellite de navigation maritime, qu'elle soutenait pour 55 %, une condition de sa participation au Spacelab Ou bien les trois projets naîtraient ensemble ou bien ils seraient enterrés ensemble. Si l'on voulait éviter une crise grave, un mariage de raison était la seule solution.
  24. </p>
  25. <p>La veille de la réunion, l'Italie qui avait fait savoir il y a quelques mois qu'elle acceptait de participer au Spacelab pour 20 %, annonçait qu'elle ne pourrait prendre aucune décision définitive d'ici au 15 septembre, son gouvernement voulant réviser son budget.
  26. </p>
  27. <p>Puis la Suède, la Norvège et, dans une certaine mesure, le Danemark annoncèrent, le 31 juillet au matin, qu'ils ne sauraient se prononcer dans l'immédiat.
  28. </p>
  29. <p>Rendue assez pessimiste par ces mauvaises nouvelles, la conférence entreprit de recenser les participations aux divers projets : il manquait 11 % pour le L III-3, environ 25 % pour le laboratoire habité et 45 % pour le satellite de navigation maritime, soit 800 millions de francs au total.
  30. </p>
  31. <p>Le soutien de la Grande-Bretagne pour 10 % au laboratoire Spacelab avait été ramené ce 31 juillet à 6 %, en attendant une décision sur le satellite maritime. En revanche, la Grande-Bretagne acceptait de passer pour 40 millions de francs de contrats chez ses propres industriels pour réaliser la centrale de guidage inertiel du lanceur L III-S sans vouloir signer l'accord faisant du projet français une fusée européenne.
  32. </p>
  33. <p>Les marchandages commencèrent. M. Hanin entreprit, après le déjeuner, de voir les chefs de délégations un à un. Décidé à éviter tout report de la conférence et à aboutir à un accord, même au terme d'un dur marathon, M. Hanin continua ses consultations jusqu'à 23 heures.
  34. </p>
  35. <p>Il fut d'abord calculé que les quatre pays qui ne pouvaient se prononcer - le Danemark, l'Italie, la Norvège et la Suède - seraient finalement en mesure de participer au projet L III-S pour 6 %, dont 3 % pour l'Italie ; au projet Spacelab pour 21,1 % dont 18 % pour l'Italie ; au projet de satellite maritime pour 8 %. Puis, la France et l'Allemagne consentirent chacune un petit effort supplémentaire pour leur projet favori (le L III-S pour Paris et le Spacelab pour Bonn), et la Belgique et la Suisse augmentèrent leur participation à chacun des deux projets. Il fallut enfin que la France et l'Allemagne se montrent décidées à soutenir largement le satellite maritime, et la Grande-Bretagne accrut sa participation au L III-S. Avec ces concessions, chaque projet se trouva finalement financé à 100 % et l'accord, sous conditions suspensives, fut acquis.
  36. </p>
  37. <p>Un point d'interrogation subsiste, et l'accord qui sera signé avec les Etats-Unis sur le laboratoire habité n'aura une valeur définitive que si les quatre pays qui n'ont pu se prononcer apportent les contributions promises au plus tard le 15 septembre : soit, au total, 540 millions de francs. S'il manquait encore quelques crédits, leurs partenaires feraient sans doute un nouvel effort, et M. Hanin s'est déclaré " moralement sûr " que l'Italie ne pourrait pas annuler sa participation au laboratoire Spacelab. En toute hypothèse, le sort des trois programmes restera lié.
  38. </p>
  39. <p>À l'avenir, l'addition sera très lourde, non seulement pour l'Italie - environ 350 millions de francs - mais aussi pour la Belgique - 220 millions de francs, - encore plus peut-être pour la France - 1 600 millions de francs, - ce qui risque de faire pratiquement disparaître tout programme national français d'envergure. La France, en effet, devra débourser près de 400 millions de francs par an pour les programmes européens à partir de 1975, auxquels s'ajouteront les 90 raillions de francs de fonctionnement du champ de tir de Guyane.
  40. </p>
  41. <p>Pour l'Allemagne fédérale, le coût des trois nouveaux programmes atteindra 1 435 millions de francs. Par comparaison avec la Grande-Bretagne, la balance n'est guère égale : 340 millions de francs. Cette disproportion pèsera très lourd sur la France et l'Allemagne, qui se sont résolument engagées dans un programme européen de grande envergure, tandis que la Grande-Bretagne a fait plutôt des gestes de bonne volonté que de réels efforts financiers.
  42. </p>
  43. </Structure_article>
  44. </Article1>
  45. <Article2>
  46. <titre>UN SUCCÈS PROMETTEUR</titre>
  47. <Informations_article>
  48. <Auteur>
  49.  <Prénom> Maurice </Prénom>
  50.  <Nom> Arvonny </Nom>
  51. </Auteur>
  52. <Date> 26 Juillet 1979 </Date>
  53. <Type> Reportage </Type>
  54. <Lieu> Kourou (Guyane) </Lieu>
  55. </Informations_article>
  56. <Structure_article>
  57. <Résumé>Le lancement d'Ariane, qui n'avait pu avoir lieu au cours des deux tentatives du 15 et du 23 décembre, a été parfaitement réussi le lundi 24. À 18 heures et 14 minutes, la fusée a été mise à feu, Ariane s'est lentement élevée dans un ciel guyanais dégagé. On a pu suivre toute la combustion du premier étage, sa séparation, l'allumage du second. Ensuite, les radars guyanais, brésiliens (Natal) et américains (île d'Ascension) ont pris le relais. Toutes les opérations délicates de séparation d'étage et d'allumages de réacteurs ont eu lieu à la seconde prévue et l'orbite atteinte ne diffère de celle qui était programmée que par des écarts inférieurs à la fourchette admissible. Ce succès doit être confirmé par un second tir réussi pour qualifier le lanceur. Mais il contribue à assurer l'avenir commercial d'Ariane et va faciliter les négociations actuellement en cours pour définir précisément les conditions de production de vente des lanceurs commerciaux.
  58. </Résumé>
  59. <p>Une fois les fêtes de Noël passées, les responsables, ingénieurs, techniciens du programme Ariane, à l'Agence spatiale européenne (ESA), au Centre national d'études spatiales (CNES), chez les industriels qui construisent le lanceur, vont reprendre le travail pour préparer le second tir d'Ariane, programmé pour le mois de mai 1980.
  60. </p>
  61. <p>La première tâche, qui prendra plus d'une quinzaine de jours, va être d'analyser toutes les informations transmises pendant les premières minutes par le lanceur, et par la capsule technologique qu'il a satellisée. Il va falloir vérifier si toutes les mesures ont donné les valeurs prévues, analyser les écarts relevés, en déduire quelles modifications apporter au lanceur et aux procédures de tir.
  62. </p>
  63. <p>Ensuite, il faudra finir l'assemblage du second exemplaire d'Ariane, actuellement en cours à l'usine des Mureaux (Yvelines) de l'Aérospatiale (SNIAS) ou, pour le second étage, à celle de Brême de la firme allemande F.R.N.O. ; il faudra transporter les trois étages à Kourou, et recommencer la longue campagne (cinquante-six jours ouvrables) d'érection du lanceur et de mise en état de tous les moyens de contrôle et de poursuite qui seront utilisés lors du lancement. Puis reviendront les heures angoissantes qui précèdent immédiatement chaque tir. Ensuite... si tout va bien, tout recommencera ; on préparera les tirs d'essai de septembre et de décembre 1980, puis les lancements commerciaux des années 1981 et suivantes.
  64. </p>
  65. <p>La base guyanaise de Kourou, en sommeil depuis le dernier tir d'une fusée Diamant en septembre 1975, réveillée par ce " cadeau de Noël ", pour reprendre les termes du message que le président de la République a adressé à tous ceux qui ont contribué au succès, devrait connaître désormais une activité régulière. Les prévisions actuelles de lancements sont bien proches des neuf tirs tous les deux ans, qui représentent la cadence maximale que permettent les installations actuelles.
  66. </p>
  67. <p>Le carnet des commandes contient actuellement trois lancements sûrs en 1981, au moins deux en 1982, trois en 1983, un en 1984. Mais de nombreuses options ont aussi été prises et le succès du premier tir va sûrement en amener d'autres. Dans la compétition entre le lanceur Ariane et la navette spatiale américaine pour le marché des lancements de satellites de la prochaine décennie, l'Europe vient de marquer un point important. Certes, rien n'est acquis - il faut deux lancements réussis sur les quatre premiers pour qu'Ariane soit déclarée opérationnelle. On peut raisonnablement être optimiste. La trajectoire suivie par la capsule que portait Ariane est très proche de celle qui lui était assignée, et autorisait les responsables, dès lundi soir, à parler de succès complet. Il se peut que d'autres tirs soient des échecs, mais on est assuré de ne pas revoir cette longue suite de lamentables catastrophes à laquelle se réduisit, avant son abandon final, le programme Europa.
  68. </p>
  69. <p>Le succès de lundi va aussi faciliter les négociations qui préparent la naissance de la société Ariane-Espace, à laquelle doit être confiée la production et la commercialisation d'Ariane, ainsi que la responsabilité technique des lancements. Avant d'abandonner certains contrôles qu'ils exercent sur le programme Ariane - contrôles dont chacun s'accorde à juger qu'ils sont trop lourds pour la compétition commerciale sur les marchés extérieurs à l'Europe, - avant d'accepter de payer un surprix pour leurs besoins propres de façon à permettre à Ariane-Espace de pratiquer une politique commerciale agressive à l'exportation, les partenaires européens de la France voulaient mieux savoir où ils en étaient. En 1973, ils avaient confié au CNES la maîtrise d'œuvre du programme. Ils lui demandaient de rendre compte. Avec le tir de Noël, c'est en grande partie chose faite.
  70. </p>
  71. </Structure_article>
  72. </Article2>
  73. <Article3>
  74. <titre>LA PREMIÈRE LIGNE PRIVÉE DE L'ESPACE</titre>
  75. <Informations_article>
  76. <Auteur>
  77.  <Prénom> Maurice </Prénom>
  78.  <Nom> Arvonny </Nom>
  79. </Auteur>
  80. <Date> 24 Mai 1984 </Date>
  81. <Type> Reportage </Type>
  82. <Lieu> Kourou (Guyane) </Lieu>
  83. </Informations_article>
  84. <Structure_article>
  85. <p>En lançant dans la nuit du 22 au 23 mai un autre exemplaire de la fusée Ariane, les Européens ont donné une nouvelle orientation à leur politique en matière de lanceurs. Ce neuvième tir depuis le centre spatial de Kourou (Guyane) devrait permettre à l'Europe de conforter l'image de marque d'Ariane auprès des clients étrangers mais surtout des propriétaires de satellites américains, qui sont, d'autre part, très sollicités pour utiliser la navette spatiale.
  86. </p>
  87. <p>Pour la première fois, en effet, était installé sous la coiffe d'Ariane un satellite de télécommunications appartenant à une firme américaine, GTE-Spacenet, qui, comme l'organisation internationale Intelsat, avait pris le pari de confier sa charge à la fusée européenne.
  88. </p>
  89. <p>Même si le spectacle a connu quelques entractes forcés, propres au déroulement de toutes les grandes cérémonies, Ariane n'a pas raté son entrée dans le monde du commerce et de la finance. Le public de sympathisants réuni à grands frais salle Pleyel à Paris pour assister en direct sur écran géant à ce tir ne s'y est pas trompé. Il a salué avec l'enthousiasme qui convient ce nouveau succès d'Ariane, qui d'une certaine manière marque la fin d'une époque et le début d'une autre.
  90. </p>
  91. <p>La fin d'une époque pour ceux qui, après avoir essuyé les plâtres, surmonté les échecs techniques et supporté les crises politiques de l'Europe spatiale, passent la main. Hier, en effet, ils ont symboliquement transmis le relais, et ce au moment où Ariane enregistre des commandes à l'exportation. Un rêve qu'ils avaient caressé au tout début du programme. Aujourd'hui, le voilà réalisé. La fin d'une époque aussi pour Ariane-1, qui, après deux derniers vols - mission cométaire européenne Giotto et lancement du satellite d'observation de la Terre Spot, - sera remplacée par des Ariane de deuxième et de troisième génération.
  92. </p>
  93. <p>Le début d'une autre époque, enfin : celle de l'industrialisation de la fusée. Pour la première fois, le tir d'Ariane a été assuré par les personnels d'une société de droit privé, Arianespace, qui, désormais, a la charge de commercialiser et de promouvoir le lanceur européen. Les tirs d'Ariane y perdront sans doute en poésie, mais ils y gagneront, à coup sûr, en contrats. Déjà, le carnet de commandes d'Arianespace s'élève à 6,5 milliards de francs et porte sur le lancement ferme de vingt-neuf satellites et sur celui, en option, de dix-neuf autres, parmi lesquels deux satellites chinois de télévision semi-directe.
  94. </p>
  95. <p>Avec Ariane, les Européens ont donc ouvert la " première ligne commerciale privée de l'espace ". Ils devraient être bientôt suivis dans cette voie par les États-Unis, qui ont récemment confié à la société privée Transpace Carriers le soin de lancer des satellites au moyen de fusées Delta. Jusqu'à ce jour, celles-ci étaient mises en œuvre par la NASA, qui conserve entre autres la responsabilité des lancements de la navette. La compétition à venir sera d'autant plus rude qu'Arianespace compte prendre 30 % du marché des services de lancement de satellites.
  96. </p>
  97. <p>Encore faut-il pour réussir que le développement en cours d'une version plus puissante du lanceur européen Ariane-4, dont le premier tir doit avoir lieu au début de 1986, se déroule sans incidents et que les Européens parviennent rapidement à un accord sur la suite à donner au programme. Le prochain sommet franco-allemand devrait permettre d'y voir un peu plus clair pour le lanceur lourd des années 90.
  98. </p>
  99. </Structure_article>
  100. </Article3>
  101. </Articles_Le_Monde>


 
La feuille xslt :
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
  3. <xsl:template match="/">
  4. <html>
  5. <head>
  6.  <title>Ariane et Le Monde : 3 dates, 3 articles</title>
  7. </head>
  8. <body style="background-image:url('L01.jpg')">
  9. <xsl:apply-templates/>
  10. </body>
  11. </html>
  12. </xsl:template>
  13. <xsl:template match="page">
  14. <h1 style="text-align:center; font-family:Brush Script MT;" ><span style="background:red"><xsl:value-of select="."/><b/><hr/></span>
  15. </h1>
  16. </xsl:template>
  17. <xsl:template match="titre">
  18. <h2 style="text-align:center;" text-decoration="overline"><xsl:value-of select="."/><b/><hr/>
  19. </h2>
  20. </xsl:template>
  21. <xsl:template match="sous-titre">
  22. <h3 style="margin-top:0px; margin-bottom:0%; padding:10px; font-size:20px; text-indent:10%; background-color:#DBFCFF;width:100%;"><div><em><xsl:value-of select="."/></em></div></h3>
  23. </xsl:template>
  24. <xsl:template match="Informations_article">
  25. <ul style="margin-left:7%; margin-right:7%">
  26.     <li><xsl:value-of select="Auteur"/>;</li>
  27.     <li><xsl:value-of select="Date"/>;</li>
  28.     <li><xsl:value-of select="Type"/>;</li>
  29.     <li><xsl:value-of select="Lieu"/>;</li>
  30. </ul>
  31. </xsl:template>
  32. <xsl:template match="Résumé">
  33. <div style="margin-left:7%; margin-right:7%"><em><xsl:value-of select="."/></em></div>
  34. </xsl:template>
  35. <xsl:template match="p">
  36. <p style="margin-left:7%; margin-right:7%; color:FireBrick"><xsl:value-of select="."/></p>
  37. </xsl:template>
  38. </xsl:stylesheet>


 
et l'image de fond :  
 
https://www.capcomespace.net/dossiers/espace_europeen/ariane/1979-83/1979%20L01%20en%20vol.jpg

mood
Publicité
Posté le 13-12-2017 à 09:45:56  profilanswer
 

n°2308962
gilou
Modérateur
Modzilla
Posté le 14-12-2017 à 23:21:09  profilanswer
 

Bonsoir,
En ce qui concerne le xsl, j'aurais écrit cela ainsi:
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
  3.  
  4.  <xsl:template match="/">
  5.    <html>
  6.      <head>
  7.        <title><xsl:value-of select="/Articles_Le_Monde/page"/></title>
  8.        <style>
  9.          body {background-image:url('L01.jpg');}
  10.          h1 {text-align:center; font-family:Brush Script MT;}
  11.          h2 {text-align:center; text-decoration:overline;}
  12.          h3 {margin-top:0px; margin-bottom:0%; padding:10px; font-size:20px;
  13.              text-indent:10%; background-color:#DBFCFF; width:100%;}
  14.          p  {margin-left:7%; margin-right:7%; color:FireBrick;}
  15.          .Résumé, .Informations_article {margin-left:7%; margin-right:7%;}
  16.          .pagespan {background:red;}
  17.        </style>
  18.      </head>
  19.      <body><xsl:apply-templates/></body>
  20.    </html>
  21.  </xsl:template>
  22.  
  23.  <xsl:template match="page">
  24.    <h1><span class="pagespan"><xsl:apply-templates/><hr/></span></h1>
  25.  </xsl:template>
  26.  
  27.  <xsl:template match="titre">
  28.    <h2><xsl:apply-templates/><hr/></h2>
  29.  </xsl:template>
  30.  
  31.  <xsl:template match="sous-titre">
  32.    <h3><div><em><xsl:apply-templates/></em></div></h3>
  33.  </xsl:template>
  34.  
  35.  <xsl:template match="Informations_article">
  36.    <ul class="{local-name()}"><xsl:apply-templates select="Auteur,Date,Type,Lieu"/></ul>
  37.  </xsl:template>
  38.  
  39.  <xsl:template match="Auteur|Date|Type|Lieu">
  40.    <li><xsl:apply-templates/><xsl:text>;</xsl:text></li>
  41.  </xsl:template>
  42.  
  43.  <xsl:template match="Résumé">
  44.    <div class="{local-name()}"><em><xsl:apply-templates/></em></div>
  45.  </xsl:template>
  46.  
  47.  <xsl:template match="p">
  48.    <p><xsl:apply-templates/></p>
  49.  </xsl:template>
  50.  
  51. </xsl:stylesheet>


 
Bon, j'ai fait du xsl 2.0 parce que ceci ne semble pas autorisé en 1.0: select="Auteur,Date,Type,Lieu" et que c'est pratique.
Et ça marchait avec FireFox (je doute que FF accepte le xsl 3.0, que j'utilise quotidiennement, mais je n'ai pas testé).
En ce qui concerne le xsl, j'ai remplacé les xsl:copy-of par des xsl:apply-templates (comme cela ne porte que sur du texte pur, les règles par défaut feront qu'il y a aussi copie), cela étant plus dans l'esprit xsl (et peut être un poil plus optimisé).
J'ai rendu le title générique, et ai mis les styles en tête (ils pourraient être dans une css externe, sauf la règle pour body, l'image étant spécifique à la page je pense), en jouant sur les classes quand nécessaire. Ça permet de séparer les règles jouant sur la structure (xsl) de celles jouant sur la présentation (css).
Enfin, j'ai viré les <b/> car je n'en ai pas vu l'utilité, et le <xsl:text>;</xsl:text> est juste la pour clarifier que le ; qui y figure n'est pas une typo.
 
Pour rendre ça plus joli, il faut voir l'avis des webmasters du forum, ce que je ne suis pas. Et c'est plus au niveau de la CSS qu'au niveau de la XSL que ça devrait se jouer.
 
A+,


Message édité par gilou le 15-12-2017 à 01:51:28

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2308967
hseldon33
Posté le 15-12-2017 à 10:59:10  profilanswer
 

Bonjour,
 
Merci pour ton aide et ton optimisation de mon fichier xsl !
 
C'est vrai que ce qu'il me faut maintenant c'est davantage de langage CSS pour vraiment rendre le tout lisible sur l'image, quitte à avoir une style différent pour chaque articles. Je pensais faire des effets de surbrillance, ou jouer sur la transparence, voir simplement sur la couleur du texte et de la calligraphie, mais je pense qu'il en faut plus. Si quelqu'un pouvait me donner quelques solutions avancées en CSS, faisant appel à un langage "avancé", je suis preneur encore une fois.  
 
J'aimerais jouer peut-être davantage également sur la mise en page quitte à créer des cadres pour le texte afin qu'il n’empiète pas sur la fusée.... etc..
 
Par contre je pense qu'une séparation plus nette entre les articles est possible, mais je n'ai pas encore trouver comment le faire.
 
 

n°2308974
gilou
Modérateur
Modzilla
Posté le 15-12-2017 à 16:27:24  profilanswer
 

Autre remarque sur la structuration des données en xml.
<Prénom> Maurice </Prénom>
 <Nom> Arvonny </Nom>
<Date> 24 Mai 1984 </Date>
<Type> Reportage </Type>
<Lieu> Kourou (Guyane) </Lieu>
Les espaces avant et après les tags ici sont complètement inutiles.
 
<Article1>, <Article2>, <Article3>
Non, <Article> devrait suffire, et au pire, une structure <Article numero="1"> devrait faire l'affaire.
Et homogénéiser cela permet de faire des choses cool, comme le calcul dynamique des nbs de dates et articles.
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet version="2.0"  
  3.  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
  4.  xmlns:xs="http://www.w3.org/2001/XMLSchema"  
  5.  xmlns="http://www.w3.org/1999/xhtml">
  6.  
  7.  
  8.  <xsl:variable name="titre-calculé">
  9.    <xsl:variable name="nbArticles" select="count(//Article)"/>
  10.    <xsl:variable name="nbDates" select="count(//Article//Date)"/>
  11.    <xsl:value-of select="concat(//page, ' : ', $nbDates, ' date')"/>
  12.    <xsl:if test="$nbDates &gt; 1">s</xsl:if>
  13.    <xsl:value-of select="concat(', ', $nbArticles, ' article')"/>
  14.    <xsl:if test="$nbArticles &gt; 1">s</xsl:if>
  15.  </xsl:variable>
  16.  
  17.  <xsl:template match="/">
  18.    <html>
  19.      <head>
  20.        <title><xsl:value-of select="$titre-calculé"/>
  21.        </title>
  22.        <style>
  23.          body {background-image:url('L01.jpg');}
  24.          h1 {text-align:center; font-family:Brush Script MT;}
  25.          h2 {text-align:center; text-decoration:overline;}
  26.          h3 {margin-top:0px; margin-bottom:0%; padding:10px; font-size:20px;
  27.              text-indent:10%; background-color:#DBFCFF; width:100%;}
  28.          p  {margin-left:7%; margin-right:7%; color:FireBrick;}
  29.          .Résumé, .Informations_article {margin-left:7%; margin-right:7%;}
  30.          .pagespan {background:red;}
  31.        </style>
  32.      </head>
  33.      <body><xsl:apply-templates/></body>
  34.    </html>
  35.  </xsl:template>
  36.  
  37.  <xsl:template match="page">
  38.    <h1><span class="pagespan"><xsl:value-of select="$titre-calculé"/><hr/></span></h1>
  39.  </xsl:template>
  40.  
  41.  <xsl:template match="titre">
  42.    <h2><xsl:apply-templates/><hr/></h2>
  43.  </xsl:template>
  44.  
  45.  <xsl:template match="sous-titre">
  46.    <h3><div><em><xsl:apply-templates/></em></div></h3>
  47.  </xsl:template>
  48. ......


 
sur du contenu comme

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="Le Monde.xsl" xsi:noNamespaceSchemaLocation="Schéma.xsd"?>
  3. <Articles_Le_Monde>
  4.  <page>Ariane et Le Monde</page>
  5.  <Article>
  6.    <titre>LES DÉCISIONS DE LA CONFÉRENCE SPATIALE EUROPÉENNE</titre>
  7.    <sous-titre>Onze pays s'engagent à financer la construction d'une fusée européenne et d'un laboratoire spatial. Un budget de 4 450 millions de francs.</sous-titre>
  8.    <Informations_article>
  9.      <Auteur>
  10.        <Prénom>Dominique</Prénom>
  11.        <Nom>Verguèse</Nom>
  12.      </Auteur>
  13.      <Date>02 Août 1973</Date>
  14.      <Type>Reportage</Type>
  15.      <Lieu>Bruxelles</Lieu>
  16.    </Informations_article>
  17.    <Structure_article>
  18.      <Résumé>Réunie à Bruxelles pour la seconde fois en moins de trois semaines, la conférence spatiale européenne, qui groupe les représentants de onze pays, a pris, le mardi 31 juillet, des décisions d'une grande portée. L'Europe s'est engagée dans la réalisation de trois programmes nouveaux d'un montant global de 4450 millions de francs d'ici à 1980, sous réserve que quatre pays (Danemark, Italie. Norvège et Suède) confirment leur participation d'ici au 15 septembre. En outre, l'Agence spatiale européenne (ESRO) sera créée avant le 1er avril 1974.L'Europe lance simultanément la construction, pour 2 472 millions de francs, d'une fusée L III-S capable de placer sur orbite des satellites de télécommunications de 750 kilos ; la réalisation pour 1 702 millions de francs, d'un laboratoire orbital habité qui sera embarqué à bord de la future navette américaine, et la construction d'un satellite de navigation maritime pour 275 millions de francs. </Résumé>
  19.      <p> " Nous sommes arrivés au port. " C'est en ces termes que M. Hanin, ministre belge de la programmation scientifique, a commenté la réunion de Bruxelles, qui s'est prolongée jusqu'à 0 h. 30 ce mercredi 1er août. Longue et laborieuse avait été cette négociation commencée entre des pays européens (Allemagne fédérale, Belgique, Danemark, Espagne, France, Grande-Bretagne, Suisse, Pays-Bas, Italie, Suède et Norvège) assez peu enthousiastes à l'égard de l'espace, mais qui s'apprêtent à doubler, d'un seul coup, le budget annuel qu'ils lui consacrent en le portant à 4 450 millions de francs. Avec les trois nouveaux programmes, les sommes qui transiteront par l'Organisation européenne de recherches spatiales, l'ESRO, vont passer de 750 millions de francs par an à environ 1 400 millions en 1975, 1976 et 1977. A partir de 1974, cet organisme verra sans doute sa convention et ses structures modifiées pour devenir l'agence spatiale européenne et gérer à la fois un programme de satellites scientifiques et d'applications décidé en 1971, le programme de laboratoire habité Spacelab, et superviser le programme de fusées L III-S. </p>
  20. ....


 
Enfin, toujours au niveau de la séparation du contenu et de sa présentation, on peut très bien faire pour les titres:
<titre>Les décisions de la conférence spatiale européenne</titre>
et faire faire la mise en majuscule par la CSS
h2 {text-align:center; text-decoration:overline; text-transform: uppercase;}
 
A+,


Message édité par gilou le 15-12-2017 à 16:43:47

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2308976
rufo
Pas me confondre avec Lycos!
Posté le 15-12-2017 à 18:00:07  profilanswer
 

A noter que tu ne devrais pas avoir <Article1>, <Article2>... mais que des <Article>


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2308988
gilou
Modérateur
Modzilla
Posté le 16-12-2017 à 00:06:41  profilanswer
 

C'est l'objet de mon 2e paragraphe du post précédent[:graffin]  
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2308991
rufo
Pas me confondre avec Lycos!
Posté le 16-12-2017 à 08:23:10  profilanswer
 

Oops, pas vu.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

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

  Exercice de style XML/XSLT

 

Sujets relatifs
Problème Main en java avec XML eclipseExercice de la piscine 42: afficher l'alphabet
Exercice entré sortie assembleurXSLT très lent
perl et fichier XMLtransformer un fichier texte en XML
[Résolu] Mettre à jour/ajouter éléments dans un XML en C#[JS/Xml] Parser des éléments en fonction de la balise contenante?
[C#] Tableaux croisés dynamiques et Open XMLAide pour exercice c
Plus de sujets relatifs à : Exercice de style XML/XSLT


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