Bonjour,
Après un moment à chercher en long, en large et en travers, je pose ma question pour laquelle je n'ai pas trouvé de réponse fonctionnelle.
Je pose le contexte : pas le choix, je suis obligé d'utiliser XSLT 1.0, c'est une restriction liée à l'ERP (et ça coûterait bien trop cher de changer l'ERP complet).
Le problème de départ est que la date d'"impression" affichée à la génération du document PDF n'est pas la date voulue (la date qui se met est la date Ã* laquelle le fichier XML a été mis à jour pour la dernière fois, et nous souhaitons afficher la date Ã* laquelle on lance la génération du fichier PDF pour l'imprimer).
Je suis tombé sur les fonctions du genre current-date(), mais elles ne sont connues que sous XSLT 2, donc pour mon cas je ne peux pas m'appuyer dessus.
Je suis également tombé sur un site en Anglais (pas sûr en tant que nouveau membre de pouvoir poster un lien, donc je m'abstiens) qui proposait 2 solutions pour XSLT 1.0 :
- la première serait de récupérer l'extension "Dates and Times" de exslt.org sur Github pour ajouter le code suivant dans le header :
Le téléchargement sur Github a résulté que l'antivirus a piaillé en indiquant "Malware.PHP/Pioneer.B", et en récupérant uniquement le fichier date.xsl j'avais des erreurs pas sympa.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <xsl:stylesheet version=Â1.0″ xmlns:date=http://exslt.org/dates-and-times extension-element-prefixes=date . > <xsl:import href=/date.xsl> <xsl:template match=//root> <xsl:value-of select=date:date-time() /> </xsl:template> </xsl:stylesheet>
N'ayant pas envie de mettre mon emploi en danger, j'ai préféré supprimer le téléchargement !
- la deuxième méthode parle d'intégrer du Java si on utilise Eclipse, mais ce n'est pas mon cas. J'ai donc laissé cette piste de côté.
Mon fichier est actuellement construit de la façon suivante :
Y aurait-il une possibilité (je lis que la méthode de sortie est en HTML, peut-être une idée??) de récupérer la date courante (même si ça s'exécute du côté du serveur, le serveur d'exécution est sur le même serveur NTP que les ordinateurs clients) pour pouvoir l'intégrer au document?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?xml version="1.0" encoding="UTF-8"?> <!-- import des différents fichiers de template --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:output method="html"/> <xsl:template match="order"> <!-- Pas le choix du template puisque c'est lié à l'ERP --> ...
Je précise (sinon c'était pas marrant!) que j'ai seulement un peu de bases au niveau du développement (on va dire l'algorithmique basique et simple), mais que j'ai bien du mal avec les langages orientés Web, y compris le HTML...
Alors n'hésitez pas à simplifier, même à écrire ce qui vous paraît évident, ça m'aidera certainement.
Vous pouvez même vous mettre au niveau "il faut que même ma grand-mère puisse le faire", je ne me vexerai pas
Merci d'avance pour vos idées![]()
Partager