IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSLT] namespace ajouté intempestivement


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 4
    Points : 4
    Points
    4
    Par défaut [XSLT] namespace ajouté intempestivement
    Bonjour le groupe,

    J'utilise une XSLT pour reprendre le body d'une enveloppe SOAP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" 
    exclude-result-prefixes="env" >
    	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
        <xsl:for-each select="//env:Body">
    	<xsl:copy-of select="./*"/>
    	</xsl:for-each>
    	</xsl:template>
    </xsl:stylesheet>
    Voici l'enveloppe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <SOAP-ENV:Body>
          <saml:Assertion
    AssertionID="SM18e791077e1de3c50e6a77ac72cdeaa25061219445"
    IssueInstant="2008-04-03T09:56:02.169Z" Issuer="IssuerNotSpecifiedByTXM"
    MajorVersion="1" MinorVersion="0"
    xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">
             <saml:Conditions NotBefore="2008-04-03T09:56:02.169Z"
    NotOnOrAfter="2008-04-03T09:56:02.169Z"/>
             <saml:AuthenticationStatement
    AuthenticationInstant="2008-04-03T09:56:02.169Z"
    AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:unspecified">
                <saml:Subject>
                   <saml:NameIdentifier
    Format="urn:oasis:names:tc:SAML:1.0:assertion"
    NameQualifier="">minivom.user@TMCZ</saml:NameIdentifier>
                   <saml:SubjectConfirmation>
     
    <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches
    </saml:ConfirmationMethod>
     
    <saml:SubjectConfirmationData>XXXXXXXXXXXXuIUQ6bT0mirKqJ3aonDHa5CJeWt/eMnXsNUBHZHJUSWC/l5cpRJkuWZAiae42jKiar2fi5mxVEOs1vcQwrJg08ET0EGEbg+OSAtjvTLQn1TuDyzUZr1LBhCYV8YAGACgpkv/OR2w1WcZF6zkP+I2K93Q8OHBc9C7PkTz4uY3NuvNNNy+hL0U75lmhVkbR10DB3G711M5a5pJVYMTt+4pLmTBmBzsc2YVWCyUTi+0NsG8nZmqiqHKb1WPKTocBTjB0RPe4KHm3UJ3guE8id0zdby+7KKq2A5WsgV90QTJPbm2/ipGDbh7JQTMqwP1lgX7xMq/y5r96dZGY6WRHVZcri8f9mj9QqjEMpNpVn1rVT2uKS88cdPhOS4QujZMhIWf62zxaIbTcbUlSk3NfIzclqi5HtIqjQfxv8yhxM3syWfbhaZQyTk7jL+e8tklNMa/l0L4ani2MIwoVfxOt8CcSG/Xt4sXs81JsGxgJ6VeSdDp5DktlUZPwOPtrNYWh9gGdBKmtCo7dMO1UwC7NN4/sQhx3Rp1qduFTbiT29PQ+aQI9bDid7v/X7UynrdQWdxaqOSEhPVBb0jveviIE5zBSXevjmIx8AD/tYXTzuc7CijA5kz4N148Lpc8/tRn66lYqm3k2fqtjZ2kzFl1RZRXfvUNt0cVDVggPDcGLEAuAiw5yNZNX48unsq2g7DjLWgGyzvkrjZ2+X9vwtyAckj/BZP0nv7rHeAxGAjnRc9CCH/Bw40ITzjUbvtE5ep5EO+1vt2pWzfCuwofAJYHKHdz4aujMminjKUppKJzGyo=</saml:SubjectConfirmationData>
                   </saml:SubjectConfirmation>
                </saml:Subject>
             </saml:AuthenticationStatement>
          </saml:Assertion>
       </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    La XSLT fonctionne correctement sauf qu'en sortie, j'ai les namespaces de l'enveloppe qui sont ajouté (xmlns:SOAP-ENV, xmlnssd et xmlnssi) .

    XML de sortie.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <?xml version="1.0" encoding="UTF-8"?>
    <saml:Assertion AssertionID="SM18e791077e1de3c50e6a77ac72cdeaa25061219445" IssueInstant="2008-04-03T09:56:02.169Z" Issuer="IssuerNotSpecifiedByTXM" MajorVersion="1" MinorVersion="0" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    	<saml:Conditions NotBefore="2008-04-03T09:56:02.169Z" NotOnOrAfter="2008-04-03T09:56:02.169Z"/>
    	<saml:AuthenticationStatement AuthenticationInstant="2008-04-03T09:56:02.169Z" AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:unspecified">
    		<saml:Subject>
    			<saml:NameIdentifier Format="urn:oasis:names:tc:SAML:1.0:assertion" NameQualifier="">minivom.user@TMCZ</saml:NameIdentifier>
    			<saml:SubjectConfirmation>
    				<saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches
    </saml:ConfirmationMethod>
    				<saml:SubjectConfirmationData>XXXXXXXXXXXXuIUQ6bT0mirKqJ3aonDHa5CJeWt/eMnXsNUBHZHJUSWC/l5cpRJkuWZAiae42jKiar2fi5mxVEOs1vcQwrJg08ET0EGEbg+OSAtjvTLQn1TuDyzUZr1LBhCYV8YAGACgpkv/OR2w1WcZF6zkP+I2K93Q8OHBc9C7PkTz4uY3NuvNNNy+hL0U75lmhVkbR10DB3G711M5a5pJVYMTt+4pLmTBmBzsc2YVWCyUTi+0NsG8nZmqiqHKb1WPKTocBTjB0RPe4KHm3UJ3guE8id0zdby+7KKq2A5WsgV90QTJPbm2/ipGDbh7JQTMqwP1lgX7xMq/y5r96dZGY6WRHVZcri8f9mj9QqjEMpNpVn1rVT2uKS88cdPhOS4QujZMhIWf62zxaIbTcbUlSk3NfIzclqi5HtIqjQfxv8yhxM3syWfbhaZQyTk7jL+e8tklNMa/l0L4ani2MIwoVfxOt8CcSG/Xt4sXs81JsGxgJ6VeSdDp5DktlUZPwOPtrNYWh9gGdBKmtCo7dMO1UwC7NN4/sQhx3Rp1qduFTbiT29PQ+aQI9bDid7v/X7UynrdQWdxaqOSEhPVBb0jveviIE5zBSXevjmIx8AD/tYXTzuc7CijA5kz4N148Lpc8/tRn66lYqm3k2fqtjZ2kzFl1RZRXfvUNt0cVDVggPDcGLEAuAiw5yNZNX48unsq2g7DjLWgGyzvkrjZ2+X9vwtyAckj/BZP0nv7rHeAxGAjnRc9CCH/Bw40ITzjUbvtE5ep5EO+1vt2pWzfCuwofAJYHKHdz4aujMminjKUppKJzGyo=</saml:SubjectConfirmationData>
    			</saml:SubjectConfirmation>
    		</saml:Subject>
    	</saml:AuthenticationStatement>
    </saml:Assertion>
    Y aurait'il quelqu'un qui aurait une idée sur le sujet.

    Je vous en remercie d'avance.

    Bien à vous

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    J'oubliais. J'utilise XMLSPY pour faire ceci.

  3. #3
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    il semblerait que cela vienne de la façon dont le processeur XSLT de XMLSpy traite le copy-of : il définit dans le XML de sortie tous les espaces de noms "actifs" dans le sous-arbre recopié, sans se préoccuper s'ils sont effectivement utilisés ou nom.

    Une solution (à tester) serait de remplacer le copy-of par une recopie récurvise à l'aide de xsl:apply-templates et de xsl:element, mais il me semble que c'est une solution bien lourde juste pour deux espaces de noms qui ne pose pas plus de problèmes que ça...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

Discussions similaires

  1. [XSLT] namespace
    Par peyote dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 19/01/2010, 16h19
  2. Réponses: 4
    Dernier message: 01/10/2009, 08h42
  3. [XSLT] NameSpace dans Balise ?
    Par xiii34 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 03/04/2007, 09h44
  4. [XSLT]Namespace vide non conforme XHTML
    Par FlyByck dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/09/2006, 15h11
  5. [XSLT] Comment ajouter 1 minute ou 1 jour à une date
    Par crazzino dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 09/07/2006, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo