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 :

[XSLT] Extraction des informations à partir du chemin vers un fichier


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 42
    Points : 26
    Points
    26
    Par défaut [XSLT] Extraction des informations à partir du chemin vers un fichier
    Bonjour,

    J'ai une structure XML m'indiquant notamment un nom de fichier ( complet avec le chemin ) du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    <fichier>c:/monrepertoire/monfichier.doc</fichier>
    ...
    Je cherche à pouvoir extraire l'extension de " monfichier " ( qui sera les 3 derniers caractères ) et le nom " court " de ce fichier ( " monfichier.doc" ici ). Ma question est donc comment manipuler cette chaine pour pouvoir récupérer ces " données ?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Voila qui donne le basename et l'extension.

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:template match="//fichier">
    	<result>
    	<xsl:variable name="ext" select="substring-after(.,'.')"/>
     
     
    		<ext><xsl:value-of select="$ext" /></ext>
    		<basename>
    			<xsl:call-template name = "substring-after-last" >
    	       		<xsl:with-param name="value" select="substring-before(.,'.')" />
    	       		<xsl:with-param name="pattern" select="'/'" />
    	       </xsl:call-template>
           </basename>
        </result>
    	</xsl:template>
     
    	<xsl:template name="substring-after-last">
    	  <xsl:param name="value" />
    	  <xsl:param name="pattern" />
    	  <xsl:variable name="substr" select="substring-after($value,$pattern)"/>
    	  <xsl:choose>
    	  	<xsl:when test="$substr=''"><xsl:value-of select="$value" /></xsl:when>
    	  	<xsl:otherwise>
               <xsl:call-template name = "substring-after-last" >
               		<xsl:with-param name="value" select="$substr" />
               		<xsl:with-param name="pattern" select="$pattern" />
               </xsl:call-template>
            </xsl:otherwise>
    	  </xsl:choose>
    	</xsl:template>
    </xsl:stylesheet>

Discussions similaires

  1. extraction des informations à partir d'une page web
    Par mouned dans le forum Développement Web en Java
    Réponses: 5
    Dernier message: 09/01/2010, 19h24
  2. extraction des information à partir d'une page web
    Par sitws dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 07/01/2010, 12h20
  3. Récuperation des informations à partir d'une conf Cisco
    Par francois3004 dans le forum Programmation et administration système
    Réponses: 0
    Dernier message: 07/08/2007, 21h18
  4. Réponses: 3
    Dernier message: 27/04/2007, 17h31
  5. Réponses: 4
    Dernier message: 19/03/2006, 16h20

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