November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
dil: (Default)
Thursday, April 7th, 2011 06:13 pm

Перенесли тут как-то перловый скриптик на другую  машину. А он возьми да и сломайся. И пошёл я смотреть, отчего это. Ругался он при попытке распарсить XML-файл (да-да, тем самым XML::XPath->new(), про который был предыдущий пост) но ругался довольно странно:

error in processing external entity reference at line 2, column 58, byte 80:
<?xml version="1.0"?>
<!DOCTYPE DataAlertService SYSTEM "DataAlertService.dtd">
=======================================================^

Потратив всего каких-то полдня, я понял, что ругается он вовсе не на указанное место, и даже не на сам этот XML. А на DTD. Потратив ещё полдня, я понял, что на этой машине XML-парсер тупо не понимает parameter entities в DTD.
Это макросы типа <!ENTITY % id 'id CDATA #REQUIRED'>, которые потом можно в том же DTD использовать: <!ATTLIST Official %id; ...

Вот на прежней древней солярке понимал, на моей десктопной убунте понимает, а на этой грёбанной CentOS (5.5, последний релиз, все дела) – не понимает. И после этого мне ещё будут рассказывать о прелестях этих ваших редхатов..

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

dil: (Default)
Friday, November 25th, 2005 12:37 pm
Задача: зачитать XML (лучше, если при этом будут допускаться небольшие ошибки в виде тегов, закрытых в неправильном порядке. или так не бывает?)
кое-что поудалять, для некоторых поддеревьев выколупать значения и выдать их наружу. В базу.
Всё, ничего более сложного не требуется.

Upd: xml - не самоцель, это промежуточный способ хранения данных, выколупанных из pdf. Если есть возможность работать непосредственно с pdf, то она тоже подойдёт.