Ik heb een probleem met het parsen van mijn xsl mbv. xslt.
Ik heb op het forum hier code gevonden om html tags in XML goed te laten renderen. een <strong> is ook vetgedrukt op het scherm.
Tenminste dat werkt zo, wanneer ik mijn code parse mbv. ASP
Wanneer ik XSLT gebruik (php) wat toch iedereen uiteindelijk wil
dan wordt de opmaak niet gerenderd.
mijn XML-bestand
Mijn XSL-bestand
Output na parsen mbv XSLT
Ik heb op het forum hier code gevonden om html tags in XML goed te laten renderen. een <strong> is ook vetgedrukt op het scherm.
Tenminste dat werkt zo, wanneer ik mijn code parse mbv. ASP
Wanneer ik XSLT gebruik (php) wat toch iedereen uiteindelijk wil
mijn XML-bestand
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <?xml version="1.0" ?> <page xmlns="http://www.test.nl" pageName="Nieuws pagina"> <texts> <text> <description><html xmlns="http://www.w3.org/1999/xhtml"><strong>Alinea 1</strong>met nog wat text </html></description> <divWidth>100</divWidth> <divHeight>100</divHeight> <divXpos>20</divXpos> <divYpos>20</divYpos> </text> <text> <description><html xmlns="http://www.w3.org/1999/xhtml">Alinea test met een grote T</html></description> <divWidth>100</divWidth> <divHeight>100</divHeight> <divXpos>140</divXpos> <divYpos>20</divYpos> </text> </texts> </page> |
Mijn XSL-bestand
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:n="http://www.test.nl" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml"> <xsl:output method="xml" indent="yes"/> <xsl:template match="n:page"> <html> <head> <title><xsl:value-of select="@pageName"/></title> </head> <body> <table border="1" cellpadding="0" cellspacing="0" width="800" height="600" align="center"><tr><td height="600" valign="top"> <div style="width:800px;height:600px;overflow:auto;border:0px;"> <xsl:apply-templates /> </div> </td></tr> </table> </body> </html> </xsl:template> <xsl:template match="html:*"> <xsl:element name="{name(.)}" namespace="http://www.w3.org/1999/xhtml"> <xsl:for-each select="@*"> <xsl:attribute name="{name(.)}"> <xsl:value-of select="."/> </xsl:attribute> </xsl:for-each> <xsl:apply-templates/> </xsl:element> </xsl:template> <xsl:template match="n:text"> <div style="position:relative;width:0px;height:0px;left:0px;top:0px;"> <div> <xsl:attribute name="style"> position:absolute; width:<xsl:value-of select="n:divWidth" />px; height:<xsl:value-of select="n:divHeight" />px; left:<xsl:value-of select="n:divXpos" />px; top:<xsl:value-of select="n:divYpos" />px; overflow:auto; border:1px dashed; </xsl:attribute> <table border="0"> <tr> <td width="100%" height="100%"> <xsl:apply-templates select="n:description"/> </td> </tr> </table> </div> </div> </xsl:template> </xsl:stylesheet> |
Output na parsen mbv 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| <?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:n="http://www.test.nl"> <head> <title>Nieuws pagina door Rene</title> </head> <body> <table border="1" cellpadding="0" cellspacing="0" width="800" height="600" align="center"> <tr> <td height="600" valign="top"> <div style="width:800px;height:600px;overflow:auto;border:0px;"> <div style="position:relative;width:0px;height:0px;left:0px;top:0px;"> <div style=" position:absolute; width:100px; height:100px; left:20px; top:20px; overflow:auto; border:1px dashed; "> <table border="0"> <tr> <td width="100%" height="100%"> <ns_1:html xmlns:ns_1="http://www.w3.org/1999/xhtml"> <ns_2:strong xmlns:ns_2="http://www.w3.org/1999/xhtml">Alinea 1</ns_2:strong>met nog wat text </ns_1:html> </td> </tr> </table> </div> </div> <div style="position:relative;width:0px;height:0px;left:0px;top:0px;"> <div style=" position:absolute; width:100px; height:100px; left:140px; top:20px; overflow:auto; border:1px dashed; "> <table border="0"> <tr> <td width="100%" height="100%"> <ns_3:html xmlns:ns_3="http://www.w3.org/1999/xhtml">Alinea test met een grote T</ns_3:html> </td> </tr> </table> </div> </div> </div> </td> </tr> </table> </body> </html> |