Как удалить комментарии и пробельные символы из XML

программирование perl xml regexp реулярные выражения

Здравствуйте.
Имеются хорошо структурированные и документированные XML (XSL) файлы.
Необходимо удалить из ни всю лишнюю информацию, т.е. пробелы, табуляцию,
переносы строк и комментарии, для ускорения обработки,
т.к. время импорта стрипнутых файлов возврастает в два раза.
Т.к. разработка xsl файлов продолжается, то хранить их надо в первозданном вида, а чистить только при установке.
Для пробельных имеется работающее рег.выражение: '/^[\s]*$/d;s,^[\s]*,,;s,>[\s]*<,><,g;s,[\s]*$,,'
Удалять комментарии тоже можно ещё одним проходом.

Вопрос: может у кого есть универсальное регулярное выражение или универсальный инструмент, чтобы делать это проще?
Как варианта - это загрузить в какую-то структуру а потом сделать toString. осталось найти консольный инструмент, который будет в большинстве *nix системах или написать самому на shell.



Примечание:
astromind, спасибо за tidy, забыл совсем про него.
недавно с ним работал для испрвления невалидных html.
Обидно, что его пока нет в официальном репозитории meego,
поэтому поищу пока более простой вариант.

Примечание:
Ещё пара вариантов:
* Удалить комментарии прогнав через XSLT преобразование.
* Использовать xmllint или xmlstarlet
Ответы:
Удалить комменты можно с помощью tidy
Пробельные символы оно по-моему не удаляет
Tidy command line: --hide-comments y --input-xml y --output-xml y
Вот и еще вариант инструмента для работы с регулярными выражениями:


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.