Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

21
di Chiara Bettaglio RS Component GGD #12 – 14 maggio 2010 Xml Xls ed Excel per la produzione espressa di Html

description

Presentazione alla Girl Geek Dinner #12 di Milano, una serata dedicata all'How to in formato Ignite

Transcript of Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

Page 1: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

di Chiara Bettaglio

RS Component

GGD #12 – 14 maggio 2010

Xml Xls ed Excel per la produzione espressa di Html

Page 2: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

PRIMAPRIMA

CONTENUTI

DESIGNProduzione

REVIEW

CORREZIONICORREZIONI

PUBLISH

Page 3: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

ORAORA

DESIGN

CONTENUTI ECORREZIONE

PUBLISH

Page 4: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

I miei files!I miei files!

Uno script DOSUn file Excel

Una cartella con Fogli di stile XSL e databaseDei contenuti XML

Page 5: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

I miei files!I miei files!

Un motore perprocessare l’XSLT

I fogli di stile XSLT

I miei contenuti in XML

Un file perle istruzioni

Page 6: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

XMLXML Mini database di informazioni

XSLTXSLT Foglio di stile per XML

Page 7: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

XSLT processorXSLT processor• Xalan/Xerces (Java, open source)

• Saxon (Java, open source)

• Altova XSLT Engine (C++, gratis)

• MS XML (C++, gratis)<XML>

<XML>

<XSLT>

<XSLT>

XALAN <HTML>

<HTML>

Page 8: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

xHTMLxHTML• I tag devono essere sempre chiusi• Nomi degli attributi in minuscolo • Valori degli attributi tra virgolette • Minimizzare gli attributi è proibito • Si usa l’ID invece che l’attributo name • Il DTD XHTML definisce alcuni elementi

obbligatori<td WIDTH=100% nowrap><br>

<td width="100%" nowrap=“nowrap"> <br/><image src=“img.gif“ alt=“ola!“/>

Page 9: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

Individuo il mio contenutoIndividuo il mio contenuto

Testi

links

Valuta!

Path immagini!

anche quello nascosto!!

Page 10: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

Creo un master XML con il mio Creo un master XML con il mio contenutocontenuto<?xml version="1.0" encoding="utf-8"?>

<page><store></store><campaignID></campaignID><spare1></spare1><spare2></spare2><title></title>

<container><box>

<image1></image1><image2></image2><linkText></linkText><linkTextURL></

linkTextURL><text></text>

</box><box>

<image1></image1><image2></image2><linkText></linkText><linkTextURL></

linkTextURL><text></text>

</box></container></page>

Elementi ricorrenti}Parametri come valuta,Nome campagna e il mercato di vendita

Eventuali testi, immagini, valori per attributi css

Page 11: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

Da XML a ExcelDa XML a Excel

Creo un file come fosse una maschera di inserimento dati per gli elementi che ho individuato in XML

Comprende etichette e valori in inglese che i vari mercati dovranno tradurre localmente

Page 12: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

Mappo l’XML in ExcelMappo l’XML in Excel

Page 13: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

Tasto export + macroTasto export + macroPrivate Sub Pulsante_Clic()

ActiveWorkbook.XmlMaps("page_mapping").Export URL:=ThisWorkbook.Path & "\bin\template.xml", Overwrite:=True

End Sub

Page 14: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

xHTML to XSLxHTML to XSL

<table width="100%" cellpadding="0" cellspacing="0"><tr><td class="header"> <xsl:value-of

select="page/homePage/LEDSlamp"/> </td></tr><tr><td class="content" style="padding:6px;"> <img

src="/{$store}/img/site/campaigns/{$cp}/{page/homePage/LEDSlampImg}" align="right"/>

<xsl:value-of select="page/homePage/LEDSlampTxt" disable-output-escaping="yes"/><br/>

<a href="{page/homePage/LEDSlampLink}"><strong><xsl:value-of

select="page/homePage/LEDSlampLinkTXT"/></strong></a></td></tr></table>

Page 15: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

xHTML to XSLxHTML to XSL

<xsl:for-each select="page/homePage/featuredProds/box">

…………………………………….</xsl:for-each>

<xsl:if test="CurrencyPosition = 'after'">&nbsp;<xsl:value-of select="$currency" disable-

output-escaping="no"/></xsl:if>

Page 16: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

Anche file di testo semplici!Anche file di testo semplici!title= <xsl:value-of

select="page/homePage/campaignTitle" />&cr;description= <xsl:value-of select="page/homePage/blurb" />

&cr;keywords= <xsl:for-each select="page/seo/keywords">

<xsl:value-of select="linkText"/>, </xsl:for-each>&cr;header=Y &cr;footer=Y &cr;

file:stylesheet=style.css &cr;

Page 17: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

Il batch…Il batch…<?xml version="1.0" encoding="utf-8"?><!DOCTYPE xsl:stylesheet [

<!ENTITY nbsp "&#160;"><!ENTITY copy "&#169;"><!ENTITY reg "&#174;"><!ENTITY trade "&#8482;"><!ENTITY mdash "&#8212;"><!ENTITY ldquo "&#8220;"><!ENTITY rdquo "&#8221;"> <!ENTITY pound "&#163;"><!ENTITY yen "&#165;"><!ENTITY cr "<xsl:text>

</xsl:text>">]><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="text" encoding="utf-8"/><xsl:template match="/">

………………………………………………………………………………………………………………………………………………………….

</xsl:template></xsl:stylesheet>

Page 18: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

……con le istruzionicon le istruzioni

• java -classpath bin\xalan.jar;bin\serialiser.jar org.apache.xalan.xslt.Process -IN bin\template.xml -XSL bin\home.xsl -OUT home.html &cr;

• java -classpath bin\xalan.jar;bin\serialiser.jar org.apache.xalan.xslt.Process -IN bin\template.xml -XSL bin\cp.xsl -OUT campaign.txt &cr;

• java -classpath bin\xalan.jar;bin\serialiser.jar org.apache.xalan.xslt.Process -IN bin\template.xml -XSL bin\text.xsl -OUT load.bat&cr;

Page 19: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

Non solo html… ad esempio… il Non solo html… ad esempio… il load!load!&#62;&#62;script.ftp ECHO USERNAME &cr;

&#62;&#62;script.ftp ECHO PASSWORD &cr;&#62;&#62;script.ftp ECHO ascii &cr;&#62;&#62;script.ftp ECHO CD BASE PATH DI CARICAMENTO &cr;&#62;&#62;script.ftp ECHO mkdir <xsl:value-of

select="page/campaignName"/> &cr;&#62;&#62;script.ftp ECHO CD BASE PATH DI

CARICAMENTO&#47;<xsl:value-of select="page/campaignName"/>&#47;&cr;

FOR &#37;&#37;f in (&#42;.html, &#42;.txt, &#42;.css)do &#62;&#62;script.ftp ECHO put &#37;&#37;f&cr;&#62;&#62;script.ftp ECHO bye&cr;

FTP -v -s:script.ftp INDIRIZZO FTP SERVER &cr;

DEL script.ftp&cr;REM DEL &#42;.html &cr;REM DEL &#42;.txt &cr;GOTO End &cr;:End &cr;

start iexplore http://MIOSITO.COM

Page 20: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

Il Clickme.batIl Clickme.bat

java -classpath bin\xalan.jar;bin\serialiser.jar org.apache.xalan.xslt.Process -IN bin\template.xml -XSL bin\batch.xsl -OUT doAll.bat

call doAll.batcall load.bat

del doAll.batdel load.bat

del *.htmldel *.txt

Page 21: Xml Xls ed Excel per la produzione espressa di Html - Chiara Bettaglio

Distribuzione alle opcoDistribuzione alle opcoInserimentoContenuti localizzati

Preview / Correzione in Excel

Rerun del Template