Bonjour, all
Dernièrement, j'ai donc appris l'usage de l'attribut exclude-result-prefix.
Neanmoins dans le cas d'un template 'html', les sorties d'élèments se font avec l'inclusion de l'attribut xmlns:xlink ... pourquoi dans ce cas, cela ne fonctionne pas comme prévu !?
ma sortie XSL :
mon fichier XML est codé ainsi :
En effet, lors de la sortie XSLT, l'élément img prend l'attribut xmlns:xlink ...
Résultat, pour la validation W3C, cela n'est pas bon !
Comment puis-je lui faire "comprendre" ?
Dernièrement, j'ai donc appris l'usage de l'attribut exclude-result-prefix.
Neanmoins dans le cas d'un template 'html', les sorties d'élèments se font avec l'inclusion de l'attribut xmlns:xlink ... pourquoi dans ce cas, cela ne fonctionne pas comme prévu !?
ma sortie XSL :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/1999/xlink"
exclude-result-prefixes="xlink #default">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes" standalone="yes" media-type="text/xml" />
<xsl:template name="html" match="img" xmlns="http://www.w3.org/1999/xhtml">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="link">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
</xsl:stylesheet>
mon fichier XML est codé ainsi :
<?xml version="1.0" encoding="UTF-8"?>
<affiliate>
<title>Affiliation</title>
<link xlink:href="http://url.com" xlink:title="title d'url.com" xmlns:xlink="http://www.w3.org/1999/xlink">
<img class="logo" src="/img/Logo_145px.png" width="145" height="103" alt="Logo de l'association" />
</link>
</affiliate>
En effet, lors de la sortie XSLT, l'élément img prend l'attribut xmlns:xlink ...
Résultat, pour la validation W3C, cela n'est pas bon !
Comment puis-je lui faire "comprendre" ?