[SOLVED] Błąd odczytu

Użytkowanie edytora dokumentów
fajst
Posty: 3
Rejestracja: czw sie 29, 2019 1:52 pm

[SOLVED] Błąd odczytu

Post autor: fajst »

Dzień dobry,

Wczoraj pracowałam w OO Writerze i po zakończeniu edycji dokumentu zapisałam go poprawnie. Wszystko było okej. Dzisiaj rano przy otwarciu dokumentu wyskoczyło mi okienko z informacją o błędzie odczytu:

"wykryto błąd formatowania w pliku dokumentu podrzędnego content.xml na pozycji 2,2672 (wiersz, kolumna)"

Po otwarciu pliku content.xml w EditPlus nie znalazłam żadnego podejrzanego dodatkowego znaku w tej kolumnie. Ale ja się nie znam.

office:name="4211111111111111111111111111" office:name="5111111111111111111111111111"

pozycja 22672 przypada na drugi cudzysłów

Czy jest jakakolwiek szansa na odzyskanie tego dokumentu?
Ostatnio zmieniony pt sie 30, 2019 1:43 am przez fajst, łącznie zmieniany 1 raz.
OpenOffice 4 na Windows 8.1
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Błąd odczytu

Post autor: Jan_J »

Raczej tak, i to spora.

office:name występuje gdzieś w znakowaniu xml jako atrybut, tzn w kontekście

Kod: Zaznacz cały

<nazwa_elementu_struktury office:name="blabla1"  office:name="blabla2" może_jeszcze_inny_atrybut="jakiś tam">zawartość części dokumentu</nazwa_elementu_struktury>
Problemem jest, że żaden znacznik xml nie może zawierać dwóch odwołań do atrybutu o tej samej nazwie.
Ważniejszym problemem jest, dlaczego Writer w ogóle dopuszcza coś takiego przy zapisie.

Zrobiłbym kopię dokumentu, w tej kopii po rozpakowaniu usunąłbym jeden z wpisów office:name="blablablabla" po czym spakował content.xml z powrotem i kciuki trzymał. Jak nie wyjdzie, zawsze zostajemy z nienaruszoną kopią.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
fajst
Posty: 3
Rejestracja: czw sie 29, 2019 1:52 pm

Re: Błąd odczytu

Post autor: fajst »

Jan_J pisze: Zrobiłbym kopię dokumentu, w tej kopii po rozpakowaniu usunąłbym jeden z wpisów office:name="blablablabla" po czym spakował content.xml z powrotem i kciuki trzymał. Jak nie wyjdzie, zawsze zostajemy z nienaruszoną kopią.
Po usunięciu 2 członu, spakowaniu i przerobieniu na .odt pojawiła się informacja, że plik jest uszkodzony i nie można go otworzyć/naprawić

otoczenie wadliwego wiersza wygląda następująco:

Obrazek
OpenOffice 4 na Windows 8.1
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Błąd odczytu

Post autor: Jan_J »

Czym dokonujesz edycji? mam nadzieję że nie Writerem?
Powinen to być możliwie szczery (tj. precyzyjny, zorientowany na sposób zapisu pliku bardziej niż na treść dokumentu do czytania) edytor nieformatujący. Polecam Notepad++
Nie przerabiaj na odt, tylko 1. wypakuj content.xml z odt tak jakby był zip-em; 2. popraw i zapisz (musi być kodowany w utf-8, dobry edytor sam utrzyma zastane kodowanie); 3. wpakuj go z powrotem do pliku odt jak do zip-a.
Oczywiście kopię zapasową tego odt trzymamy w bezpieczenym miejscu.

Pokazany fragment jest zły; zawiera wiele atrybutów office:name w pojedynczym tagu/znaczniku. To jest zabronione.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
fajst
Posty: 3
Rejestracja: czw sie 29, 2019 1:52 pm

Re: Błąd odczytu

Post autor: fajst »

Zadziałało!!!!

Po całym dniu walki nie miałam już w sobie ani grama wiary w powodzenie operacji, ale w końcu się udało!
Radość tym większa, że odzyskałam sporą część pracy magisterskiej...

DZIĘKUJĘ SERDECZNIE!!!

Edytowałam w EditPlus. Skasowałam wszystkie "nadprogramowe" atrybuty. Nie miałam pojęcia jak "wpakować" content.xml bezpośrednio do pliku .odt (proszę się nie śmiać, naprawdę nie wiem o czym mówię), ale przy zmianie rozszerzenia też dało radę. Cała zawartość się zgadza.
OpenOffice 4 na Windows 8.1
ODPOWIEDZ