Avatar billede den-evil Nybegynder
08. juli 2008 - 16:10 Der er 2 kommentarer

Udskriver ting jeg ikke har med i mit xslt?

Jeg har noget XML der ser sådan ud:
-----------------------------------
<ForumModule>
    <ModuleOutput>
        <root>
            <areas>
                <area id="1000024" useAsBreadCrumbs="true">
                    <name>Undervisning</name>
                    <forums>
                        <forum id="1000044" useAsBreadCrumbs="true">
                            <name>RRB TEST1 Forum navn</name>
                            <description>RRB TEST1 RRB TEST1</description>
                            <threads>
                                <thread id="1000055" useAsBreadCrumbs="true">
                                    <name>RRB Test 1Debat</name>
                                    <post id="1000063">
                                        <title>RRB Test 1Debat</title>
                                        <creationDate>04-07-2008 13:08</creationDate>
                                        <user id="1000058" viaId="58">
                                            <name>test1a</name>
                                        </user>
                                        <message>RRB Test 1Debat TEKST</message>
                                    </post>
                                </thread>
                            </threads>
                        </forum>
                    </forums>
                </area>
            </areas>
        </root>
    </ModuleOutput>
    <RequestContent>
        <QueryString/>
        <ServerVariables>
            <Entry Name="URL">Forside/1/Debat</Entry>
            <Entry Name="HTTP_HOST">xxx.xxx.com</Entry>
        </ServerVariables>
    </RequestContent>
</ForumModule>
------------------------------------------

Mit XSLT ser sådan ud:

------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output omit-xml-declaration="yes" encoding="UTF-8" method="html" />
  <xsl:template match="ForumModule/ModuleOutput/root/areas/area/forums/forum/threads/thread/post">
    <html>
      <head>
        <title>xxx</title>
      </head>
      <body style="font-family: arial, verdana, helvetica, sans-serif;">
        <table width="400" cellpadding="5" cellspacing="0" border="0" style="background-color: #f6f8f9; border: 1px dotted #b2b1b1; font-family: Arial, sans-serif; font-size: 11px; color: #000;">
          <xsl:call-template name="Post" />
        </table>
      </body>
    </html>
  </xsl:template>
 
  <xsl:template name="Post">
    <tr>
      <td style="background: #0f3448 url('http://dlfrum21.synkronvia.com/files/Design/gfx/smalltopBG.gif') left top no-repeat; border-bottom:2px solid #FFF;">
        <h1 style="color: #506470; padding: 5px; font-size: 12px; font-weight: bold;">Fra DLF Samarbejdsrum</h1>
      </td>
    </tr>
    <tr>
      <td style="background-color: #8f0e14; border-bottom: 1px solid #FFF;">
        <h1 style="color: #FFF; padding: 5px; font-size: 12px; font-weight: bold;">Hej, <xsl:value-of select="user/name/." /></h1>
      </td>
    </tr>
    <tr>
      <td>
        <div style="padding: 20px 0">
          <p style="padding: 0 0 5px 0;">
            <strong>
              <xsl:value-of select="title" disable-output-escaping="yes" />
            </strong>
            <br />
            <xsl:value-of select="message" disable-output-escaping="yes" />
          </p>
          <xsl:call-template name="MoreInfo" />
          <hr />
        </div>
      </td>
    </tr>
  </xsl:template>
 
  <xsl:template name="MoreInfo">
    <xsl:element name="a">
      <xsl:attribute name="href" xml:space="default">
        <!--<xsl:value-of select="$currentPage">
        </xsl:value-of>-->
        <!--<xsl:call-template name="linkRef">
          <xsl:with-param name="plusQuery" xml:space="default">
            <xsl:call-template name="RenderLinkParams">
            </xsl:call-template>
          </xsl:with-param>
        </xsl:call-template>-->
      </xsl:attribute>
            Gå til debatforum her &gt;&gt;
        </xsl:element>
  </xsl:template>
</xsl:stylesheet>

---------------------------------------------------

Jeg får egentlig en pæn nok  mail, men den smider noget ud før alt HTML som ser sådanne ud, i ren tekst:

"UndervisningRRB TEST1 Forum navnRRB TEST1 RRB TEST1NPC Test2"

Hvilket jeg ikke fatter, da det er noget jeg ikke tager med i min snippet!???
Avatar billede arne_v Ekspert
13. juli 2008 - 23:16 #1
Smid en:

<xsl:template match="text()" />

ind i din XSLT !
Avatar billede jokkejensen Novice
29. juli 2008 - 04:41 #2
bedre at ramme rodnoden, og behandle det hele.. i stedet for udpluk, så vil resten af content sevlfølgeligt blive udskrevet.

<xsl:template match="/">
<xsl:applytemplate select="ForumModule/ModuleOutput/root/areas/area/forums/forum/threads/thread/post" />
</xsl:template>

<xsl:template match="text()" /> uden mode, er lidt farlig.

/J
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester