Posté(e) le 14 avril 200916 a Bonjour à tous, Je dois traiter un flux XML en en retirant certaines balises, et on me demande de faire ça en XSL-T plutôt qu'en DOM (pour permettre ensuite l'ajout/modification des feuilles XSL, sans avoir à toucher au code). J'ai donc par ex. ce flux XML : <?xml version="1.0" encoding="UTF-8"?> <response> <folder><![CDATA[SF_INBOX]]></folder> <nbMails>1</nbMails> <nbUnreadMessage>1</nbUnreadMessage> <mailHeader> <id> <folder><![CDATA[SF_INBOX]]></folder> <msgId>1</msgId> </id> <priority>3</priority> <subject><![CDATA[Bienvenue sur l\'E-mail OOPro!]]></subject> <from><![CDATA[noreply@noreply.myorangeoffice.com]]></from> <to><![CDATA[usermag-02@orangepro.fr]]></to> <cc></cc> <replyTo><![CDATA[noreply@noreply.myorangeoffice.com]]></replyTo> <phoneTo></phoneTo> <size>1481</size> <date>2009-02-10T12:04:48</date> <unread>TRUE</unread> <flagged>FALSE</flagged> <replied>FALSE</replied> <hasAttachment>FALSE</hasAttachment> <isCalendarEvent>false</isCalendarEvent> <oMessageType>email</oMessageType> </mailHeader> <sortBy>1</sortBy> <status> <code>100</code> <mnemo>OK</mnemo> </status> </response> Et je dois pour l'instant en retirer les balises "flagged" et "replied" (tout le reste ne bouge pas d'un iota). Ma question est donc : est-il possible de dire en XSL que l'on veut tout prendre sauf certaines balises ? Si oui, comment car google ne semble pas vouloir être mon ami. Merci bien.
Posté(e) le 14 avril 200916 a Auteur Oki, je me réponds à moi-même car j'ai finalement trouvé la solution : en fait, il fallait jouer avec "xsl:if", tout simplement. Le solution ressemble donc à ceci : <xsl:template match="@*"> <xsl:copy /> </xsl:template> <xsl:template match="*"> <xsl:if test="( name() != 'flagged' ) and ( name() != 'replied' )"> <xsl:element name="{name()}"> <xsl:apply-templates select="* | text() | @*" /> </xsl:element> </xsl:if> </xsl:template> Sur ce, je clos le sujet
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.