di Chiara Bettaglio RS Component GGD #12 – 14 maggio 2010 Xml Xls ed Excel per la produzione espressa di Html
May 19, 2015
di Chiara Bettaglio
RS Component
GGD #12 – 14 maggio 2010
Xml Xls ed Excel per la produzione espressa di Html
PRIMAPRIMA
CONTENUTI
DESIGNProduzione
REVIEW
CORREZIONICORREZIONI
PUBLISH
ORAORA
DESIGN
CONTENUTI ECORREZIONE
PUBLISH
I miei files!I miei files!
Uno script DOSUn file Excel
Una cartella con Fogli di stile XSL e databaseDei contenuti XML
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
XMLXML Mini database di informazioni
XSLTXSLT Foglio di stile per XML
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>
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!“/>
Individuo il mio contenutoIndividuo il mio contenuto
Testi
links
Valuta!
Path immagini!
anche quello nascosto!!
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
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
Mappo l’XML in ExcelMappo l’XML in Excel
Tasto export + macroTasto export + macroPrivate Sub Pulsante_Clic()
ActiveWorkbook.XmlMaps("page_mapping").Export URL:=ThisWorkbook.Path & "\bin\template.xml", Overwrite:=True
End Sub
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>
xHTML to XSLxHTML to XSL
<xsl:for-each select="page/homePage/featuredProds/box">
…………………………………….</xsl:for-each>
<xsl:if test="CurrencyPosition = 'after'"> <xsl:value-of select="$currency" disable-
output-escaping="no"/></xsl:if>
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;
Il batch…Il batch…<?xml version="1.0" encoding="utf-8"?><!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " "><!ENTITY copy "©"><!ENTITY reg "®"><!ENTITY trade "™"><!ENTITY mdash "—"><!ENTITY ldquo "“"><!ENTITY rdquo "”"> <!ENTITY pound "£"><!ENTITY yen "¥"><!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>
……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;
Non solo html… ad esempio… il Non solo html… ad esempio… il load!load!>>script.ftp ECHO USERNAME &cr;
>>script.ftp ECHO PASSWORD &cr;>>script.ftp ECHO ascii &cr;>>script.ftp ECHO CD BASE PATH DI CARICAMENTO &cr;>>script.ftp ECHO mkdir <xsl:value-of
select="page/campaignName"/> &cr;>>script.ftp ECHO CD BASE PATH DI
CARICAMENTO/<xsl:value-of select="page/campaignName"/>/&cr;
FOR %%f in (*.html, *.txt, *.css)do >>script.ftp ECHO put %%f&cr;>>script.ftp ECHO bye&cr;
FTP -v -s:script.ftp INDIRIZZO FTP SERVER &cr;
DEL script.ftp&cr;REM DEL *.html &cr;REM DEL *.txt &cr;GOTO End &cr;:End &cr;
start iexplore http://MIOSITO.COM
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
Distribuzione alle opcoDistribuzione alle opcoInserimentoContenuti localizzati
Preview / Correzione in Excel
Rerun del Template