Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [XML/XSL] Przekształcanie na PDF
m010ch
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.12.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam.

Mam mały problem, otóż jest sobie plik XML:

Kod
<?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ę:

Kod
<?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="?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ">                            <----------------------------
  <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="?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ">                            <----------------------------
  <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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował m010ch 15.12.2005, 10:03:56
Go to the top of the page
+Quote Post

Posty w temacie
- m010ch   [XML/XSL] Przekształcanie na PDF   15.12.2005, 08:56:54


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 03:01