Консорциум World Wide Web (W3C) предлагает ряд бесплатных инструментов, помогающих правильно создавать и обрабатывать файлы HTML и XML. HTML-XML-пакет — это набор простых утилит для работы с файлами HTML и XML из командной строки. Он доступен для многих различных дистрибутивов Linux и может быть полезен тем, кому приходится регулярно обрабатывать файлы HTML или XML.
Чтобы установить пакет в Ubuntu, используйте:
sudo apt-get install html-xml-utils
В этом пакете 31 инструмент, вот краткое описание того, что они могут:
- cexport – создать заголовочный файл экспортированных объявлений из файла C
- hxaddid – добавить идентификаторы к выбранным элементам
- hxcite — заменить библиографические ссылки гиперссылками.
- hxcite-mkbib- расширить ссылки и создать библиографию
- hxcopy — копирование HTML-файла с сохранением относительных ссылок.
- hxcount – подсчет элементов и атрибутов в файлах HTML или XML
- hxextract – извлечь выбранные элементы
- hxclean — применить эвристику для исправления HTML-файла.
- hxprune – удалить отмеченные элементы из HTML-файла
- hxincl — развернуть включенные файлы HTML или XML
- hxindex – создать индекс, отсортированный по алфавиту
- hxmkbib – создать библиографию на основе шаблона
- hxmultitoc — создание оглавления для набора HTML-файлов.
- hxname2id — переместить некоторые ID= или NAME= из элементов A в их родительские элементы.
- hxnormalize – красивая печать HTML-файла
- hxnum – нумерация заголовков разделов в HTML-файле.
- hxpipe — преобразование XML в формат, который легче анализировать с помощью Perl или AWK.
- hxprintlinks — пронумеровать ссылки и добавить таблицу URL-адресов в конце HTML-файла.
- hxremove — удалить выбранные элементы из XML-файла
- hxtabletrans — транспонировать таблицу HTML или XHTML.
- hxtoc – вставить оглавление в HTML-файл
- hxuncdata – замена разделов CDATA символьными сущностями
- hxunent – заменяет предопределенные символы HTML на UTF-8.
- hxunpipe — преобразовать вывод канала обратно в формат XML
- hxunxmlns – замените «глобальные имена» префиксами пространства имен XML
- hxwls – список ссылок в HTML-файле
- hxxmlns – замените префиксы пространства имен XML на «глобальные имена»
- asc2xml, xml2asc — преобразование между UTF8 и объектами
- hxref – создание перекрестных ссылок
- hxselect- извлекает элементы, соответствующие селектору (CSS)
Чтобы познакомить вас с возможностями этого набора инструментов, вот несколько примеров использования некоторых команд.
Команда «hxnormalize
» переформатирует HTML-файл, чтобы его было легко читать и он был хорошо отформатирован. Чтобы протестировать эту команду, мы создадим уродливый HTML. Выделите и скопируйте следующие строки и вставьте их прямо в окно терминала.
cat > test.html <p>hello __EOF__ </p>
При этом будет создан файл с именем test.html. В HTML отсутствуют некоторые закрывающие теги, и все оно написано в одну строку. Команда hxnormalize
переформатирует файл и запишет красивую версию на стандартный вывод (stdout). Вот как вы запускаете команду:
hxnormalize -e test.html
Флаг «-e» указывает hxnormalize вставить недостающие закрывающие теги.
Вы также можете запустить команду для веб-страницы, заменив «test.html» URL-адресом, например:
hxnormalize http://www.example.com
Команда hxwls
анализирует локальный HTML-файл или веб-сайт и выводит список ссылок в HTML. Например:
hxwls http://www.example.com
Вот первые несколько строк вывода веб-сайта Make Tech Easier:
Команда hxtabletrans
изменяет таблицу так, что строки становятся столбцами, а столбцы — строками.
Давайте создадим HTML-файл с простой таблицей. Выделите и скопируйте следующие строки, а затем вставьте их прямо в окно терминала.
cat > table.html <tr> <td>Jill</td> <td>Smith</td> <td>50</td> </tr> <tr> <td>Eve</td> <td>Jackson</td> <td>94</td> </tr> __EOF__
Результатом является файл table.html. В веб-браузере таблица будет выглядеть примерно так:
Джилл | Смит | 50 |
Ева | Джексон | 94 |
Если вы запустите команду hxtabletrans
, она запишет транспонированную таблицу в стандартный вывод. Результаты можно перенаправить в другой файл следующим образом:
hxtabletrans table.html > table2.html
В новом файле table2.html Джилл Смит и Ева Джексон будут показаны столбцами, а не строками, как в оригинале. Итоговая таблица будет примерно такой:
Джилл | Ева |
Смиттд> | Джексон |
50 | 94 |
Большинство команд используются аналогично примерам выше, то есть вам нужно указать файл или URL-адрес для обработки, а выходные данные записываются в стандартный вывод. Попробуйте поэкспериментировать с различными командами, они могут оказаться вам полезными.
Если у вас есть вопросы об утилитах HTML-XML, задавайте их в комментариях ниже, и мы посмотрим, сможем ли вам помочь.