Avatar billede elprebsi Praktikant
16. juli 2010 - 13:30 Der er 2 kommentarer og
1 løsning

Inkludering af fil i XSLT / Apache FOP

Hej eksperter,

Jeg har siddet og rodet lidt med Apache FOP, og er rendt ind i et problem, som jeg ikke umiddelbart kan løse.

Af forskellige årsager har jeg faste tekster liggende i .fo dokumenter, som fx:

---
<?xml version="1.0" encoding="UTF-8"?>

<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <fo:block><fo:inline>Her er noget almindelig tekst.</fo:inline></fo:block>
    <fo:block><fo:inline font-weight="bold">Her er noget FED tekst...</fo:inline></fo:block>
    <fo:block><fo:inline font-style="italic">Og så lidt kursiv.........</fo:inline></fo:block>
</fo:block>
---

Når jeg så prøver at inkludere denne fil i mit XSLT/fo dokument med

---
<xsl:value-of select="document( "FastTekst.fo" )"/>
---

så får jeg selve teksten inkluderet godt nok, men formattering med fed, kursiv osv. forsvinder.

Kan I hjælpe mig med en måde at inkludere mine statiske .fo dokumenter, så jeg kan bevare formatteringen ?

Jeg kører Apache FOP 0.20.5 og XSLT 1.0 - vist nok lidt old school.
Avatar billede elprebsi Praktikant
16. juli 2010 - 14:21 #1
Fandt et svar på Apache's mailing liste:

<xsl:copy-of select="document( "FastTekst.fo" )"/>

Det ser faktisk ud til at løse mit problem.

Så bliver det weekend alligevel.

/El Prebsi.
Avatar billede mike1963 Nybegynder
16. juli 2010 - 14:41 #2
XSLT er ikke old school.

... men der er pattern/node programmering og det er svært ...

value-of er text delen (text() eller shot .) , når der IKKE angives andet.

Hvis man skal have selve noderne, skal de kopieres copy-of som elprebsi anviser.

og forskellen melem 1.0 og 2.0 er mindre end man skulle tro udfra versioneringen
Avatar billede jokkejensen Novice
06. august 2010 - 14:37 #3
text() og . er ikke det samme. punktum er den aktive node, og ./text() er dens indhold.

/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