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 :

suppression new line


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 11
    Points : 8
    Points
    8
    Par défaut suppression new line
    Bonjour,
    j'ai une feuille xsl de la forme suivante :

    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
    <balise1>
       <xsl:for-each select="unElement">
           <xsl:if test="maCondition">
    	   <balise2>
    	       	text
    	    </balise2>
            </xsl:if>
       </xsl:for-each>
    </balise1>
    qui me génère la sortie suivante :
     
    <balise1>
      <balise2>
          text
      </balise2>
     
     
     
     
     
     
    </balise1>
    Je voudrais pouvoir supprimer les insertions des lignes vides.
    Quelqu'un aurait il une idée ?
    Merci.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 557
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 557
    Points : 21 616
    Points
    21 616
    Par défaut
    Avec mes tests à moi, cette feuille de style n'insère pas de telles lignes vides.

    Peux-tu donner une XSLT complète qui a ce problème, et dire quel est le moteur XSLT*utilisé ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 11
    Points : 8
    Points
    8
    Par défaut suppression de ligne
    Voici le xsl que j'utilise en entrée de la classe org.apache.xalan.xslt.Process depuis une tâche ant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <target name="Output_Generic" description="format the dependency graph to get the ${componantName}-uses.xml">
    	<record name="log.txt" action="start"/>
    	<java classname="org.apache.xalan.xslt.Process" classpathref="class.path">
    		<arg value="-IN"/>
    		<arg value="fileToProcess.xml"/>
    		<arg value="-OUT"/>
    		<arg value="output.xml"/>
    		<arg value="-XSL"/>
    		<arg value="maFeuilleXSL.xsl"/>
    	</java>
    	<record name="log.txt" action="stop"/>
    </target>

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="no"/>
    <xsl:strip-space elements="*"/>
     
        <xsl:template match="/">
    	<xsl:text>
    	</xsl:text>
    	<uses xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="uses.xsd">
    	<xsl:attribute name="name">marketingViewWeb</xsl:attribute>
    	<xsl:text>
    	</xsl:text>
    	<xsl:for-each select="dependencies/package">
    	        <xsl:variable name="packageName" select="name"/>
    		<xsl:for-each select="class">
     
    			<xsl:variable name="ClassName" select="name"/>
    			<xsl:variable name="bc_Name" select="substring-after(name,concat($packageName,'.'))"/>
    				 <balise1>
    				<xsl:attribute name="name"><xsl:value-of select="$bc_Name"/></xsl:attribute>
    				<xsl:text>
    				</xsl:text>	
    				<xsl:for-each select="feature">
    					<xsl:variable name="classPlusServiceName" select="substring-before(name,'(')"/>
    					<xsl:variable name="packageClassNamePlusPoint" select="concat($ClassName,'.')"/>
    					<xsl:variable name="method" select="substring-after($classPlusServiceName,$packageClassNamePlusPoint)"/>
    					<!--  les methodes des base ne sont pas affichés ici -->
    					<xsl:if test="not(starts-with(name, 'com.base.'))">
    						<balise2>
    							<xsl:attribute name="name"><xsl:value-of select="$method"/></xsl:attribute>
    						</balise2>
    					</xsl:if>
    					<xsl:text>	
    					</xsl:text>
    				</xsl:for-each>
    				<xsl:text>	
    				</xsl:text>
    			</balise1>
            </uses>
        </xsl:template>
    </xsl:stylesheet>
    Merci pour votre aide.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 557
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 557
    Points : 21 616
    Points
    21 616
    Par défaut
    Sur ce forum, pense à utiliser la balise [code]. Le petit # dans la barre d'actions.

    Je ne sais pas ce que les
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:text>
    </xsl:text>
    viennent faire ici, mais c'est à cause d'eux, et surtout à cause d'eux dans les xsl:for-each et hors des xsl:if, que tu as toutes ces nouvelles lignes.

    Tu as déjà indent='yes', tout cela est inutile.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Ah oui merci
    Par contre je n'arrive pas a obtenir des tabulations correctes de la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <balise1>
        <balise2/>
        <balise2/>
        <balise2/>
        <balise2/>
    </balise1>
    j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <balise1>
    <balise2/>
    <balise2/>
    <balise2/>
    <balise2/>
    </balise1>
    l'ajout d'une tabulation devant chaque balise2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:text>	</xsl:text><service>
    supprime les retour a la ligne
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <balise1>
     <balise2/>  <balise2/>  <balise2/>  <balise2/>
    </balise1>

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    une coquille dans mon message précédent j'aurais du écrire :

    l'ajout d'une tabulation devant chaque balise2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:text> </xsl:text><balise2>

Discussions similaires

  1. [SAX] Gestion des new Line, tabulations
    Par plume78 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 19/05/2009, 12h13
  2. New Line avec fgets
    Par Haknaton dans le forum Linux
    Réponses: 0
    Dernier message: 03/02/2009, 13h48
  3. [Cygwin] new line
    Par zais_ethael dans le forum C++
    Réponses: 3
    Dernier message: 09/07/2008, 15h50
  4. [C#] Tab, et new line dans une TextBox ou un Label
    Par papouAlain dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/06/2006, 17h32
  5. drawString et "\n" ou new line dans Awt
    Par F Barbier dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 25/05/2006, 21h04

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