Công Cụ Định Dạng & Xác Thực XML
Dán XML để thụt lề bằng 2 khoảng trắng, 4 khoảng trắng hoặc tab, nén thành một dòng, hoặc tìm hiểu vì sao nó không phân tích được. XML đúng cú pháp trả về số phần tử, độ sâu lồng nhau và kích thước; XML sai cú pháp trả về thông báo của trình phân tích. Miễn phí, không cần đăng ký, và XML không bao giờ rời khỏi trình duyệt của bạn.
Chế Độ
Cách Sử Dụng Công Cụ Định Dạng XML
- 1. Chọn chế độ. Định Dạng in đẹp XML; Thu Nhỏ loại bỏ khoảng trắng giữa các phần tử.
- 2. Chọn thụt lề. Với Định Dạng, chọn 2 khoảng trắng, 4 khoảng trắng hoặc một tab.
- 3. Dán XML của bạn và nhấn nút. Kết quả hiển thị bên dưới với ba số liệu: số phần tử, độ sâu tối đa (thẻ gốc là cấp 1) và kích thước kết quả tính bằng ký tự.
- 4. Sửa lỗi nếu có. Nếu XML không đúng cú pháp, không có kết quả nào được xuất ra và trình duyệt báo cho bạn lỗi nó tìm thấy. Sửa XML và nhấn nút lần nữa.
Đúng Cú Pháp So Với Hợp Lệ
Có hai khái niệm khác nhau cùng được gọi là “xác thực” XML. Một tài liệu là đúng cú pháp (well-formed) nếu tuân theo các quy tắc cú pháp của XML 1.0 Recommendation của W3C; nó là hợp lệ (valid) nếu còn tuân theo một lược đồ như DTD hoặc XSD. Công cụ này chỉ kiểm tra tính đúng cú pháp, bằng trình phân tích XML có sẵn trong trình duyệt của bạn. Nó không đọc DTD hay lược đồ, vì vậy một tài liệu đúng cú pháp nhưng sai với ứng dụng của bạn — ví dụ thiếu một phần tử bắt buộc — vẫn được chấp nhận. Các quy tắc công cụ áp dụng:
| Quy tắc | Vi phạm khi |
|---|---|
| Một phần tử gốc | Hai phần tử ở cấp cao nhất, hoặc có văn bản trước phần tử gốc |
| Các phần tử lồng nhau đúng cách | <a><b></a></b> |
| Mỗi thẻ mở có thẻ đóng | <a><b></a>, hoặc <br> thay vì <br/> |
| Tên phân biệt chữ hoa và chữ thường | <Title>…</title> |
| Giá trị thuộc tính được đặt trong dấu nháy | <a id=1/> |
| Không lặp lại thuộc tính trên một phần tử | <a id="1" id="2"/> |
< và & được thoát trong văn bản | <a>5 < 6 & 7</a> phải là 5 < 6 & 7 |
XML định nghĩa đúng năm thực thể dựng sẵn — <, >, &, ' và " — vì vậy một thực thể HTML như là lỗi trừ khi DTD khai báo nó. Với thẻ chưa đóng, thông báo (theo cách diễn đạt của trình duyệt và có thể khác nhau giữa các trình duyệt) chỉ ra cặp thẻ không khớp: trong Chrome, <a><b></a> báo lỗi ở dòng 1, cột 11 với thông báo "Opening and ending tag mismatch: b line 1 and a".
Công Cụ Thay Đổi Những Gì
Công cụ phân tích XML của bạn thành một cây rồi ghi cây đó ra lại, vì vậy kết quả là XML tương đương với bố cục gọn gàng hơn, thay vì một bản sao văn bản của bạn. Hãy lưu ý các khác biệt sau:
- Giữ lại khai báo và DOCTYPE. Dòng
<?xml …?>ở đầu và khai báo<!DOCTYPE …>, kể cả phần con bên trong, được ghi lại đúng như bạn đã gõ. - Thuộc tính giữ nguyên thứ tự nhưng được viết lại với dấu nháy kép.
- Thực thể được giải mã.
'và tham chiếu ký tự như©trở lại thành ký tự thực; chỉ&,<và>trong văn bản, và"trong thuộc tính, được thoát lại. - Phần tử rỗng tự đóng.
<a></a>thành<a/>khi không có nội dung, tuy nhiên phần tử chỉ chứa một khoảng trắng thì thành<a></a>. - Bình luận, phần CDATA và chỉ thị xử lý được giữ lại.
Ví Dụ Minh Họa
Tài liệu một dòng này có một khai báo, một thuộc tính đặt trong dấu nháy đơn, một bình luận và một phần tử rỗng:
Đầu vào
<?xml version="1.0" encoding="UTF-8"?><library><book id='1'><title>APA Manual</title><year>2020</year><!-- note --></book><book id="2"/></library>
Định Dạng, 2 khoảng trắng
Chín dòng và 172 ký tự: khai báo, rồi library sát lề, mỗi book lùi vào hai khoảng trắng, và các phần tử title, year cùng bình luận lùi vào bốn khoảng trắng. Thuộc tính id của cuốn sách đầu tiên giờ được viết là id="1".
Thu Nhỏ
Một dòng dài 146 ký tự.
Thống kê
5 phần tử và độ sâu tối đa là 3 (library, book, title).
Thu Nhỏ giữ khai báo và đưa toàn bộ cây vào một dòng, vì vậy cùng một tài liệu giảm từ 172 xuống 146 ký tự. Thẻ kích thước kết quả hiển thị các số ký tự này.
Bạn Cần Công Cụ Nào?
Trang này dành cho XML. Với HTML, vốn chấp nhận thẻ không đóng và giữ nguyên khoảng trắng nội tuyến, hãy dùng HTML Formatter. Để chuyển XML thành dữ liệu JSON, hãy xem XML to JSON Converter (sắp ra mắt) để biết cách các thuộc tính và phần tử lặp lại được ánh xạ; còn với chính JSON, hãy dùng Công Cụ Định Dạng JSON.
Câu Hỏi Thường Gặp
- Công cụ định dạng XML làm gì?
- Nó thụt lề lại XML để thấy rõ cấu trúc lồng nhau, thường mỗi phần tử một dòng. Công cụ này cũng kiểm tra XML có đúng cú pháp hay không, vì nó phải phân tích tài liệu trước khi có thể ghi lại theo bố cục mới.
- Xác thực XML ở đây hoạt động thế nào?
- Trình phân tích XML có sẵn trong trình duyệt của bạn đọc văn bản. Nếu XML vi phạm một quy tắc cú pháp, lỗi của trình phân tích được hiển thị và không có kết quả nào được tạo ra. Công cụ chỉ kiểm tra tính đúng cú pháp — không xác thực theo DTD hay lược đồ XSD.
- Bình luận, phần CDATA và thuộc tính có được giữ lại không?
- Có: bình luận và phần CDATA được ghi lại như cũ, và thuộc tính giữ nguyên thứ tự, dù dấu nháy được chuẩn hóa thành dấu nháy kép. Khai báo DOCTYPE được ghi lại đúng như bạn đã gõ.
- Thu Nhỏ làm gì?
- Nó loại bỏ khoảng trắng và ngắt dòng giữa các phần tử để tạo ra văn bản tương đương ngắn nhất, đồng thời giữ lại khai báo XML nếu có. Văn bản bên trong các phần tử như
<title>giữ nguyên khoảng trắng, và văn bản cạnh các phần tử con cũng vậy, như một đoạn văn có một từ in đậm. - Vì sao định dạng làm thay đổi khoảng trắng trong văn bản của tôi?
- Chỉ khi định dạng nội dung hỗn hợp — văn bản nằm cạnh các phần tử con, như một đoạn văn có một từ in đậm. Định Dạng cắt phần văn bản đó và đặt từng phần trên một dòng riêng, làm thay đổi khoảng trắng; Thu Nhỏ thì giữ nguyên. XML kiểu dữ liệu, nơi mỗi phần tử chỉ chứa văn bản hoặc các phần tử con, không bị ảnh hưởng.
- Vì sao XML có của tôi lại lỗi?
- XML chỉ có năm thực thể dựng sẵn, và
không nằm trong số đó. Hãy thay bằng tham chiếu số , hoặc khai báo thực thể trong một DTD. - XML của tôi có được tải lên máy chủ không?
- Không. Việc phân tích và định dạng diễn ra trong trình duyệt của bạn, và không có gì bạn dán vào được gửi đi đâu cả.