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

  1. #1
    Nouveau Candidat au Club
    Problème lors de l'importation d'un fichier XML dans Filemaker avec feuille de style xslt
    Bonjour, je voudrais bien de l'aide pour résoudre ce problème:

    J'ai un fichier XML que je veux importer dans une base de données FileMaker et pour cela, je dois faire une feuille de Style xslt.

    J'ai réussi à la faire et elle marche plutôt bien mais mes xml ont un détail qui m'empêche de faire une correcte importation.

    Voilà le début de mon XML:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="utf-8"?>
    <FacturaElectronica xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/facturaElectronica"
                                 xmlns<img src="images/smilies/icon_mad.gif" border="0" alt="" title=":x" class="inlineimg" />si="http://www.w3.org/2001/XMLSchema-instance" 
                                 xmlns<img src="images/smilies/icon_mad.gif" border="0" alt="" title=":x" class="inlineimg" />sd="http://www.w3.org/2001/XMLSchema">                          
      <Clave>50620032000030239096000100001010000000972137713176</Clave>


    Le problème c'est le xmlns qui se trouve juste après <FacturaElectronica (xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/facturaElectronica")

    Je veux que mon xslt ne prenne pas en compte xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/facturaElectronica" car les données ne s'importent pas.

    Voilà mon xslt et je voudrais savoir si je peux insérer un code pour ne pas le prendre en compte dans mon importation.

    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
    30
    <?xml version='1.0' encoding='UTF-8'?>
    <xsl:stylesheet version="1.0"
    	  xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/facturaElectronica" xmlns<img src="images/smilies/icon_mad.gif" border="0" alt="" title=":x" class="inlineimg" />sd="http://www.w3.org/2001/XMLSchema" xmlns<img src="images/smilies/icon_mad.gif" border="0" alt="" title=":x" class="inlineimg" />si="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
    	  extension-element-prefixes="xsd xsi ds"
    	  exclude-result-prefixes="xsd xsi ds"
    	  xmlns<img src="images/smilies/icon_mad.gif" border="0" alt="" title=":x" class="inlineimg" />sl="http://www.w3.org/1999/XSL/Transform">
    	  <xsl:template match="/">
            <FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult"> 
    		<ERRORCODE>0</ERRORCODE> 
                <METADATA>
                    <FIELD NAME="Proveedor" TYPE="TEXT"/>
                    <FIELD NAME="Factura" TYPE="TEXT"/>
                    <FIELD NAME="Fecha" TYPE="TEXT"/>
                </METADATA>
                <RESULTSET>
                    <ROW>
                        <COL>
                            <DATA><xsl:value-of select="FacturaElectronica/Emisor/Nombre"/></DATA>
                        </COL>
                        <COL>
                            <DATA><xsl:value-of select="FacturaElectronica/NumeroConsecutivo"/></DATA>
                        </COL>
                        <COL>
                            <DATA><xsl:value-of select="FacturaElectronica/FechaEmision"/></DATA>
                        </COL>
                    </ROW>
                </RESULTSET>
            </FMPXMLRESULT>
        </xsl:template>
    </xsl:stylesheet>


    merci d'avance..

  2. #2
    Membre émérite
    Je n'ai trop compris du problème et de la déclarlations comme "J'ai réussi à la faire et elle marche plutôt bien ..." parce que le xslt ne devrait pas même trouver les données attendues ...

    Mais si vous voulez on peut essayer plutôt comme ça avec le xslt présenté comme base qui prend même un formatage sans indentation ?!
    Code xslt1 :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
    30
    <?xml version='1.0' encoding='UTF-8'?>
    <xsl:stylesheet version="1.0"
    xmlns:ns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/facturaElectronica" xmlnssd="http://www.w3.org/2001/XMLSchema" xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
    extension-element-prefixes="xsd xsi ds"
    exclude-result-prefixes="xsd xsi ds ns"
    xmlnssl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
    <FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult"> 
    <ERRORCODE>0</ERRORCODE> 
    <METADATA>
    <FIELD NAME="Proveedor" TYPE="TEXT"/>
    <FIELD NAME="Factura" TYPE="TEXT"/>
    <FIELD NAME="Fecha" TYPE="TEXT"/>
    </METADATA>
    <RESULTSET>
    <ROW>
    <COL>
    <DATA><xsl:value-of select="ns:FacturaElectronica/ns:Emisor/Nombre"/></DATA>
    </COL>
    <COL>
    <DATA><xsl:value-of select="ns:FacturaElectronica/ns:NumeroConsecutivo"/></DATA>
    </COL>
    <COL>
    <DATA><xsl:value-of select="ns:FacturaElectronica/ns:FechaEmision"/></DATA>
    </COL>
    </ROW>
    </RESULTSET>
    </FMPXMLRESULT>
    </xsl:template>
    </xsl:stylesheet>

    Faites attention aux ns inserés ici ou là.

  3. #3
    Nouveau Candidat au Club
    Merci beaucoup tsuji, ça marche!! le problème est résolu. J'ai pu importer l'XML avec votre aide.. encore un grand merci..