Avatar billede rozet Nybegynder
18. marts 2005 - 11:31 Der er 3 kommentarer og
1 løsning

xsl og xml

Jeg har følgende xml:

<par class="Normal" style="line-height: 1.5;">Dette er almindelig skrift<inline style="font-style: italic;">Dette er italic</inline>Dette er almindelig skrift</par>

Og vil gerne have vist teksten efter hensigten. Men jeg kan dog ikke få det til at virke.

Følgende xsl viser kun det tekst som skal vises med italic:

<xsl:for-each select="par">
  <xsl:for-each select="inline">
    <i><xsl:apply-templates select="*|text()"/></i>
  </xsl:for-each>
</xsl:for-each>

Hvordan skal jeg kode min xsl, for at hele teksten bliver vist som defineret i xml'en?
Avatar billede Slettet bruger
18. marts 2005 - 13:26 #1
Du skal bare lære at bruge templates :-)

<xsl:template match="par">
  <p>
      <xsl:apply-templates />
  </p>
</xsl:template>

<xsl:template match="inline">
  <i>
      <xsl:apply-templates />
  </i>
</xsl:template>

- men det ser ud som om at "inline" i dit XML dokument er mere et <span> element end <i>, da der er en style-attribut der f.eks. kunne gøre teksten fed el. lign.
Men så er det jo dejlig nemt at lave den ene template om der håndterer disse...

/CS
Avatar billede rozet Nybegynder
18. marts 2005 - 14:04 #2
Det kan du have ret i... Its a jungle outthere...

Tak!
Avatar billede rozet Nybegynder
18. marts 2005 - 14:51 #3
Hvordan gør jeg nytte at style-attributten?

Jeg ved at jeg kan hente værdien ved @style .. Men derfra og til at benytte det i fremvisningen.... Hvad gør jeg?
Avatar billede rozet Nybegynder
18. marts 2005 - 14:51 #4
at=af
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