Sta usando xml + xsl per creare un email html settimanale un'idea buona o cattiva?

0

Il ragazzo che si occupa delle nostre email html se ne sta andando e mi è stato chiesto di prendere il comando. Siamo un rivenditore online e inviamo un'email una volta alla settimana. Un'e-mail consisterà in un'immagine principale, un po 'in un paragrafo di apertura e quindi in righe di offerte di prodotti.

Come tutti sanno, le e-mail in html sono dolorose con cui lavorare a causa dell'ars e dei CSS arcaici che devi gestire. Quando qualcosa deve cambiare all'ultimo minuto è un vero dolore attraversare gli spaghetti di td's per raggiungere il link che ha bisogno del suo url e il codice di monitoraggio cambia e le opportunità di commettere un errore sono molte.

Quindi ho deciso di creare un file xml composto da tutti i dati che devono essere inseriti nell'e-mail. Ad esempio, i prodotti verrebbero registrati in questo modo:

<products>
    <product id="1">
        <title>My Product</title>
        <image width="160px" height="160px">
            <alt>My Product</alt>
            <url>http://somedomain.com/emails/image1.jpg</url>
        </image>
        <link>
            <term>my_term_for_google_analytics</term>
            <url>http://somedomain.com/products/1</url>
        </link>
    </product>
    <product id="2">
        <title>My Second Product</title>
             ... etc ...
    </product>
</products>

Potrei quindi utilizzare un modello xslt per creare l'email. Il vantaggio di questo è che quando un prodotto non è più disponibile la mattina che l'e-mail è in uscita, posso semplicemente modificare un po 'di testo nel file xml , generare l'html e siamo a posto. Posso anche usare lo stesso xml per creare un microsito per l'email. Il problema è che ho avuto un buon vecchio Google su questo e non riesco a trovare nessun altro che abbia mai provato questo. Quindi sono un genio visionario o un idiota. Di solito si scopre che sono un idiota, quindi nessun altro ha avuto esperienza nella creazione di e-mail html da xml utilizzando xslt o qualcuno può vedere le principali insidie con questo approccio. È una buona idea?

Disclaimer - Non penso davvero di essere un potenziale genio visionario.

    
posta MrMisterMan 04.11.2011 - 11:49
fonte

5 risposte

5

Utilizziamo i modelli XSLT per trasformare XML in HTML per i report in ogni momento. Funziona bene, ma come qualsiasi altra cosa si può prendere troppo lontano. Mantieni la semplicità o ti ritroverai con un XSLT piuttosto fuori mano che nessuno può capire.

    
risposta data 04.11.2011 - 14:08
fonte
6

Trasformare l'XML in HTML è una pratica abbastanza normale. Quindi sì, è una buona idea, ma no non sei un genio. :)

    
risposta data 04.11.2011 - 12:07
fonte
3

Avere un formato XML intermedio ti servirà nel modo giusto. In primo luogo, perché con XSLT sarai in grado di ricreare in modo pulito una email HTML, e in secondo luogo, perché avrai il tuo contenuto XML pulito pronto se qualsiasi altra applicazione ne ha bisogno. Inoltre, XSLT è perfetto per quel lavoro.

Una sola osservazione sul tuo "microsito".

  1. Ricorda che quasi tutte le applicazioni di posta elettronica ora impediscono il funzionamento di JavaScript (e ActiveX), come misura di sicurezza. Quindi Nessun Javascript . Ho provato a farlo fino a quando ho finalmente cercato su google e ho capito che non avrebbe mai funzionato.
  2. Usa CSS in linea e, per il resto, ricorda che alcuni dei tuoi clienti potrebbero avere versioni precedenti di Internet Explorer (utilizzate da Outlook per renderle) e, in quanto tali, la tua e-mail potrebbe non sembrare come dovrebbe essere con i browser moderni. Ad esempio, ho Outlook 2003.
  3. Ci sono altre cose da sapere di quali puoi vedere qui , ma la cosa più importante per me è assicurarmi di proporre una versione alternativa in testo semplice . Poiché utilizzerai XSLT, potresti fare una buona scelta scrivendo un altro script per trasformarlo in testo normale.
risposta data 04.11.2011 - 14:25
fonte
2

È una buona idea avere un formato XML intermedio, ma usare XSLT per generare file HTML è così 1999 .. potrebbe essere una scelta migliore per usare un motore di template come Velocity , Spark View Engine , Rasoio , StringTemplate ecc. a seconda della tecnologia utilizzata. Sono sicuro che li troverai molto più facili da usare rispetto alla bestia mostruosa che è XSLT ...

    
risposta data 04.11.2011 - 14:29
fonte
2

Nel tuo caso, XSLT agisce come un semplice motore di template.

Quindi è una buona idea usare un motore di template nel tuo caso?

Completamente! Hai già messo in evidenza diversi vantaggi nella tua domanda: essere in grado di modificare il contenuto senza dover affrontare l'HTML e viceversa, o essere in grado di utilizzare lo stesso contenuto sia per le e-mail che sul sito web (anche se, per quanto riguarda le prestazioni, tu può prendere in considerazione l'utilizzo di un vero database per il sito web, dal quale produrre XML attraverso la serializzazione).

Ora, è una buona idea usare XSLT per i tuoi modelli?

Dipende. Alcuni sviluppatori lo trovano 1999y; altri lo odiano così tanto che potrebbero usarlo indipendentemente da ciò che non è XSLT; altri conoscono abbastanza bene l'XSLT, si divertono e lo usano spesso.

Dipende anche dalle altre tecnologie utilizzate. Se il tuo sito web è in PHP, perché non utilizzare Smarty o altri motori di template che ti consentono di scrivere un codice più leggero rispetto a XSLT? Se si utilizza .NET Framework, è possibile prendere in considerazione Razor, un motore di template utilizzato nei siti Web MVC di ASP.NET.

    
risposta data 04.11.2011 - 16:30
fonte

Leggi altre domande sui tag