Je me bats avec ce qui devrait être un simple XSL: Copiez le updateResponse du message ci-dessous (note: Je dois syntaxe XPath 1.0 pour ma compatibilité du système d'intégration):XPATH Challenge - Vous souhaitez copier un élément intérieur
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:enterprise.soap.sforce.com" xmlns:n="urn:enterprise.soap.sforce.com">
<soapenv:Body>
<updateResponse>
<result>
<id>001S000000J1Bu0IAF</id>
<success>true</success>
</result>
</updateResponse>
</soapenv:Body>
</soapenv:Envelope>
Je veux simplement la structure de résultat soit:
<updateResponse xmlns="urn:enterprise.soap.sforce.com">
<result>
<id>001S000000J1Bu0IAF</id>
<success>true</success>
</result>
</updateResponse>
Je suis en mesure de copier les objets de savon, mais je ne suis pas réussi à copier les enfants du soapenv: élément du corps. La première copie de fonctionne pour Body, mais la seconde ne résout pas le XPATH. Mon éditeur de requêtes xpath de l'outil XMLSPY dit que xpath est valide, mais le XSL ne se résout pas.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:urn="enterprise.soap.sforce.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<xsl:namespace-alias stylesheet-prefix="soapenv" result-prefix="foo"/>
<xsl:template match="/">
<xsl:apply-templates select="/soapenv:Envelope/soapenv:Body/urn:updateResponse"/>
</xsl:template>
<xsl:template match="/soapenv:Envelope/soapenv:Body/urn:updateResponse">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
Quelles expressions avez-vous essayé qui n'ont pas fonctionné? –