IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Vérification de la présence de fichier images [XSLT 2.0]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable Production Publishing
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable Production Publishing
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Vérification de la présence de fichier images
    Bonjour,

    Après transformation de fichiers xml avec XSLT 2.0.

    Je dois valider via une feuille de style XSLT que les fichiers xml sont bien présent dans le répertoire, via la fonction fn:doc-available puis vérifier que les noms des fichiers respectent la chartre.

    Pour cela la feuille de style fonctionne correctement.


    Mon problème apparait quand je dois vérifier que le fichier image_1.png référencé dans un fichier XML, via l'élément <INCL.IMG FILEREF="image_1.png/> soit bien présent dans le répertoire.

    Je ne peux pas utiliser fn:doc-available, car ce n'est pas un fichier XML.

    Comment peut-on valider la présence d'un fichier PNG dans un répertoire via une feuille de style XSLT 2.0.


    Merci d'avance


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    	<xsl:template match="INCL.IMG">
    		<xsl:copy copy-namespaces="no">
    			<xsl:apply-templates select="@*|*|text()|processing-instruction()|comment()"/>
    		</xsl:copy>
    		<xsl:variable name="filename" select="fn:concat('../INPUT/', @FILEREF)"/>
    		<xsl:choose>
    			<xsl:when test="fn:doc-available($filename)">		
    					<xsl:message>
    						<xsl:text>* OK_9 - The file </xsl:text>
    						<xsl:value-of select="$filename"/>
    						<xsl:text> is missing in ../INPUT </xsl:text>
    					</xsl:message>
    			</xsl:when>
    			<xsl:otherwise>
    					<xsl:message>
    						<xsl:text>* WARNING_9 - The file </xsl:text>
    						<xsl:value-of select="$filename"/>
    						<xsl:text> is missing in ../INPUT </xsl:text>
    					</xsl:message>
    			</xsl:otherwise>	
    		</xsl:choose>

  2. #2
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 372
    Points
    2 372
    Par défaut
    Bonjour,

    à moins de disposer d'un fichier XML te listant les images de ton répertoire,
    je ne vois pas bien comment tu peux faire !

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable Production Publishing
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable Production Publishing
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    OK, mais là je déplace simplement le problème, je dois créer de façon automatique un fichier XML qui va lister les images présente dans le répertoire.

    Voir si je ne peux pas faire ça via un fichier BATCH ... car impossbile via XSLT 2.0 ...

    Solution à méditer, Merci ... bon maintenant je dois trouver des infos si on peut créer un fichier XML et lister les images via un fichier BATCH.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable Production Publishing
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable Production Publishing
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour le début d'idée.

    Donc la solution que j'ai trouvé est un peut tordu, mais bon cela marche.

    Dans le fichier BAT qui exécute la feuille de style , via saxon, j'ai ajouté des commandes pour remplacer les fichiers PNG par des fichiers XML avec le même nom que les fichiers PNG.

    Ensuite dans la feuille de style je peux vérifier que le fichier existe, bien sûr je ne garde pas ces fichiers xml pour la suite de la production.

    Vous pouvez clôturer ce sujet

  5. #5
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Donc la solution que j'ai trouvé est un peut tordu, mais bon cela marche.

    Dans le fichier BAT qui exécute la feuille de style , via saxon, j'ai ajouté des commandes pour remplacer les fichiers PNG par des fichiers XML avec le même nom que les fichiers PNG.

    Ensuite dans la feuille de style je peux vérifier que le fichier existe, bien sûr je ne garde pas ces fichiers xml pour la suite de la production.
    Je crois c'est une <<solution>> difficilement tenable et si c'est une solution du tout.

    [1] Pour des fichiers du type xml, on peut s'en servir de la fonction doc-available(); et c'est très bien.

    [2] Pour des fichiers du type textuel (qui a une portée plus étendue que du type xml), on peut s'en servir de la fonction (xslt 2) unparsed-text-available() et c'est tout à fait satisfaisant en xslt 2.0.

    [3] Pour des fichiers du type binaire (qui a une portée bien-entendu beaucoup plus large), on ne peut s'en servir que de par des fonctionalités dit extension de xslt (1.0 comme 2.0) et ce serait dépendant des cas d'implémentation. Dans le cas Saxon (au fait aussi bien que java-xercès, ou c#/vb.net-System.Xml ou vb classique-msxml2...) cela devient bien commode et est tenu compte par son implémentation empaquetée. On peut lire pour entamer ces pages de xsl mailing-list.
    http://www.biglist.com/lists/lists.m.../msg00256.html

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AIR] Vérification de la présence d'un fichier
    Par ryaxx dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 07/06/2012, 00h03
  2. Réponses: 4
    Dernier message: 10/09/2010, 12h57
  3. [SSIS] [2K5] vérification de la présence des fichiers
    Par Monstros Velu dans le forum SSIS
    Réponses: 1
    Dernier message: 16/03/2010, 12h54
  4. Réponses: 12
    Dernier message: 29/04/2009, 00h05
  5. Tester la présence d'une image dans un fichier WORD
    Par porikito dans le forum Débuter
    Réponses: 1
    Dernier message: 05/12/2007, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo