# PDF Erzeugung - Probleme mit der XML Datei bei Schema-Infos



## SebastianK (28. Feb 2008)

Hallo,

ich möchte mittels Apache FOP aus einer XML-Datei eine PDF-Datei erzeugen.
Die XSL Datei habe ich soweit fertig und auch den Code in Java.
Das klappt auch soweit alles.

Jedoch gibt es folgendes Problem:
Ich benötige in meiner XML-Datei Angaben zu einer Schema-Datei.
Somit sieht meine XML-Datei so aus:


```
<?xml version="1.0" encoding="UTF-8"?>
<Beschreibung 
	xmlns="http://www.person.de" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://www.person.de mySchema.xsd">
<.......>
</Beschreibung>
```

Wenn ich im Tag "Bechreibung" die ganzen Angaben drinne lasse erhalte ich bei der Umwandlung in PDF folgende Fehlermeldung:



> org.apache.fop.fo.FOTreeBuilder fatalError
> SCHWERWIEGEND: java.lang.NullPointerException
> (Position des Fehlers unbekannt)java.lang.NullPointerException



Nehme ich allerdings in "Beschreibung" alle 3 Angaben raus (so das nur noch "<Beschreibung>" steht, klappt es wunderbar.

Gibt es eine Möglichkeit in Java dem Apach FOP zu sagen, dass er die Angaben irgnorieren soll oder sonstige Möglichkeiten?
Mich wundert es ein wenig, dass die PDF-Erzeugung nicht klappt und stört natürlich.


----------



## Tsunamie (28. Feb 2008)

Hallo,
das sieht so aus als würde er die XML-Datei nicht richtig validieren.

1. Ist deine Schema-Location richtig? In deinem Beitrag sieht die irgendwie fehlerhaft aus: "http://www.person.de mySchema.xsd" (kann mich aber auch irren.
2. Versuch doch mal beim Parser die Validierung zu deaktivieren, oder die richtige zu wählen, je nachdem welchen Parser du benutzt.

So, dass fällt mir grad so ein, sollte ich falsch liegen bitte ich das zu verzeihen, bin noch bei meinem ersten Caffé ;-)


MFG


----------



## SebastianK (28. Feb 2008)

Die Programme "XML Copy Editor" und "XML Spy" sagen beide das die XML-Datei valide ist.
Mein Schema liegt im Unterordner "../files/mySchema.xsd". Es ist jedoch bei meinem Programm egal ob ich "xsi:schemaLocation="http://www.wirtschaftsinformatik.de mySchema.xsd" oder "..../files/mySchema.xsd"" schreibe, beides funktioniert, da ich bei den Validierungseinstellungen "File schemata = new File("./files/mySchema.xsd");" gesetzt habe. 
Hab grad mal rumprobiert: Ich kann alles bis auf "xmlns="http://www.person.de"" rausehmen und die Validierung klappt mit dem Programm. 
Leider reicht auch das eien Attribut, um bei der PDF-Erzeugung den oben genannten Fehler hervor zu rufen.


EDIT:
So ich hab es hinbekommen.

Ich habe die XML-Datei einfach kopiert. Das Wurzelelement beim Schreiben einfach durch ein Neues, ohne Schema-Argumente, ersetzt und aus der neuen Datei dann die PDF erstellt.


----------

