Quelle est la meilleure façon d’inclure une entité HTML dans XSLT?
celui-ci renvoie une erreur XsltParseError
Vous pouvez utiliser la section CDATA
ou vous pouvez décrire & nbsp dans DTD local:
]>
ou utilisez simplement
au lieu de
Il est également possible d’étendre l’approche à partir de la deuxième partie de la réponse d’ aku et d’obtenir toutes les références de caractères connues, comme ceci:
%w3centities-f; ]> ... −30°
Il y a une certaine différence dans le résultat par rapport à
approche. Le dernier va produire des littéraux de chaîne comme
pour tout type de sortie, même pour
, et cela peut être différent de ce que vous pourriez souhaiter … Au contraire, obtenir les entités définies pour le modèle XSLT via produira toujours une sortie cohérente avec vos parameters
xsl:output
.
Il peut alors être judicieux d'utiliser un résolveur d'entités locales pour empêcher le moteur XSLT d'extraire les définitions d'entités de caractères d'Internet. JAXP ou les utilisateurs explicites de Xalan-J peuvent avoir besoin d’un correctif pour que Xalan-J utilise correctement le résolveur. Voir mon blog XSLT, entités, Java, Xalan ... pour le téléchargement des correctifs et des commentaires.
une autre possibilité d’utiliser des entités HTML depuis xslt est la suivante:
XSLT ne gère que les cinq entités de base par défaut: lt
, gt
, apos
, et amp
. Tous les autres doivent être définis comme des mentions @Aku .
celui-ci renvoie une erreur XsltParseError
Oui, et la raison en est que
n’est pas une entité prédéfinie en XML ou XSLT comme c’est le cas en HTML.
Vous pouvez simplement utiliser le caractère unicode qui
signifie:
Maintenant qu’il y a Unicode, il est généralement contre-productif d’utiliser des entités de caractères nommées. Je recommande d’utiliser le caractère Unicode pour un espace insécable au lieu d’une entité, juste pour cette raison. Vous pouvez également utiliser l’entité
; au lieu de l’entité nommée. L’utilisation d’entités nommées rend votre XML dépendant d’une DTD en ligne ou externe.
J’ai trouvé toutes ces solutions ont produit un personnage dans l’espace vide.
Utiliser
résolu le problème pour moi; mais
peut également fonctionner.
Merci pour vos informations. J’ai écrit un court article de blog basé sur ce qui a fonctionné pour moi pendant que je faisais la transformation XSLT dans un modèle du CMS Dynamicweb .
Le billet de blog est ici: Comment append des entités aux modèles XSLT .
/ Sten Hougaard
Il est nécessaire d’utiliser l’entité # x160;
Je n’ai pas eu de chance avec l’approche DOCTYPE d’Aku.
Qu’est-ce qui a fonctionné pour moi dans la transformation MSXML sur un serveur Windows 2003, était
 
Sorte d’un hybride de ce qui précède. Merci aux consortingbuteurs de Stackoverflow!
Un caractère d’espacement entre les balises de texte devrait suffire.