3

J'ai un certain nombre d'applications écrites en différentes langues (Java, JavaScript, PHP, etc.). Leurs couches de vue/présentation affichent des choses dans différents formats: HTML, texte brut, etc.Syntaxe du template/config universel

Je souhaite afficher des données textuelles/numériques à peu près de la même manière dans chaque application. Bien sûr, le résultat serait légèrement différent selon le format de sortie (par exemple, si vous produisez en HTML, vous devrez exécuter des fonctions de codage HTML, et si vous produisez du texte en clair, vous devrez ignorer choses comme des liens.)

Je pensais donc stocker les informations de formatage dans un langage de configuration abstrait. Ensuite, chaque application peut analyser les informations de formatage, les convertir en code dans sa propre langue et exécuter le code pour générer le texte affiché.

Par exemple:

 
    Welcome <username>. 
    Your balance is <balance format:usDollars>. 
    <if returning>You last logged in on <lastLoginDate format:m/d/Y></if> 

Ma question est: dois-je inventer une telle syntaxe à partir de zéro? Ou existe-t-il un langage de mise en forme/formatage existant qui soit fait pour être multi-plateforme?

Répondre

2

Je vous recommande d'examiner XSLT et de transmettre les données au format XML. C'est pour cela que XSLT a été créé (vous pouvez convertir en texte brut ou en HTML, et la plupart des langages grand public ont des bibliothèques XSLT.)

+1

Cela sonnait comme une assez bonne idée. Cependant, j'ai passé les dernières heures à essayer d'obtenir XSLT faire quelque chose aussi simple que le formatage d'une date, et je suis prêt à casser quelque chose, aucune des bibliothèques "standard" comme EXSLT, FunctX, ou xsltsl ne semble fonctionner ... Je vais continuer à essayer, bien que ... –

+0

Yikes :( Sur le bon côté, si cela fonctionne, vous aurez une encoche majeure XSLT sur votre CV. +1 pour persistance! – DVK