XML vers XML sans elements vides [XSL] - Divers - Programmation
Marsh Posté le 22-11-2002 à 17:42:01
Voici une solution possible
Mais il reste un probleme a resoudre, les attributs
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ms="urn:schemas-microsoft-com:xslt" xmlns:user="userhtml">
<xsl:output method="xml"/>
<xsl:variable name="CR" select="string('
'"/>
<xsl:template match="*">
<xsl:value-of select="$CR"/>
<xsl:choose>
<xsl:when test="count(*|text()[string-length(normalize-space(.))>0])">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
<xsl:value-of select="$CR"/>
</xsl:when>
<xsl:otherwise/>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Marsh Posté le 21-11-2002 à 21:48:54
Je veux transformer (copier le contenu) un XML vers un autre XML en supprimant les elements vides.
Fichier d'entree
<?xml version="1.0" encoding="UTF-8"?>
<Data>
<Row>
<Rank>1</Rank>
<ID>142</ID>
<Name></Name>
</Row>
<Row>
<Rank>2</Rank>
<ID>200</ID>
<Name>David</Name>
</Row>
<Row>
<Rank>2</Rank>
<ID>200</ID>
<Name/>
</Row>
<Data>
Fichier de sortie:
<?xml version="1.0" encoding="UTF-8"?>
<Data>
<Row>
<Rank>1</Rank>
<ID>142</ID>
</Row>
<Row>
<Rank>2</Rank>
<ID>200</ID>
<Name>David</Name>
</Row>
<Row>
<Rank>2</Rank>
<ID>200</ID>
</Row>
<Data>
Que dois-je mettre dans mon fichier XSL ?
Merci