Ik ben bezig met een op XML-gebaseerde forum uitbreiding (hier een voorbeeld van een xml-topiclijst). Nu moet een topic zelf natuurlijk ook te bekijken zijn met XML. De view.php genereerd de volgende XML:
Binnen <message> en </message> kunnen dus andere HTML-tags voorkomen. Het probleem is dat deze XML-XSL-combinatie het totaal niet doet in Mozilla. Verder krijg ik het niet voor elkaar om tekst die bold is gemaakt (en dus met <b> en </b> in <text> en </text> staat) ook werkelijk er bold te laten uitzien. Ik kan in m'n view.xsl wel een template maken dat op "b" matcht, maar dan verdwijnt de andere tekst die niet tussen een tag staat. De xsl ziet er nu zo uit:
Wie kan mij vertellen hoe ik de HTML tussen <text> en </text> ook daadwerkelijk als HTML in de output krijg en hoe ik dit in Mozzila aan de praat krijg?
HTML:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| <?xml version='1.0' ?><?xml-stylesheet type="text/xsl" href="view.xsl"?><viewtopic> <topic> <title>Belangrijk: DE EXIT KNOP</title> <id>61</id> <forumid>1</forumid> <forumname>Geemz Forum</forumname> <posts>2</posts> <status>-1</status> <pages>0.08</pages> <limit>25</limit> </topic> <message> <id>159</id> <online> Offline </online> <postername>ToMmY</postername> <posterid>1</posterid> <subtitle>BOFH</subtitle> <text> geblaat met HTML ertussen </text> <time>17 September 2002 21:41:7</time> </message> <message> <id>180</id> <online> Offline </online> <postername>ToMmY</postername> <posterid>1</posterid> <subtitle>BOFH</subtitle> <text> [img]"smiles/hamer.gif"[/img] </text> <time>19 September 2002 14:18:15</time> </message> </viewtopic> |
Binnen <message> en </message> kunnen dus andere HTML-tags voorkomen. Het probleem is dat deze XML-XSL-combinatie het totaal niet doet in Mozilla. Verder krijg ik het niet voor elkaar om tekst die bold is gemaakt (en dus met <b> en </b> in <text> en </text> staat) ook werkelijk er bold te laten uitzien. Ik kan in m'n view.xsl wel een template maken dat op "b" matcht, maar dan verdwijnt de andere tekst die niet tussen een tag staat. De xsl ziet er nu zo uit:
HTML:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
| <?xml version='1.0' encoding="UTF-8" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" xmlns="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!-- <xsl:output method="html" indent="yes" encoding="UTF-8"/> --> <!-- <xsl:variable name="path-prefix">http://localhost/</xsl:variable> --> <xsl:template match="/"> <html > <head> <title><xsl:value-of select="/viewtopic/topic/title"/></title> <link rel="stylesheet" type="text/css" href="../include/default.css" /> </head> <body> <center> <table class="MainTable" align="center" cellpadding="0" cellspacing="0"> <style> A.HeaderLink { color:#000000; font-weight:bold; text-decoration:none; width:75px; text-align:center; } A.HeaderLink:Hover{ color:#000000; } </style> <tr> <td class="TopHeader" colspan="2"></td> </tr> <tr> <td class="BottomHeader" colspan="2"> <a class="HeaderLink" href="../../index.php">Home</a> <a class="HeaderLink" href="../../my.php">My.Geemz</a> <!-- if not logged in --> <a class="HeaderLink" href="../login.php">Login</a> <a class="HeaderLink" href="../register.php">Registreren</a> <!-- else --> <!-- <a class="HeaderLink" href="logout.php" style="width:150px;">Ingelogd als <?php echo $session_user ?></a> --> <a class="HeaderLink" href="index.php">Community</a> <a class="HeaderLink" href="../../reviews.php">Reviews</a> <a class="HeaderLink" href="../../games.php">Games</a> <a class="HeaderLink" href="../../all_news.php">Nieuws</a> </td> </tr> <tr> <td class="TopTab"> [img]"../images/pijltje.gif"/> [/img]Index</a> <a> <xsl:attribute name="href"> topics.php?id=<xsl:value-of select="/viewtopic/topic/forumid"/> </xsl:attribute> <xsl:value-of select="/viewtopic/topic/forumname"/></a> <xsl:value-of select="/viewtopic/topic/title"/> </td> <td class="TopArea"> <!-- if logged in --> <a href="logout.php">[img]'../images/logout.gif'[/img]</a> <!-- else --> <!-- <a href="register.php">[img]'../images/register.gif'[/img]'/></a> <a href="login.php">[img]'../images/login.gif'[/img]'/></a> --> <a href="../mod_listusers.php" alt="Gebruikerslijst">[img]"../images/profile.gif"[/img]</a> <a href="../search.php">[img]'../images/search.gif'[/img]</a> <a href="../faq.php">[img]'../images/faq.gif'[/img]</a> <a href="../index.php">[img]'../images/home.gif'[/img]</a> </td> </tr> <tr> <td class="MainArea" colspan="2"> <table width="780"> <xsl:apply-templates /> </table> </td> </tr> </table> </center> </body> </html> </xsl:template> <xsl:template match="topic"> <th>Titel</th> <th colspan="2">Poster</th> </xsl:template> <xsl:template match="/viewtopic"> <xsl:apply-templates /> </xsl:template> <xsl:template match="message"> <tr> <td class="GrayLeft" style="width:100px;vertical-align:top;text-align:left;font-weight:normal;padding-left:3px;border-bottom:solid 1px #CCCCCC;" rowspan="2"> <b> <xsl:value-of select="postername"/> </b><br/> <xsl:value-of select="subtitle"/> </td> <td style="border-bottom:solid 1px #CCCCCC;border-left:solid 1px #CCCCCC;color:#CCCCCC;"> Door <xsl:value-of select="postername"/> <xsl:value-of select="time"/> </td> <td align="right" style="border-bottom:solid 1px #CCCCCC;color:#CCCCCC;"> <a> <xsl:attribute name="href"> ../newreply.php?quote=<xsl:value-of select="id"/>&topic=<xsl:value-of select="/viewtopic/topic/id"/> </xsl:attribute> [img]'../images/down.gif'[/img]</a> <a href="../profile.php?id=">[img]'../images/profile.gif'[/img]</a> <a href="../edit.php?mid=">[img]'../images/write_message.gif'[/img]</a> <a href="mod_remove_post.php?id=">[img]"../images/delete.gif"[/img]</a> <a href="notes.php?id=">[img]'../images/notes.gif'[/img]</a> <?php } ?> </td> </tr> <tr> <td class="GrayLeft" style="height:200px;vertical-align:top;border-bottom:solid 1px #CCCCCC;font-weight:normal;width:620px;text-align:left;" colspan="2"> <xsl:apply-templates /> </td> </tr> </xsl:template> <xsl:template match="text"> <xsl:value-of /> </xsl:template> <xsl:template match="br"> <br/> </xsl:template> <xsl:template match="img"> <img> <xsl:attribute name="src"> <xsl:value-of select="src"/> </xsl:attribute> </img> </xsl:template> </xsl:stylesheet> |
Wie kan mij vertellen hoe ik de HTML tussen <text> en </text> ook daadwerkelijk als HTML in de output krijg en hoe ik dit in Mozzila aan de praat krijg?
[ Voor 0% gewijzigd door MisterData op 06-10-2002 11:48 . Reden: layout wordt vernaggelt :( ]