J'ai écrit du code pour vérifier si Document_Name__c de merge1.xml n'existe pas dans Document_Name__c à partir de merge2.xml alors j'ai besoin de toutes les données dans ce cas uniquement à partir de merge1 selon la sortie attendue. XSL:Dans XSL, vérifiez si le nom de fichier n'existe pas dans un autre fichier ne fonctionne pas?
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0">
<xsl:output method="xml" indent="yes"/>
<xsl:param name="XMLMerge2" select="document('merge2.xml')"/>
<xsl:template match="objects">
<objects>
<xsl:for-each select="Alert__c">
<xsl:variable name="Email_from_merge1" select="Document_Name__c"/>
<xsl:if
test="
exists($XMLMerge2/objects/Data__c[Document_Name__c
!= $Email_from_merge1])">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:if>
</xsl:for-each>
</objects>
</xsl:template>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
Entrée: Merge1.xml --- XSL, je me sers d'ici.
<objects>
<Alert__c>
<Document_Name__c>aaa.pdf</Document_Name__c>
<CreatedDate>2017-06-19T10:55:56.000Z</CreatedDate>
</Alert__c>
<Alert__c>
<Document_Name__c>file 1.pdf</Document_Name__c>
<CreatedDate>2017-06-15T10:55:56.000Z</CreatedDate>
</Alert__c>
<Alert__c>
<Document_Name__c>VICS_810_004010_US.pdf</Document_Name__c>
<CreatedDate>2017-06-09T06:24:56.000Z</CreatedDate>
</Alert__c>
<Alert__c>
<Document_Name__c>aa.csv</Document_Name__c>
<CreatedDate>2017-06-14T14:26:49.000Z</CreatedDate>
</Alert__c>
</objects>
Merge2.xml --- en XSL, j'utilise d'ici.
<?xml version="1.0" encoding="UTF-8"?>
<objects>
<Data__c>
<Id>a0J3900000KNEqTEAX</Id>
<Document_Name__c>VICS_810_004010_US.pdf</Document_Name__c>
</Data__c>
<Data__c>
<Id>a0J3900000KNEqVEAX</Id>
<Document_Name__c>file 1.pdf</Document_Name__c>
</Data__c>
</objects>
Sortie prévue:
<objects>
<Alert__c>
<Document_Name__c>aaa.pdf</Document_Name__c>
<CreatedDate>2017-06-19T10:55:56.000Z</CreatedDate>
</Alert__c>
<Alert__c>
<Document_Name__c>aa.csv</Document_Name__c>
<CreatedDate>2017-06-14T14:26:49.000Z</CreatedDate>
</Alert__c>
</objects>
Ne nous dites pas qu'il ne fonctionne pas, dites-nous comment elle échoue. Quel résultat obtenez-vous? –
J'ai corrigé la mise en forme de merge1.xml et la sortie attendue, mais essayer de faire la même chose sur merge2.xml révèle que le fichier n'est pas bien formé en XML. Il est donc impossible de vous aider puisque les données que vous avez fournies sont clairement incorrectes. –
Maintenant, les données sont bien forme – NL1