codice:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text"/>
<!-- TODO customize transformation rules
syntax recommendation http://www.w3.org/TR/xslt
-->
<xsl:template match="photos">
<xsl:apply-templates mode="insert-to-photos" select="photo" />
</xsl:template>
<xsl:template mode="insert-to-photos" match="photo">
<xsl:text>INSERT INTO ricerca_grezza (`id_tabella`, `server`, `id`, `owner`, `secret`, `farm`, `title`) VALUES("</xsl:text>
<xsl:number />
<xsl:text>","</xsl:text>
<xsl:value-of select='@server' />
<xsl:text>","</xsl:text>
<xsl:value-of select='@id' />
<xsl:text>"," </xsl:text>
<xsl:value-of select='@owner' />
<xsl:text>","</xsl:text>
<xsl:value-of select='@secret' />
<xsl:text>","</xsl:text>
<xsl:value-of select='@farm' />
<xsl:text>","</xsl:text>
<xsl:value-of select='@title' />
<xsl:text>");
</xsl:text>
</xsl:template>
</xsl:stylesheet>
Che genera una risposta in formato text importabile su database Mysql
codice:
<?xml version="1.0"?>
INSERT INTO ricerca_grezza (`id_tabella`, `server`, `id`, `owner`, `secret`, `farm`, `title`) VALUES("1","3364","5708266284"," 33698318@N02","72d3ae46fb","4","IMG_3606");
INSERT INTO ricerca_grezza (`id_tabella`, `server`, `id`, `owner`, `secret`, `farm`, `title`) VALUES("2","3631","5707689559"," 62601294@N03","ab0038a4ca","4","Untitled");
INSERT INTO ricerca_grezza (`id_tabella`, `server`, `id`, `owner`, `secret`, `farm`, `title`) VALUES("3","3527","5708252806"," 40598741@N00","423f1fa37c","4","The Maycat!");
INSERT INTO ricerca_grezza (`id_tabella`, `server`, `id`, `owner`, `secret`, `farm`, `title`) VALUES("4","3071","5708263002"," 33698318@N02","9acd36245a","4","IMG_3605");
INSERT INTO ricerca_grezza (`id_tabella`, `server`, `id`, `owner`, `secret`, `farm`, `title`) VALUES("5","2458","5707689267"," 58037963@N00","7962fae502","3","Gatta o gallina?");
INSERT INTO ricerca_grezza (`id_tabella`, `server`, `id`, `owner`, `secret`, `farm`, `title`) VALUES("6","2107","5708259926"," 33698318@N02","ee00722242","3","IMG_3598");
INSERT INTO ricerca_grezza (`id_tabella`, `server`, `id`, `owner`, `secret`, `farm`, `title`) VALUES("7","2725","5707691339"," 40598741@N00","f9b36ca2cf","3","The Maycat!")
Solo 2 cose non mi sono ancora riuscite, eliminare <?xml version="1.0"?> dalla prima linea del file .sql e eseguire direttamente da php il file .sql sto usando codeigniter, se carico il file come parametro in una funzione insert($file = '.\percorso\file.sql') ottengo un errore di sintassi 1064, se copio è incollo il codice generato su phpMyadmin questo non avviene, leggendo su internet sembra sia una "limitazione" di codeigniter e nn sia possibile eseguire più d una query alla volta, effettivamente questo è corretto perchè modificando il file sql e tenendo solo una query di INSERT, il file viene caricato correttamente nel database, qualche soluzione / idea ?