Announcement

Collapse
No announcement yet.

xsl und xsl-fo

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • xsl und xsl-fo

    Hallo,
    ich versuch mir grad xsl-fo anzueignen und hab versucht ein Beispiel aus einem Buch auszuführen. Doch beim versuch ein pdf zu erstellen stoß ich immer wieder auf den gleichen Fehler! (fo:flow is missing child element) Ich benutze den Altova XML Editor mit FOP Apache 0.95

    Hier meine Beiden Dateien

    XML DATEI:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="test.xsl"?>
    <!--Prozessoranweisung -->
    <?xmlspyxslfo Output.xsl?>
    <content xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
          <Text> Hallo Mond! </Text>
    </content>

    Hier meine xsl Datei mit Fo Elementen:

    Code:
    <?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 encoding="ISO-8859-1" method="xml"/>
    <!-- Startvorlage -->
    <xsl:template match="/">
      <fo:root>
          <!-- Seitenvorlagen -->
    			<fo:layout-master-set>
    			    <fo:simple-page-master master-name="alleine"> page-height="15cm" page-width="15cm">
    				 <fo:region-body region-name="xsl-region-body" margin="0.7cm"/>
    			    </fo:simple-page-master>
    			</fo:layout-master-set>
    	<!-- Das waren die allgemeinen Angaben für eine Seitenvorlage-->
    	<!-- hier erfolgt der Aufruf der Seitenvorlage und die späteren Inhalte-->
    		<fo:page-sequence master-reference="alleine">
    			<fo:flow flow-name="xsl-region-body">
    				<xsl:apply-templates select="Text"/>
    			</fo:flow>
    		</fo:page-sequence>	
      </fo:root>
    </xsl:template>	
    	 <!-- Vorlage für Text -->
    	 <xsl:template match="content">
    		<fo:block>
    		   <xsl:value-of select="Text"/>
    	       </fo:block>
    	</xsl:template>		
    </xsl:stylesheet>
    Wäre dankbar um jeden Tipp! komme momentan echt nicht weiter
    Zuletzt editiert von v1p0r; 20.03.2009, 16:00.

  • #2
    Hi,


    ich bin zwar auch xml - Anfänger, aber ich versuche mal einen Tipp:

    Code:
    </xsl:template>	
    	 <!-- Vorlage für Text -->
    	 <xsl:template match="content">
    		<fo:block>
    		   <xsl:value-of select="."/>
    	       </fo:block>
    	</xsl:template>		
    </xsl:stylesheet>
    Da "Text" im oberen Template bereits gewählt ist, vermute ich dein Code sucht nach text/text.

    Wie gesagt, ich bin nur ein XML - Greenhorn.

    Grüße
    Tino
    Ich habs gleich!
    ... sagte der Programmierer.

    Comment


    • #3
      ja genau! danke ich hatte mich vertippt!

      Comment


      • #4
        Hallo v1p0r,

        Bin auch Anfänger und verstehe das nicht. Verwende XML Notepad und da kritisiert er im XSL die 5. Zeile:
        <xsl:template match="/">
        wenn ich da stattdessen
        <xsl:template match="content">
        schreibe, dann geht's.
        Kann da sogar ganz unten folgenden Block komplett entfernen:
        <!-- Vorlage für Text -->
        <xsl:template match="content">
        <fo:block>
        <xsl:value-of select="Text"/>
        </fo:block>
        </xsl:template>
        Warum stimmt das nicht mit deiner Lösung zusammen?

        bye,
        Helmut

        Comment

        Working...
        X