Archief - XSL-FO .fo probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

j design

Legacy Member
Hallo iedereen

Ik weet dat je geen huiswerk moet posten maar ik ben te einde raad.
Voor school moeten we een xml, xsd, xslt, .fo en daaruit .pfd maken.
xml OK
xsd OK
xslt OK
.fo AAAAAAAAAAAGGGR

Ze hebben ons aangeraden om het programma Altova XMLSpy te gebruiken.
Met gevolg dat er nu op mijn pc nog 5 andere deelprog staan.

Normaal kan je de .fo genereren uit de xml en dan mist wat aanpassingen zou dat moeten lukken om een juiste pdf te bekomen.
Nu als ik het probeer kreeg ik in de eerste fase een foutmelding, heb ik de fopapp gedownload en het pad aangeduid. Dan gaf hij weer een fout.
Ondertussen na 2uur proberen is het me kots beu.

Weet iemand een eenvoudig prog waarmee ik uit een xml een .fo kan genereren en dan een pdf uitkrijg?

Als ik een totaal onzinnige uitleg doe, laat het me dan ook weten.
Het is zowat zelfstudie en ik moet zeggen dat het meeste al op goed geluk is gegaan.

Alvast bedankt!

Foutmelding:
17-mei-2009 22:50:31 org.apache.fop.cli.Main startFOP
SEVERE: Exception
javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: Error: First element must be the fo:root formatting object. Found (Namespace URI: "", Local Name: "html") instead. Please make sure you're producing a valid XSL-FO document.
at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:217)
at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125)
at org.apache.fop.cli.Main.startFOP(Main.java:166)
at org.apache.fop.cli.Main.main(Main.java:197)

---------

javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: Error: First element must be the fo:root formatting object. Found (Namespace URI: "", Local Name: "html") instead. Please make sure you're producing a valid XSL-FO document.
at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:501)
at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:214)
at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125)
at org.apache.fop.cli.Main.startFOP(Main.java:166)
at org.apache.fop.cli.Main.main(Main.java:197)
Caused by: org.apache.fop.fo.ValidationException: Error: First element must be the fo:root formatting object. Found (Namespace URI: "", Local Name: "html") instead. Please make sure you're producing a valid XSL-FO document.
at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:262)
at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:163)
at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1072)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.xinclude.XIncludeHandler.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
... 4 more
---------
org.apache.fop.fo.ValidationException: Error: First element must be the fo:root formatting object. Found (Namespace URI: "", Local Name: "html") instead. Please make sure you're producing a valid XSL-FO document.
at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:262)
at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:163)
at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1072)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.xinclude.XIncludeHandler.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:214)
at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125)
at org.apache.fop.cli.Main.startFOP(Main.java:166)
at org.apache.fop.cli.Main.main(Main.java:197)

Racemaniac

Legacy Member
als'k uw beschrijving lees, en uw error zie, zijt ge iets verkeerd aan't proberen.
whatever commande da ge hebt geprobeerd, is om een .fo file in te lezen, niet om een .fo file aan te maken.

hij verwacht als eerste xml tag fo:root (zoals het in de specificatie van da soort files staat), en gij geeft blijkbaar een html file. dus ge moet eerst iets vinden om uw file naar fo formaat om te zetten

hier is een hello world voorbeeld van zo'n fo file:
Code:
“Hello, World!” 

Let us create the shortest XSL FO (XSLFO) document. 
<?xml version="1.0" encoding="iso-8859-1"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <fo:layout-master-set>
    <fo:simple-page-master master-name="my-page">
      <fo:region-body margin="1in"/>
    </fo:simple-page-master>
  </fo:layout-master-set>

  <fo:page-sequence master-reference="my-page">
    <fo:flow flow-name="xsl-region-body">
      <fo:block>Hello, world!</fo:block>
    </fo:flow>
  </fo:page-sequence>
</fo:root>

j design

Legacy Member
Bedankt alvast voor de uitleg maar ik heb de tutorial van w3c al 5keer gedaan :)
Het probleem is dat xml spy dat zelf zou moeten kunnen.
Maar als ik op dat knopje klik krijg ik deze fout.

Dus u xml wordt door een xslt in html vorm gegoten om mooi weer te geven in browsers.
Die xslt is zowat de css van xml.
Nu zou het mogelijk zijn via xslt en xsl-fo een .fo bestand aan te maken die zowat het print gaat regelen.
Dus ook als je naar een pdf gaat printen, de juiste layout vastligt.

Andere programma's zijn ook welkom.

Racemaniac

Legacy Member
j design zei:
Bedankt alvast voor de uitleg maar ik heb de tutorial van w3c al 5keer gedaan :)
Het probleem is dat xml spy dat zelf zou moeten kunnen.
Maar als ik op dat knopje klik krijg ik deze fout.

Dus u xml wordt door een xslt in html vorm gegoten om mooi weer te geven in browsers.
Die xslt is zowat de css van xml.
Nu zou het mogelijk zijn via xslt en xsl-fo een .fo bestand aan te maken die zowat het print gaat regelen.
Dus ook als je naar een pdf gaat printen, de juiste layout vastligt.

Andere programma's zijn ook welkom.
mja, 'k ken nix van die dingen, 'k kan enkel zeggen wat die error zegt. ge geeft een html file, en hij verwacht een xslt file, dus jah...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan