Avatar billede advancedweb Nybegynder
12. juli 2006 - 12:58 Der er 1 løsning

Kopi XML direkte til output

Jeg sidder og roder med noget XSL(T), konverterer et XML-dokument til HTML.

Mit problem er at der i XML-dokuementet er noget MathML-kode som skal direkte over i output-dokumentet uden at blive "parset".

[code]
<doc>
<text>Hejsa</text>
<math><msqrt><mi>H</mi><mn>2</mn></msqrt></math>
</doc>
[/code]

Altså jeg kører igennem med for-each og tester med if om det er hhv. et text- eller math-objekt. Hvis det er et text-objekt er det nemt nok. Der udskriver jeg bare teksten med <p><xsl:value-of select="current()"></p>.

Men hvis det er et math-objekt skal koden kopires direkte over i output-dokumentet uden at blive "parset"/ændret.

Jeg fik det mærkeligt nok til at virke igår aftes ved bare at udskrive math-objektet ligesom med tekst-objektet, så kom det med som det stod i XML-dokumentet. Men efter at have startet det hele op igen imorges kunne jeg ikke få den til det igen. Nu udskriver den kun selve indholdet af tags'ene og fjerner selve tags'ene, så den i overstående eksempel kun udskrive H2 i output-dokumentet.
Avatar billede Slettet bruger
12. juli 2006 - 13:14 #1
Det korte svar er <xsl:copy-of /> - den kloner et element og ALT hvad der er nestet heri, dvs.:

<xsl:copy-of select="math" />

/CS
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