Alexey Pechnikov -> debian-russian@lists.debian.org @ Mon, 2 Nov 2009 22:00:16 +0300:
AP> А вот еще по одному фильтру вопрос возник. Самый что ни на есть AP> распрекрасный odt нужно индексировать. "С помощью лома и AP> какой-то матери" нашел ODF Tools, которые дают неплохой html. AP> Опять же, плодя временные файлы. Чтение исходников привело AP> к мысли, что все гораздо проще делается, например, так AP> cat <(echo "<?xml version='1.0' encoding='UTF-8'?>")\ AP> <(echo "<office:document xmlns:office='urn:oasis:names:tc:opendocument:xmlns:office:1.0'>")\ AP> <(unzip -p 101.odt meta.xml |grep -v "<?xml version="|less) \ AP> <(unzip -p 101.odt content.xml |grep -v "<?xml version="|less) \ AP> <(unzip -p 101.odt styles.xml |grep -v "<?xml version="|less) \ AP> <(echo "</office:document>")\ AP> |xsltproc odt2html.xsl - AP> Оно работает, и без временных файлов. А памяти оно сколько жрет? AP> Но, как я понимаю, это "башизм" и с ним надо бороться. Вопрос - AP> как? Не соображу, как бы это переписать да еще без вызова лишних AP> утилит... Тебе надо это непременно на sh? На sh без лишних утилит никак - он специально заточен под использование лишних утилит... Но для индексирования не нужно styles, и не нужен DOM-парсер, которым является xsltproc. Достаточно SAX-парсера. А простенький HTML для индексатора, если индексатору нужен именно HTML, я полагаю, можно из meta.xml и content.xml и на регексах изваять... -- /итд/почтопосылалка.нстрк (c) -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org