Błąd #6578
Updated by Jan Kocoń about 8 years ago
Problem leży najprawdopodobniej w piśniku ccl. Przykładowy fragment pliku, dla którego występuje błąd:
<pre>
<tok>
<orth>firma</orth>
<lex disamb="1"><base>firma</base><ctag>subst:sg:nom:f</ctag></lex>
<ann chan="nam_eve">0</ann>
<ann chan="nam_loc">0</ann>
<ann chan="nam_org">0</ann>
</tok>
<tok>
<orth>Bögl</orth>
<lex disamb="1"><base>Bögl</base><ctag>ign</ctag></lex>
<ann chan="nam_eve">0</ann>
<ann chan="nam_loc">0</ann>
<ann chan="nam_org">1</ann>
<prop key="nam_org:lemma">Bögl & Krýsl</prop>
</tok>
<tok>
<orth>&</orth>
<lex disamb="1"><base>&</base><ctag>interp</ctag></lex>
<ann chan="nam_eve">0</ann>
<ann chan="nam_loc">0</ann>
<ann chan="nam_org">1</ann>
</tok>
</pre>
Chodzi o linijkę:
<pre><prop </pre><prop key="nam_org:lemma">Bögl & Krýsl</prop></pre>
Po przetworzeniu (np. przy pomocy corpus-get) pliku zawierającego tę zawartość poleceniem:
<pre>corpus-get -i ccl -o ccl -t nkjp agora-1.1.0-names-disamb/articles/00107679.xml > out2.xml</pre>
linijka wygląda tak:
<pre><prop key="nam_org:lemma">Bögl & Krýsl</prop></pre>
Na wyjściu powinniśmy otrzymać to samo, co trafiło na wejście. Ponowna próba przetworzenia wyjścia poleceniem:
<pre>corpus-get -i ccl -o ccl -t nkjp out2.xml > out3.xml</pre>
Powoduje wyświetlenie błędu:
<pre>
XML Error: xmlParseEntityRef: no name
terminate called after throwing an instance of 'xmlpp::parse_error'
what(): Document not well-formed.
Line 239, column 21 (fatal):
xmlParseEntityRef: no name
Aborted (core dumped)
</pre>
Linijka na którą wskazuje wyjątek zawiera niewyeskejpowany ampersand. Podobnie jest po podwójnym przetwarzaniu iobberem oraz nawet najnowszym wcrft-app. Do poprawki!
<pre>
<tok>
<orth>firma</orth>
<lex disamb="1"><base>firma</base><ctag>subst:sg:nom:f</ctag></lex>
<ann chan="nam_eve">0</ann>
<ann chan="nam_loc">0</ann>
<ann chan="nam_org">0</ann>
</tok>
<tok>
<orth>Bögl</orth>
<lex disamb="1"><base>Bögl</base><ctag>ign</ctag></lex>
<ann chan="nam_eve">0</ann>
<ann chan="nam_loc">0</ann>
<ann chan="nam_org">1</ann>
<prop key="nam_org:lemma">Bögl & Krýsl</prop>
</tok>
<tok>
<orth>&</orth>
<lex disamb="1"><base>&</base><ctag>interp</ctag></lex>
<ann chan="nam_eve">0</ann>
<ann chan="nam_loc">0</ann>
<ann chan="nam_org">1</ann>
</tok>
</pre>
Chodzi o linijkę:
<pre><prop </pre><prop key="nam_org:lemma">Bögl & Krýsl</prop></pre>
Po przetworzeniu (np. przy pomocy corpus-get) pliku zawierającego tę zawartość poleceniem:
<pre>corpus-get -i ccl -o ccl -t nkjp agora-1.1.0-names-disamb/articles/00107679.xml > out2.xml</pre>
linijka wygląda tak:
<pre><prop key="nam_org:lemma">Bögl & Krýsl</prop></pre>
Na wyjściu powinniśmy otrzymać to samo, co trafiło na wejście. Ponowna próba przetworzenia wyjścia poleceniem:
<pre>corpus-get -i ccl -o ccl -t nkjp out2.xml > out3.xml</pre>
Powoduje wyświetlenie błędu:
<pre>
XML Error: xmlParseEntityRef: no name
terminate called after throwing an instance of 'xmlpp::parse_error'
what(): Document not well-formed.
Line 239, column 21 (fatal):
xmlParseEntityRef: no name
Aborted (core dumped)
</pre>
Linijka na którą wskazuje wyjątek zawiera niewyeskejpowany ampersand. Podobnie jest po podwójnym przetwarzaniu iobberem oraz nawet najnowszym wcrft-app. Do poprawki!