J'utilise XSL pour afficher une représentation XML d'un message électronique dans les navigateurs. Les pièces jointes aux e-mails sont stockées dans des fichiers distincts dans le fichier XML de l'e-mail principal. Je souhaite donc que la page Web résultante de l'e-mail contienne un lien vers ses pièces jointes.Comment faire pour arrêter les URLs de désenchaînement XSL
Toutefois, certaines des pièces jointes sont des e-mails eux-mêmes, et peuvent avoir été vers l'avant ou des réponses et peuvent donc avoir des noms contenant des deux-points comme FW: Important. Le nom est protégé par l'URL FW% 3AImportant et enregistré en tant que fichier sous la forme FW% 3AImportant.xml.
Le problème est que l'URL dans ma page Web produite par XSL est non échappée et contient encore une fois les deux points (fichier: // FW: Important.xml) et est donc un lien brisé. Quel est le meilleur moyen d'arrêter ce comportement?
Voici l'extrait de code XML:
<email:part email:filename="FW%3AImportant">
<email:attachment filename="FW%3AImportant.xml">
FW%3AImportant.xml
</email:attachment>
</email:part>
Et voici l'extrait de XSL:
<xsl:template match="email:email/email:parts">
<xsl:for-each select="email:part/email:attachment">
<a>
<xsl:attribute name="href">
<xsl:value-of select="@filename" />
</xsl:attribute>
<xsl:value-of select="@filename" />
</a>
</xsl:for-each>
</xsl:template>
Cela a du sens, je vais essayer. J'avais déjà regardé cette feuille de style mais j'espérais une réponse plus simple! – jwaddell