<?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="directory"> <div>List of Employee<xsl:value-of select="@directory"/> </div> <br/> <table> <tr> <td>Employee Name</td> <td>Contact Details</td> </tr> <xsl:apply-templates select="employee"></xsl:apply-templates> </table> </xsl:template> <xsl:template match="employee"> <tr> <td> <xsl:value-of select="@name"/> </td> <td> <xsl:value-of select="@phone"/> </td> </tr> </xsl:template> </xsl:stylesheet>
3 Réponses :
Je peux voir trois façons de faire cela, lequel est le meilleur (ou si l'une d'entre elles est une alternative) dépend du moment et de la manière dont vous avez besoin du XML final:
construisez la XSL programmatiquement forte > p> Construire le XSL en utilisant par exemple xmldocument - Vous pouvez ensuite utiliser des ressources de chaîne régulières pour remplir les étiquettes et utiliser éventuellement les paramètres de culture de votre application. P> Embedd La traduction dans XSL strong> P> Utilisez un Mettez les traductions dans un document XML de son propre puis chargez-lui du contenu avec: p>
pour dire à la transformation Quelle langue utiliser, puis mettre un
traduction.xml code> : p>
J'irais pour quelque chose de similaire mais avec
et le touche () code> une fonction> fonction forte>. p>
Le texte dans un XSLT peut être localisé en lisant les chaînes traduites d'un document XML. Les chiffres peuvent également être localisés. P>
Le document XML peut contenir une langue avec un document XML pour chaque langue ou, dans la variante, un document XML unique avec toutes les langues. Les formats XML dans l'exemple suivant suit les fichiers Microsoft .NET Resource (.resx) (un fichier par langue) ou un document unique TMX (Exchange de la mémoire de traduction) avec toutes les langues. Toutefois, n'importe quel format peut être utilisé tant que la XPath utilisée pour lire le texte est cohérente. P>
Les deux options utilisent la fonction XPath ' Voir mon article " Comment localiser XSLT " pour un échantillon complet et fonctionnel à http://www.codeproject.com/articles/338731/LocalizeXSLT . P > document code>' pour lire le XML avec les chaînes traduites. Définissez les paramètres de chaque chaîne utilisée dans le XSLT. L'utilisation de paramètres plutôt que des variables permet de remplacer les valeurs lorsque le XSLT est transformé. Utilisez
xsl: valeur-de code> pour afficher le texte traduit. Lorsque la transformation est traitée, passez le code de langue, par exemple «FR» et l'URL au document XML de ressources pour la langue souhaitée. P>
Voulez-vous rendant des fichiers HTML XML pour toutes les cultures possibles à la fois ou avez-vous besoin d'une seule d'entre elles en fonction de la configuration?
Je dispose de nombreux fichiers XML et XSLT .... Vous ne pouvez donc pas créer plusieurs fichiers XSLT pour chaque culture .... donc je préférerais aller pour une solution alternative afin que je n'ai pas besoin de créer plusieurs fichiers pour chaque culture ....
Bonne question, +1. Consultez ma réponse pour un lien vers une solution de XSLT pure détaillée et efficace.