Changer de police en XML à l'aide de XSLT
Je suis nouveau sur XSLT. Je suis en train de modifier la taille de police d'un texte spécifique dans le fichier XML à l'aide de XSLT. Pour exemple, j'ai des CDCatalog.xml fichier avec les données suivantes.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="cdcat.xsl"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist><SmallText>Bob Dylan</SmallText><LineBreak/>*</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
et la cdCat.Fichier XSL est-
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:include href="cdCatalog.xsl" /> <!-- I added this -->
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td>
<xsl:value-of select="title" />
</td>
<td>
<xsl:value-of select="artist" />
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
J'ai ajouté un nouveau fichier xsl cdCatalog.Fichier XSL avec les détails suivants-
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="LineBreak">
<br/>
</xsl:template>
<xsl:template match="Superscript">
<sup>
<xsl:value-of select="."/>
</sup>
</xsl:template>
<xsl:template match="SmallText">
<font size="1">
<xsl:value-of select="."/>
</font>
</xsl:template>
</xsl:stylesheet>
et inclus ce fichier dans le CDCat.fichier xsl.et ajouté les balises - <smallText>
, <LineBreak>
dans le CdCatalog.xml fichier. maintenant, quand j'ouvre le fichier xml, je ne vois pas le saut de ligne ni la taille de la police de la différence. Quelqu'un peut s'il vous plaît suggérer, si je suis en manque de quelque chose.
Merci d'avance
Sai
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser apply-templates pour indiquer l'endroit où votre modèle correspond devrait prendre effet.
XML ne dit rien au sujet de la présentation, c'est l'ensemble de point. C'est un données format.
Si vous voulez que votre XSLT à la sortie de quelque chose où la présentation des questions je vous suggère de le transformer en HTML et me laisse HTML/CSS gérer le style.
Avoir vu votre code maintenant (astuce: utiliser la mise en forme lors de la création de questions) ne pas utiliser l'étiquette de police. Ce que vous voulez de la sémantique et dans la pratique est juste en-têtes
<h1>
,<h2>
,<h3>
etc, et je voudrais encore vous recommandons d'ajouter un lien CSS là. Oh, et<xsl:output method="html" />
Entre ces deux balises d'ouverture:
...Je l'avais placer un lien vers une feuille de style qui définit la taille de la police. Sinon (et utile si vous souhaitez un autonome fichier HTML e-mail autour de), vous pouvez mettre un bloc de style il ya lieu.