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] Problème de namespace


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 77
    Points
    77
    Par défaut [XSLT] Problème de namespace
    Bonjour,

    Dans un fichier ExcelML, je doit aller chercher des infos le problème c'est que je n'arrive pas a entrer dedans tant qu'il y a des namespace déclaré.

    Je m'explique soit le xml:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0"?>
    <?mso-application progid="Excel.Sheet"?>
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
    	<Worksheet ss:Name="Sheet1">
    		<Table ss:ExpandedColumnCount="16" ss:ExpandedRowCount="49" x:FullColumns="1" x:FullRows="1" ss:StyleID="s23" ss:DefaultColumnWidth="63.75" ss:DefaultRowHeight="13.5">
    			<Column ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="45"/>
    			<Column ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="235.5"/>
    			<Column ss:Index="4" ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="93"/>
    			<Column ss:Index="11" ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="180.75"/>
    			<Row>
    			</Row>
    		</Table>
    	</Worksheet>
    </Workbook>
    En que je lui applique ce XSLT ou j'ai déclaré les memes namespace que le word dans la balise xsl:stylesheet:
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
    	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    	<xsl:variable name="NextRef">38</xsl:variable>
    	<xsl:template match="/">
    		<xsl:apply-templates select="Workbook"/>
    	</xsl:template>
    	<xsl:template match="Workbook">
    		<Exemple>Value</Exemple>
    	</xsl:template>
    </xsl:stylesheet>
    Ca ne marche pas!!

    Par contre si j'enlève les namespace de Workbook :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0"?>
    <?mso-application progid="Excel.Sheet"?>
    <Workbook>
    	<Worksheet ss:Name="Sheet1">
    		<Table ss:ExpandedColumnCount="16" ss:ExpandedRowCount="49" x:FullColumns="1" x:FullRows="1" ss:StyleID="s23" ss:DefaultColumnWidth="63.75" ss:DefaultRowHeight="13.5">
    			<Column ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="45"/>
    			<Column ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="235.5"/>
    			<Column ss:Index="4" ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="93"/>
    			<Column ss:Index="11" ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="180.75"/>
    			<Row>
    			</Row>
    		</Table>
    	</Worksheet>
    </Workbook>
    La ca Marche et ca me renvoie ma balise Exemple.

    Pouvez-vous me dire qu'es-ce que je fais de faux?

    Merci

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Cela vient du fait qu'un des namespaces est déclaré comme étant par défaut, c'est-à-dire sans préfixe, par xmlns="...".

    L'élément Exemple ne fait pas partie de ce schéma d'où l'embrouille... Il faudrait lui attribuer un namespace spécifique ou dire qu'il n'en a pas par <Exemple xmlns="">

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 77
    Points
    77
    Par défaut
    Bonjour et merci pour votre réponse,
    Citation Envoyé par alain.couthures Voir le message
    Cela vient du fait qu'un des namespaces est déclaré comme étant par défaut, c'est-à-dire sans préfixe, par xmlns="...".

    L'élément Exemple ne fait pas partie de ce schéma d'où l'embrouille... Il faudrait lui attribuer un namespace spécifique ou dire qu'il n'en a pas par <Exemple xmlns="">
    Mais je voit pas du tout le rapport entre le fait qu'il ne va pas dans le template Workbook et la déclaration de la balise Exemple?

    Car si j'essaye avec ce XSLT:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:ns1="http://totot.com">
    	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    	<xsl:template match="/">
    		<xsl:apply-templates select="Workbook"/>
    	</xsl:template>
    	<xsl:template match="Workbook">
    		<ns1:Exemple xmlns:ns1="http://totot.com">Value</ns1:Exemple>
    	</xsl:template>
    </xsl:stylesheet>
    Car ne change rien au résultat.

    Mon problème vient du fait qu'il ne rentre pas dans le template workbook malgré le fait qu'il passe dans l'apply-template du même nom.

    Ou bien je comprends mal ce que vous me dites?

    Merci

Discussions similaires

  1. [SAX] [XSLT] Problème transformation XSL avec SAX et namespace
    Par thierry_b dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 17/12/2008, 14h24
  2. [XSLT]Problème de namespace sur un export XMi (UML 2.1/XMi 2.1)
    Par CocoRambo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 25/06/2007, 09h50
  3. [PHP][XSLT] problème caractères accentués
    Par beho dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 29/05/2006, 09h29
  4. [XSLT]Problèmes d'ordre de lecture et d'écriture
    Par leup dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/07/2005, 10h36
  5. [XSLT] Problème de chemin d'accès + XSLT
    Par Jorus dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 15/09/2004, 08h36

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