Witam.
Mam mały problem, otóż jest sobie plik XML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="osoby.xsl"?>
<osoby xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="osoby.xsd">
<osoba plec="K" blizna="Nie">
<imie>Jan</imie>
<nazwisko>Nowak</nazwisko>
<adres>ul. Wymyslona 2 62-437 Poznan</adres>
</osoba>
<osoba plec="M" blizna="Tak">
<imie>Zbigniew</imie>
<nazwisko>Kowalski</nazwisko>
<adres>os. Bajkowe 14/3 60-321 Poznan</adres>
</osoba>
</osoby>
i teraz stworzyłem dla niego plik XSL (XSLT + XSL-FO), umożliwiający przekształcenie go na PDF i ładne sformatowanie w tabelkę:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="xml" />
<xsl:template match="/osoby">
<fo:root>
<fo:layout-master-set>
<fo:simple-page-master master-name="str_gl" page-height="400mm" page-width="300mm" margin-top="10mm" margin-bottom="10mm" margin-left="15mm" margin-right="20mm">
<fo:region-body margin-top="0mm" margin-bottom="10mm" margin-left="0mm" margin-right="0mm" />
<fo:region-after extent="10mm" />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="str_gl">
<fo:flow flow-name="xsl-region-body">
<fo:table>
<fo:table-column column-width="88mm" />
<fo:table-column column-width="62mm" />
<fo:table-column column-width="35mm" />
<fo:table-column column-width="50mm" />
<fo:table-column column-width="50mm" />
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block font-size="10pt" font-weight="bold" text-align="left">Imie</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-size="10pt" font-weight="bold" text-align="left">Nazwisko</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-size="10pt" font-weight="bold" text-align="left">Adres</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-size="10pt" font-weight="bold" text-align="left">Plec</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-size="10pt" font-weight="bold" text-align="left">Czy ma blizne?</fo:block>
</fo:table-cell>
</fo:table-row>
<xsl:apply-templates />
</fo:table-body>
</fo:table>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
<xsl:template match="osoba">
<fo:table-row>
<xsl:apply-templates />
</fo:table-row>
</xsl:template>
<xsl:template match="imie">
<fo:table-cell text-align="left">
<fo:block font-size="10pt">
<xsl:value-of select="." />
</fo:block>
</fo:table-cell>
</xsl:template>
<xsl:template match="nazwisko">
<fo:table-cell text-align="left">
<fo:block font-size="10pt">
<xsl:value-of select="." />
</fo:block>
</fo:table-cell>
</xsl:template>
<xsl:template match="adres">
<fo:table-cell text-align="left">
<fo:block font-size="10pt">
<xsl:value-of select="." />
</fo:block>
</fo:table-cell>
</xsl:template>
<xsl:template match="???"> <----------------------------
<fo:table-cell text-align="left">
<fo:block font-size="10pt">
<xsl:value-of select="@plec" />
</fo:block>
</fo:table-cell>
</xsl:template>
<xsl:template match="???"> <----------------------------
<fo:table-cell text-align="left">
<fo:block font-size="10pt">
<xsl:value-of select="@blizna" />
</fo:block>
</fo:table-cell>
</xsl:template>
</xsl:stylesheet>
Niestety - nie wiem jak wyciągnąc i wstawić do pliku PDF wartości parametrów pliku XML (wskazane strzałką), próbowałem na wiele różnych sposobów i nie mogę sobie poradzić :/
Bardzo proszę o jakąkolwiek pomoc.
Pozdrawiam.
p.s. Do przekształcania plików używam fopa w wersji 0.90alpha1
p.s.2. Jak widać, nie używam ogonków w dokumentach, ponieważ fop ich nie lubi i w PDF'ie wychodzą krzaki, jeżeli ktoś mógłby pomóc (przy okazji) również w tej kwestii, będę wdzięczny :)