retrouver la ligne

Terence SINDABIZERA <[email protected]>
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
Bonjour à tous
   
  Je suis coincé dans les pattes de XML. Mon problème est le suivant:
  J'ai deux documents XML
  premier : "original.xml" le voici:
   
  <?xml version="1.0" encoding="UTF-8"?>
  <personnes>
           <personne>
                <nom>Jean</nom>
                <prenom>Claude</prenom>
          </personne>
   
          <personne>
                 <nom>Christian</nom>
                 <prenom>Médic</prenom>
          </personne>
  </personnes>
   
  le second: "copie.xml" le voici:
  <?xml version="1.0" encoding="UTF-8"?>
  <personnes>
           <personne>
                  <nom>Jean</nom>
                  <prenom>Claude</prenom>
           </personne>
   
           <personne>
                 <nom>Paul</nom>
                <prenom>Mener</prenom>
          </personne>
  </personnes>
   
  J'aimerai comparer les deux fichiers et savoir la ligne qui n'est pas identique à l'original dans le cas ou les deux fichiers sont semblable.
  Mon fichier XSLT est le suivant:
   
    <?xml version="1.0" encoding="UTF-8"?>
          <xsl:stylesheet version="1.0" 
                xmlns :xsl=http://www.w3.org/1999/XSL/Transform
                xmlns:msxml="urn:schemas-microsoft-com:xslt"       
                extension-element-prefixes="msxml">
              <xsl:variable name="original">
                      <xsl:copy-of select="document('or.xml')"/>
              </xsl:variable>
              <xsl:variable name="copie">
                      <xsl:copy-of select="document('co.xml')"/>
              </xsl:variable>
   
              <xsl:template match="/">
                    <xsl:choose>
                            <xsl:when test="count(msxml:node-set($original)//personne)
                                                  =count(msxml:node-set($copie)//personne)">
                                    <xsl:for-each select="msxml:node-set($copie)//personne">
                                            <xsl:choose>
                                                  <xsl:when test=" current()=msxml:node-set($original)//personne">
                                                  </xsl:when>
                                                  <xsl:otherwise>
                                                      <xsl:text>Ressemblance oui, mais Erreur d'ecriture</xsl:text><br/>
                                                 </xsl:otherwise>
                                            </xsl:choose>
                                     </xsl:for-each>
                         </xsl:when>
                         <xsl:otherwise>
                                  Pas de resemblance
                         </xsl:otherwise>
                   </xsl:choose>
           </xsl:template>
  </xsl:stylesheet>
  Je n'arrive pas à afficher la ligne qui fait différence. 
   
  Merci de la réponse que vous allez me fournir
   
  Terence

		
---------------------------------
 Faites de Yahoo! votre page d'accueil sur le web pour retrouver directement vos services préférés : vérifiez vos nouveaux mails, lancez vos recherches et suivez l'actualité en temps réel. Cliquez ici.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.