Hier zijn al meerdere topics over geweest, maar ik kom er toch niet uit.
Ik ben bezig met een site te maken waarbij ik XML en XSLT gebruik. Het is de bedoeling dat er UBB-like code bij in de database kan om tekst op te maken. vb [ B ]Tekst in bold[ /B ]. Dit wordt dan omgezet naar <bold>Tekst in bold</bold>. Dus de XML ziet er ongeveer zo uit:
Nu wil ik met behulp van een XSLT template dit omzetten naar:
Hier een tekst Tekst in bold Nog een zin...
En nu komt het probleem: ik geraak niet verder dan dit:
Tekst in boldHier een tekst Tekst in bold Nog een zin...
Mijn XSLT:
Mijn probleem is dus dat ik er niet in slaag om de vette tekst tussen mijn andere tekst te houden. Is het mogelijk om dit op te lossen met behulp van een template match? of wil ik nu iets dat niet kan?
Ik zou het toch op deze manier willen klaarkrijgen omdat ik van mening ben dat in mijn XML geen html tags moeten staan, maar dat dit thuis hoort in de XSLT.
Ik ben bezig met een site te maken waarbij ik XML en XSLT gebruik. Het is de bedoeling dat er UBB-like code bij in de database kan om tekst op te maken. vb [ B ]Tekst in bold[ /B ]. Dit wordt dan omgezet naar <bold>Tekst in bold</bold>. Dus de XML ziet er ongeveer zo uit:
code:
1
2
3
4
| <root> ..... <content>Hier een tekst <bold>Tekst in bold</bold> Nog een zin...</content> </root> |
Nu wil ik met behulp van een XSLT template dit omzetten naar:
Hier een tekst Tekst in bold Nog een zin...
En nu komt het probleem: ik geraak niet verder dan dit:
Tekst in boldHier een tekst Tekst in bold Nog een zin...
Mijn XSLT:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| <?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="root">
<html>
<head>
[ ..... ]
</head>
<body>
<div id="container">
[ ..... ]
<div id="body">
<table>
<tr><td><xsl:apply-templates select="Content"/> </td></tr>
</table>
</div>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="Content">
<xsl:apply-templates select="bold"/>
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="bold">
<b><xsl:value-of select="."/></b>
</xsl:template>
</xsl:stylesheet> |
Mijn probleem is dus dat ik er niet in slaag om de vette tekst tussen mijn andere tekst te houden. Is het mogelijk om dit op te lossen met behulp van een template match? of wil ik nu iets dat niet kan?
Ik zou het toch op deze manier willen klaarkrijgen omdat ik van mening ben dat in mijn XML geen html tags moeten staan, maar dat dit thuis hoort in de XSLT.