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] Convertir toutes les noms de balise en minuscule ?


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut [XSLT] Convertir toutes les noms de balise en minuscule ?
    Salut à tous,

    comment faire celà ?

    je ne trouve pas la fonction me permettant de parcourir tout mon fichier XML, balise par balise ?

    Ainsi, grâce à cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    translate (chaîne, 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')
    je pourrais faire ma conversion.

    Une idée ?
    Quand on n'a pas d'tête, on a ...

  2. #2
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Bon j'ai essayé comme cela :

    id_1231.xml

    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
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="test.xslt"?>
    <ROOT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="profil.xsd">
    	<NUM_AUTO></NUM_AUTO>
    	<PROFIL>
    		<IDENTITE>
    			<CIVILITE></CIVILITE>
    			<NOM></NOM>
    			<PRENOM></PRENOM>
    			<DATE_NAISS></DATE_NAISS>
    			<LIEU_NAISS></LIEU_NAISS>
    			<DEPARTEMENT></DEPARTEMENT>
    			<NATIONALITE></NATIONALITE>
    			<STATUT></STATUT>
    		</IDENTITE>
    		<COORDONNEES>
    			<NUMERO></NUMERO>
    			<VOIE></VOIE>
    			<CP></CP>
    			<VILLE></VILLE>
    			<PAYS></PAYS>
    			<TEL></TEL>
    			<PORT></PORT>
    			<FAX></FAX>
    			<COURRIEL></COURRIEL>
    		</COORDONNEES>
    		<PRESENTATION></PRESENTATION>
    	</PROFIL>
    </ROOT>
    test.xslt

    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
    <?xml version='1.0'?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="xml"/>
    	<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'"/>
    	<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
     
    	<xsl:template match="/">
    		<xsl:apply-templates/>
    	</xsl:template>
     
    	<xsl:template match="@*">
    		<xsl:copy-of select="."/>
    	</xsl:template>
     
    	<xsl:template match="*">
    		<xsl:variable name="name" select="translate(local-name(), $uppercase , $lowercase) "/>
    		<xsl:element name="{$name}" namespace="namespace-uri()">
    				<xsl:apply-templates/>
    		</xsl:element>
    	</xsl:template>
     
    </xsl:stylesheet>
    mais mon fichier XML source n'est pas modifié ?

    Une idée ?
    Quand on n'a pas d'tête, on a ...

  3. #3
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    inverse $lowercase et $uppercase dans ta fonction translate...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  4. #4
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Bien vu ! Ca me prend tellement la tête que je fais des erreurs stupides !

    Mais malheureusement, et comme depuis des jours, ça ne fonctionne pas !

    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
    <?xml version='1.0'?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="xml"/>
    	<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'"/>
    	<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
     
    	<xsl:template match="/">
    		<xsl:apply-templates/>
    	</xsl:template>
     
    	<xsl:template match="@*">
    		<xsl:copy-of select="."/>
    	</xsl:template>
     
    	<xsl:template match="*">
    		<xsl:variable name="name" select="translate(local-name(), $lowercase , $uppercase) "/>
    		<xsl:element name="{$name}" namespace="namespace-uri()">
    				<xsl:apply-templates/>
    		</xsl:element>
    	</xsl:template>
     
    </xsl:stylesheet>
    Je lance mon fichier xml via un navigateur web (firefox ou ie) mais celui-ci n'execute pas ma mise en forme (mon xslt !) ?!
    Quand on n'a pas d'tête, on a ...

  5. #5
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Bon bah j'ai éditer manuellement tout mes fichiers et j'ai modifié chaque balise une par une !!!

    Si jamais quelqu'un arrive à faire tourner ce script ...

    Gôm
    Quand on n'a pas d'tête, on a ...

Discussions similaires

  1. [XSLT] Prefixer toutes les balises d'un XML
    Par thepugn1 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/12/2010, 10h56
  2. [XSLT] Changer les noms de balise lors de la fusion
    Par toxine dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 25/01/2006, 09h47
  3. [XSLT] comment afficher tous les noms de balises
    Par stanilas dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/11/2005, 22h24
  4. Réponses: 8
    Dernier message: 05/04/2005, 22h17
  5. [XML] Accent dans les noms de balises
    Par virgul dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 09/03/2005, 13h42

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