2009-12-14 4 views
3

Avec mon code XSL, chaque fois que je supprime un élément .. Il va introduire un espace de ligne vide dans la sortie xml .. ce qui gêne le Structure arborescente du XML .. Pouvez-vous me suggérer s'il vous plaît .. Comment se débarrasser de cela ..?

Voici échantillonner les codes des échantillons ..

XML Exemple:
XSLT: comment empêcher le code XSLT de générer un espace vide redondant dans la sortie xml

<tag1> 
    <tag1_1>text</tag1_1> 
    <tag1_2 delete="Y">text</tag1_2> 
    <tag1_3> 
    <tag1_3_1></tag1_3_1> 
    <tag1_3_2 delete="Y"> 
     <tag_child>text</tag_child> 
    </tag1_3_2> 
    </tag1_3> 
</tag1> 


XSLT Exemple:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" 
> 
    <xsl:output method="xml" indent="yes"/> 
    <xsl:template match="@* | node()"> 
     <xsl:copy> 
      <xsl:apply-templates select="@* | node()"/> 
     </xsl:copy> 
    </xsl:template> 
    <xsl:template match="//*[@delete='Y']"/> 
</xsl:stylesheet> 


XML résultant:

<tag1> 
    <tag1_1>text</tag1_1> 

    <tag1_3> 
    <tag1_3_1 /> 

    </tag1_3> 
</tag1> 
+0

Bonne question +1 –

Répondre

6

Vous pouvez utiliser xsl:strip-space:

<xsl:strip-space elements="*"/> 
+0

Thanx son fait !!!!!!! –

+0

Astuce très utile! Cela entre dans mon arsenal personnel. –