[XSL] Bij template-call verdwijnen tags

Pagina: 1
Acties:

  • b19a
  • Registratie: September 2002
  • Niet online
Ik gebruik twee stylesheets om mijn xml bestand te verwerken (eerste xsl) en vervolgens door een wrapper te halen (tweede xsl). Het probleem is nu dat ALLE html-tags uit het eerste bestand verloren gaan... wat dus vrij onhandig ook is. Ik heb verschillende manieren van includen geprobeerd... ik kom er gewoon niet uit!

Dit is het eerste bestand:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet version="1.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns="http://www.w3.org/1999/xhtml"
            xmlns:html="http://www.w3.org/1999/xhtml">
  <xsl:output method="html" />
    
  <xsl:include href="wrapper.xsl" />

  <xsl:template match="/">
    <xsl:call-template name="wrapper">
      <xsl:with-param name="contents">
        <ul>
          <li>h<strong>o</strong>i</li>
        </ul>
      </xsl:with-param>
    </xsl:call-template>
    </xsl:template>
</xsl:stylesheet>


Dit is wrapper.xsl (tweede):
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns="http://www.w3.org/1999/xhtml">
  <xsl:output method="html" />
  
  <xsl:template name="wrapper">
    <xsl:param name="contents" />

    <html>
      <head>
        <title>Purple Sunrise: Design&amp;Coding</title>
      </head>
      <body>
        ::<xsl:value-of select="$contents" />::
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>


Ik heb alles gestripped enzo... maar ik denk dat het wel duidelijk is zo. Is het bad practice wat ik doe... zie ik iets stoms over het hoofd??

[ Voor 17% gewijzigd door b19a op 30-07-2005 17:18 ]


  • b19a
  • Registratie: September 2002
  • Niet online
Hmm... kan het misschien zijn omdat ik mijn nodeSet (eerste xsl) in een variabele wil stoppen, maar dit gewoonweg niet kan. Mocht dit het probleem zijn... hoe krijg ik dan mijn HTML naar die andere template (en weer terug)?

  • b19a
  • Registratie: September 2002
  • Niet online
Oh ik ben zo blij!

Wat is het nou... <xsl:value-of /> geeft je alleen de value (ofwel textnodes) uit je $variabele. Wil je alle nodes en childnodes dan moet je <xsl:copy-of /> gebruiken!

Probleem verholpen :)

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 01-05 19:54

Bosmonster

*zucht*

Ok als je nou de volgende keer je post edit ipv kickt, dan is iedereen blij ;)