[XML/XSL] namespace en <br/>

Pagina: 1
Acties:

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
volgens mij heb ik al mn namespaces en dtds netjes staan, maar toch verschijnt dit :
code:
1
<br xmlns="">

en dit
code:
1
<table xmlns="">

in mn output...

ik heb de volgende XSL:
code:
1
2
3
4
5
6
7
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="../DTD/xhtml1-transitional.dtd" encoding="iso-8859-1"/>

<xsl:template match="/"> 
  <html xmlns="http://www.w3.org/1999/xhtml">
//enz...

volgens mij is alles goed daaraan. Maar ik heb dus liever niet dat die xmlns="" verschijnt in bepaalde tags in mn output. Mijn vraag is dus, hoe voorkom ik dit? Ben ik nog wat vergeten wat betreft output/namespaces/dtd?

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je moet de html declaratie even in de root van je XSLT document opnemen: de namespaces worden namelijk niet letterlijk overgenomen naar de output, maar zijn ook van toepassing in de stylesheet zelf.

Voorbeeldje:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0"?>

<xsl:transform version="1.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns="http://www.w3.org/1999/xhtml">

  <xsl:output   method="xml" indent="yes" encoding="UTF-8"
      doctype-public="-//W3C//DTD XHTML 1.1//EN"
                doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/>

  <xsl:template match="/">
    <html>
    <head>
      <title>..</title>
  ...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment