Jörg Schmidt wrote: > in einem "fertigen" sxw existieren in der manifest.xml u.a. folgende > Einträge: > > <manifest:file-entry manifest:media-type="" > manifest:full-path="Basic/"/> > <manifest:file-entry manifest:media-type="" > manifest:full-path="Basic/Standard/Module1.xml"/> > > ich kann jetzt den Eintrag: > > <manifest:file-entry manifest:media-type="" > manifest:full-path="Basic/Standard/4.txt"/> > > hinzufügen und die Datei 4.txt in den Ordner Basic/Standard kopieren und > das Archiv (neu) packen. Die sxw-Datei kann ich anschließend normal > öffnen, etwas reinschreiben und Speichern und meine Datei 4.txt ist > weiterhin vorhanden.
Das solltest du so lieber nicht machen, niemals Streams in Ordner hineinpacken, die "anderen" (hier dem Basic) gehören. Aber das hast du ja auch schon probiert, wenn auch nicht ganz richtig (s.u.). > Wenn ich jedoch in manifest.xml das hier ergänze: > > <manifest:file-entry manifest:media-type="" manifest:full-path="Test/"/> > <manifest:file-entry manifest:media-type="" > manifest:full-path="Test/4.txt"/> > > den Ordner Test anlege und die Datei 4.txt dorthin kopiere und das > Archiv packe kann ich das resultierende sxw zwar normal öffnen, aber > wenn ich was reinschreibe und speichere geht dabei meine Datei 4.txt > verloren. > > Was habe ich übersehen? Ja. Du *mußt* dem Ordner unbedingt einen MediaType zuordnen, da Ordner ohne MediaType für interne Zwecke reserviert sind (z.B. der "Pictures"-Ordner). Beim Speichern einer Datei legt OOo immer eine komplett neue Kopie an, dabei werden Ordner ohne MediaType nicht automatisch mitkopiert (da angenommen wird, dass das explizit über Programmcode passiert). Findet OOo hingegen einen Ordner mit MediaType, bei dem es sich nicht um ein eingebettetes Objekt handelt, wird der "auf Verdacht" kopiert. Erzeuge einen *eigenen* Ordner und gib ihm irgendeinen MediaType, der auf dich oder dein Projekt verweist, also sowas wie "vnd.myname.myproject.mytype". Der Bezug auf dein Projekt im Namen ist quasi ein "Namespace", der Type Name Clashes verhindern soll. Du kannst auch einen GUID als Stringdarstellung verwenden, das garantiert auf jeden Fall, dass du keinen Name Clash erhältst. Ciao, Mathias -- Mathias Bauer - OpenOffice.org Application Framework Project Lead Please reply to the list only, [EMAIL PROTECTED] is a spam sink. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]