World Wide Web Consortium (W3C) có một số công cụ miễn phí có sẵn để trợ giúp cho việc tạo và xử lý đúng các tệp HTML và XML. Gói HTML-XML là một tập hợp các tiện ích đơn giản để thao tác các tệp HTML và XML từ dòng lệnh. Nó có sẵn cho nhiều bản phân phối Linux khác nhau và có thể hữu ích cho những người phải xử lý các tệp HTML hoặc XML một cách thường xuyên.

Để cài đặt gói trên Ubuntu, hãy sử dụng:

 sudo apt-get cài đặt html-xml-utils 

Có 31 công cụ trong gói này, dưới đây là tóm tắt về những gì họ có thể làm:

  • cexport - tạo headerfile của các khai báo được xuất từ ​​một tệp C
  • hxaddid - thêm ID vào các phần tử đã chọn
  • hxcite- thay thế các tham chiếu thư mục bằng siêu liên kết
  • hxcite-mkbib- mở rộng tài liệu tham khảo và tạo thư mục
  • hxcopy- sao chép tệp HTML trong khi vẫn giữ liên kết tương đối
  • hxcount - đếm các phần tử và các thuộc tính trong các tệp HTML hoặc XML
  • hxextract - trích xuất các phần tử đã chọn
  • hxclean - áp dụng các chẩn đoán để sửa một tệp HTML
  • hxprune - xóa các phần tử đã đánh dấu khỏi tệp HTML
  • hxincl- mở rộng bao gồm các tệp HTML hoặc XML
  • hxindex - tạo chỉ mục được sắp xếp theo thứ tự bảng chữ cái
  • hxmkbib - tạo thư mục từ mẫu
  • hxmultitoc- tạo một bảng nội dung cho một tập hợp các tệp HTML
  • hxname2id- di chuyển một số ID = hoặc NAME = từ A thành phần cho cha mẹ
  • hxnormalize - in đẹp một tệp HTML
  • hxnum - tiêu đề phần số trong tệp HTML
  • hxpipe- chuyển đổi XML sang định dạng dễ dàng hơn để phân tích cú pháp với Perl hoặc AWK
  • hxprintlinks- liên kết số & thêm bảng URL ở cuối tệp HTML
  • hxremove- xóa các phần tử đã chọn khỏi tệp XML
  • hxtabletrans- chuyển một bảng HTML hoặc XHTML
  • hxtoc - chèn một bảng nội dung trong một tệp HTML
  • hxuncdata - thay thế các phần CDATA theo các thực thể ký tự
  • hxunent - thay thế các thực thể ký tự được xác định trước HTML thành UTF-8
  • hxunpipe- chuyển đổi đầu ra của đường ống trở lại định dạng XML
  • hxunxmlns - thay thế "tên chung" bằng các tiền tố Không gian tên XML
  • hxwls - liệt kê các liên kết trong một tệp HTML
  • hxxmlns - thay thế tiền tố Không gian tên XML bằng "tên chung"
  • asc2xml, xml2asc- chuyển đổi giữa UTF8 và các thực thể
  • hxref - tạo tham chiếu chéo
  • hxselect- trích xuất các phần tử khớp với bộ chọn (CSS)

Để giới thiệu cho bạn sức mạnh của bộ công cụ này, dưới đây là một số ví dụ về cách bạn sẽ sử dụng một vài lệnh.

Lệnh “ hxnormalize ” sẽ định dạng lại một tệp HTML để dễ đọc và được định dạng tốt. Để kiểm tra lệnh này, chúng ta sẽ tạo một HTML xấu xí. Chọn và sao chép các dòng sau và dán chúng trực tiếp vào cửa sổ đầu cuối.

 cat> test.html << __EOF__ 

xin chào __EOF__

Điều này sẽ tạo ra một tập tin gọi là test.html. HTML thiếu một số thẻ đóng và tất cả được viết bằng một dòng. Lệnh hxnormalize sẽ định dạng lại tệp và viết phiên bản đẹp cho đầu ra tiêu chuẩn (stdout). Đây là cách bạn chạy lệnh:

 hxnormalize -e test.html 

Cờ “-e” cho hxnormalize chèn bất kỳ thẻ đóng bị thiếu nào.

Bạn cũng có thể chạy lệnh trên trang web bằng cách thay thế “test.html” bằng URL, ví dụ:

 hxnormalize http://www.example.com 

Lệnh hxwls sẽ phân tích một tệp HTML cục bộ hoặc một trang web và liệt kê các liên kết bên trong HTML. Ví dụ:

 hxwls http://www.example.com 

Dưới đây là một vài dòng đầu ra đầu tiên cho trang web Make Tech Easier:

Lệnh hxtabletrans thay đổi một bảng để các hàng trở thành các cột và cột trở thành các hàng.

Hãy tạo một tệp HTML với một bảng đơn giản. Chọn và sao chép các dòng sau, sau đó dán chúng trực tiếp vào cửa sổ đầu cuối.

 cat> table.html << __EOF__ 
Jillthợ rèn50
EveJackson94
__EOF__

Kết quả là một tệp được gọi là table.html. Trong một trình duyệt web, bảng sẽ trông giống như sau:

Jillthợ rèn50
EveJackson94

Nếu bạn chạy lệnh hxtabletrans, thì nó sẽ viết bảng transposed vào đầu ra tiêu chuẩn. Kết quả có thể được chuyển hướng đến một tệp khác như sau:

 hxtabletrans table.html> table2.html 

Tệp mới, table2.html, sẽ hiển thị Jill Smith và Eve Jackson trong cột, chứ không phải trong các hàng như trong bản gốc. Bảng kết quả sẽ là một cái gì đó như thế này:

JillEve
thợ rènJackson
5094

Hầu hết các lệnh được sử dụng theo cách tương tự với các ví dụ trên, nghĩa là bạn cần chỉ định một tệp hoặc URL để xử lý và đầu ra được ghi vào stdout. Hãy thử thử nghiệm với các lệnh khác nhau vì bạn có thể thấy chúng hữu ích.

Nếu bạn có bất kỳ câu hỏi nào về các tiện ích HTML-XML, vui lòng hỏi họ trong phần bình luận bên dưới và chúng tôi sẽ xem chúng tôi có thể giúp gì không.