XSL geeft ongeldige XHTML

Pagina: 1
Acties:

  • Barracuda_82
  • Registratie: September 2001
  • Laatst online: 19-12-2024

Barracuda_82

mkTime(), not war!

Topicstarter
Ik heb een XSL om een menu in een site op te bouwen. Nu staat er in de XSL netjes een <BR /> en worden alle IMG tags netjes afgesloten:

code:
1
2
3
4
<a href="{url}">
  <img src="{icon}" border="0" alt="{@naam}" /><br />
  <xsl:value-of select="@naam" />
</a>

Maar deze pagina geeft errors, namelijk dat de BR en IMG tags niet goed afgesloten worden. Hetvolgende zie ik via mijn browser in de html-code:

HTML:
1
2
3
4
<a href="url">
  <img src="url" border="0" alt="alt"><br>
  tekst
</a>


Geen valid XHTML dus. Na enig zoekwerk op internet heb ik niets fatsoenlijks gevonden. Heeft eimand enig idee wat hier het probleem is?

Zo begin ik trouwens mijn XSL:
code:
1
2
3
4
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" indent="yes" />

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 16:20

RM-rf

1 2 3 4 5 7 6 8 9

code:
1
<xsl:output method="html" indent="yes" />


hier zeg je toch dat je géén XHTML, maar gewone HTML wil?

zou je dan niet beter doen:
code:
1
<xsl:output method="xml" indent="yes" />

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Cyphax
  • Registratie: November 2000
  • Nu online

Cyphax

Moderator LNX
Je kunt daarnaast ook een doctype aangeven, of het nodig is weet ik niet zeker maar het is wel netjes:
code:
1
<xsl:output method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" indent="yes"/>

Hier staat meer info nog: http://www.peachpit.com/a.../article.asp?p=21844&rl=1 :)

[ Voor 13% gewijzigd door Cyphax op 02-10-2006 14:09 ]

Saved by the buoyancy of citrus


Verwijderd

RM-rf schreef op maandag 02 oktober 2006 @ 14:01:
zou je dan niet beter doen:
code:
1
<xsl:output method="xml" indent="yes" />
Let er dan wel op dat dit soort dingen:
HTML:
1
2
3
4
5
6
7
<div></div> 
wordt 
<div/>

<script type="text/javascript src="mijnscript.js"></script>
wordt
<script type="text/javascript src="mijnscript.js"/>

dan automatisch plaatsvinden. IE kan hier vrij hard op onderuitglijden.

  • Blue-eagle
  • Registratie: September 2000
  • Niet online
Wat Cyphax zegt.

code:
1
2
3
4
5
6
7
    <xsl:output 
        method="html"
        version="1.0"
        indent="no"
        doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" 
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" 
    />

Je kan er best veel mee ;)

  • Barracuda_82
  • Registratie: September 2001
  • Laatst online: 19-12-2024

Barracuda_82

mkTime(), not war!

Topicstarter
Hmm, de output moest dus op XML staan. Ik ging er altijd vanuit dat je dan helemaal geen HTML kreeg, maar gewoon XML. Stom van me, maar ach, het is maandag... :P

  • Cyphax
  • Registratie: November 2000
  • Nu online

Cyphax

Moderator LNX
Barracuda_82 schreef op maandag 02 oktober 2006 @ 15:08:
Hmm, de output moest dus op XML staan. Ik ging er altijd vanuit dat je dan helemaal geen HTML kreeg, maar gewoon XML. Stom van me, maar ach, het is maandag... :P
XHTML is eigenlijk ook gewoon XML. :)
Explorer ondersteunt het nu nog niet (misschien IE7 maar dat weet ik niet), dus wat al eerder is gezegd: kijk ermee uit.

Saved by the buoyancy of citrus

Pagina: 1