10
votes

Localisation XSLT

J'ai suivi du fichier XML suivant: -
<?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 commentaires

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.


3 Réponses :


7
votes

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

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.

Embedd La traduction dans XSL

Utilisez un pour dire à la transformation Quelle langue utiliser, puis mettre un à chaque chaîne: xxx

Recherchez les traductions dans le cadre de la transformation

Mettez les traductions dans un document XML de son propre traduction.xml : xxx

puis chargez-lui du contenu avec: xxx < p> ... et accéder à: xxx


1 commentaires

J'irais pour quelque chose de similaire mais avec où $ traduction est le fichier tenant des traductions de la langue choisie; Ensuite, vous n'avez pas besoin de la partie linguistique du prédicat pour sélectionner une chaîne. En outre, sélectionnez la chaîne souhaitée dans le fichier de traduction à l'aide des touches.



0
votes

voir ma réponse à Cette question de questions , détaillant comment utiliser efficacement un Table de recherche stockée sous forme de document XML extéral séparé, via et le touche () fonction .


0 commentaires