en quoi la racine et son namespace influencent-t-ils la transformation ?
Bonjour,
Je viens de découvrir quelque chose que je ne comprends pas. Qui pourrait m'expliquer ?
<!-- en fait, il y a beaucoup de choses que je ne comprends pas dans la vie mais, pour le moment, limitons nous à celle-ci -->
J'ai le fichier XML suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?xml version="1.0" encoding="UTF-8"?>
<dataroot xmlns:od="urn:schemas-microsoft-com:officedata" generated="2017-11-21T09:39:16">
<CstmrDrctDbtInitn>
<ID_FK>35</ID_FK>
<GrpHdr>
<ID_FK>35</ID_FK>
<MsgId>A0000000035</MsgId>
<CreDtTm>2017-11-21T09:39:16</CreDtTm>
<NbOfTxs>8</NbOfTxs>
<CtrlSum>8417.73</CtrlSum>
</GrpHdr>
</CstmrDrctDbtInitn>
</dataroot> |
Il contient deux balises ID_FK que je désire éliminer.
J'applique la transformation xslt suivante
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?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"/>
<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates select="node()"/>
</xsl:copy>
</xsl:template>
<!-- je supprime toutes les balises ID_FK -->
<xsl:template match="//ID_FK"/>
</xsl:stylesheet> |
et cela fonctionne parfaitement : mes balises ID_FK disparaissent.
Maintenant, j'applique la même transformation xslt sur le fichier XML suivant qui, à part la ligne racine, est identique
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?xml version="1.0" encoding="UTF-8"?>
<Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:iso:xxxxx">
<CstmrDrctDbtInitn>
<ID_FK>35</ID_FK>
<GrpHdr>
<ID_FK>35</ID_FK>
<MsgId>A0000000035</MsgId>
<CreDtTm>2017-11-21T09:39:16</CreDtTm>
<NbOfTxs>8</NbOfTxs>
<CtrlSum>8417.73</CtrlSum>
</GrpHdr>
</CstmrDrctDbtInitn>
</Document> |
et dans ce cas-ci, les deux balises ID_FK ne disparaissent pas ! Pourquoi ????????
La seule différence du deuxième fichier XML est la racine <Document xmlns: xsi="http://www.w3.org/200...
Pourquoi ma transformation ne fonctionne-t-elle pas ?
Auriez-vous la bonté de bien vouloir m'expliquer. Je ne veux pas mourir idiot.
D'avance, merci.