8
votes

Xslt ne me permet pas d'utiliser des balises IMG et BR auto-fermeture

J'ai des XSLT qui sont rendus dans la SITECORE 6 CMS, mais je ne pense pas que cette question soit spécifique au produit.

Si j'ai une étiquette IMG ou BR auto-fermeture, comme si:

<br>
<img src="your.example.com">


0 commentaires

3 Réponses :


12
votes

C'est bien bien. Vous choisissez HTML et Les balises sont autorisées dans HTML. Choisissez XML, puis vous aurez ce que vous voulez.

Et oui, vous devez utiliser la méthode XML si vous souhaitez des étiquettes de fermeture automatique. Je suppose que vous voulez une sortie XHTML et XHTML est un document XML.


3 commentaires

Notez que si vous avez ceci dans votre XSL: < / XSL: Élément>, il sera remplacé par wich n'est pas accepté par les navigateurs ...


puisque xslt 2.0 Vous pouvez spécifier également XHTML comme méthode de sortie: .


Sitecore 6.5.0 ne prend toujours pas en charge la méthode XHTML.



5
votes

En haut de votre feuille de style, vous pouvez spécifier pour utiliser XML comme format de sortie et vous pouvez également définir un DOCTYPE spécifique, par exemple:

<xsl:output method="xml" 
    media-type="text/html" 
    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
    doctype-system="DTD/xhtml1-strict.dtd"
    cdata-section-elements="script style"
    indent="yes"
    encoding="UTF-8"/>


0 commentaires

6
votes

Lorsque vous obtenez des balises de fermeture automatique travaillant, vous pouvez exécuter des bugs impairs. Voici quelques exemples:

Il y a quelques années dans IE, ma page de rendement complète était vide, mais la source d'affichage a montré le HTML complet. Le problème était une balise de titres à fermeture automatique ( code>). P>

Aussi, des balises de script auto-fermeture ( CODE>) Peut provoquer les fichiers JavaScript à ne pas charger, donc à l'intérieur de votre XSLT, vous devrez peut-être avoir du texte à l'intérieur de la balise de script pour le protéger de soi et le faire fonctionner. P>

<script src="code.js>//</script>


3 commentaires

Afair ceci (sans texte):