J'utilise une feuille de style XSLT pour créer un document Excel à partir d'un fichier XML. Une des valeurs que je suis en train de mettre en évidence, je veux l'afficher en majuscules. Comment est-ce possible?Feuille de style XSLT: modification du texte en majuscules
Répondre
XSLT 2.0 possède les fonctions fn: majuscule() et fn: minuscule(). Toutefois, dans le cas où vous utilisez de XSLT 1.0, vous pouvez utiliser la traduction():
<xsl:template match="/">
<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
<xsl:value-of select="translate(doc, $smallcase, $uppercase)" />
</xsl:template>
+1, bien que ce soit la même stratégie que ma réponse gardant les variables des lettres est certainement une solution plus réutilisable. – Welbog
Absolument beau et facile :) –
Vous pouvez utiliser la fonction translate()
dans XSLT 1.0:
<xsl:value-of select="translate(//some-xpath,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ')" />
Si vous êtes assez chanceux d'avoir accès à XSLT 2.0, vous pouvez utiliser la fonction upper-case()
:
<xsl:value-of select="upper-case(//some-xpath)"/>
Voir la XPath function reference page pour plus de détails.
+1 ;-) – Tomalak
Le nom d'Asker semble vaguement français ... qu'arrive-t-il à é? (désolé, je n'ai pas pu résister ...) – AakashM
@AakashM: C'est le problème avec la fonction 'translate()'. Vous devez spécifier toutes ces choses vous-même. 'upper-case()' est une bien meilleure option mais elle n'est pas suffisamment supportée. – Welbog
XPath 2.0 a fn:upper-case()
, qui effectue également les mappages de cas Unicode corrects.
Le moyen le plus et le plus propre à atteindre est le cas transforme par les moyens de CSS.
construire une classe, comme:
.upper { text-transform: uppercase; }
puis utilisez la classe span class:
<span class="upper">
<xsl:value-of select="myTextField" />
</span>
qui est tout :)
Vous pouvez également utiliser d'autres transformations:
text-transform: capitalize | uppercase | lowercase | none | inherit
Je crois que le PO créait un fichier Excel; pas HTML. –
Vous pouvez créer des fichiers Excel au format HTML. Je crois qu'il honorera CSS, mais je ne suis pas sûr à 100%. – iconoclast
Les solutions ne permettent pas la comparaison insensible à la casse des éléments de texte dans le document - ce qui est souvent la raison pour forcer le texte dans un cas unique et cohérent. Cette solution ne s'appliquera qu'au rendu de sortie du résultat. – Pekka
U SE Assemblée comme ceci:
<msxsl:script implements-prefix="user" language="C#">
<!--{%assembly%}-->
<![CDATA[
public string ToUpper(string stringValue)
{
string result = String.Empty;
if(!String.IsNullOrEmpty(stringValue))
{
result = stringValue.ToUpper();
}
return result;
}
]]>
</msxsl:script>
appel comme suit: select="user:ToUpper(//root/path)"
Ceci peut être utilisé en 1.0 ou 2.0.
Merci pour les modifications suggérées mech. – SparrowEatsHawk
- 1. Comment appliquer une feuille de style XSLT en C#
- 2. Modification de la couleur du lien en fonction de la fonction de feuille de style
- 3. Comment faire écho du texte en majuscules?
- 4. Fusionner plusieurs feuilles de style xslt
- 5. XSLT: consolider les feuilles de style
- 6. Firefox 3 n'applique pas ma feuille de style xslt, mais les autres navigateurs
- 7. Modification de valeurs avec XSLT
- 8. xslt - extraction des nœuds feuille
- 9. Possibilité d'ajouter une feuille de style XSLT à un document XML sérialisé?
- 10. Problème de feuille de style Umbraco- bizarre
- 11. Est-ce que le style de style Cufon peut entrer du texte et du texte?
- 12. Modification de la feuille de style dans le code de la page maître
- 13. ASP.NET MVC - Feuille de style dynamique
- 14. Grails NumberFormatException sur la feuille de style
- 15. Comment agrandir un certain style de texte?
- 16. Comment puis-je traduire le style GridView inline suivant en classes pour une feuille de style?
- 17. Définition du contenu d'une zone de texte en majuscules sur CurrentItemChanged
- 18. IDE pour les feuilles de style XSLT
- 19. Utilisation du contrôle WebBrowser Utilisation de la feuille de style liée dans DocumentText
- 20. wxPython TextCtrl transformer en MAJUSCULES
- 21. Feuille Excel avec transformation XSLT ... besoin de protection
- 22. comment passer un paramètre d'une URL à une feuille de style XSL en utilisant jQuery?
- 23. Comment convertir une chaîne en majuscules ou en minuscules avec XSLT?
- 24. Balise de feuille de style Google chrome link à l'exécution
- 25. texte extrait à l'aide de xslt
- 26. En XSLT, comment obtenir la date de création/modification du fichier XML?
- 27. Dois-je stocker tout le texte de ma base de données en majuscules ou en minuscules?
- 28. Modification du style des cellules individuelles dans une ligne datagridview
- 29. XSLT: Ajouter du texte à l'intérieur de la balise html
- 30. IE rendu incorrect du contenu dynamique jusqu'à ce qu'un changement de feuille de style soit effectué
duplication possible de [Comment puis-je convertir une chaîne en majuscules ou en minuscules avec XSLT?] (Http://stackoverflow.com/questions/586231/how-can-i-convert-a-string-to -upper-or-lower-case-with-xslt) – user