Định dạng XML
Dán XML và nó tự dàn trang — văn bản và thuộc tính giữ nguyên.
XML đã định dạng
Cách sử dụng
- Dán XML vào ô — nó được định dạng ngay khi bạn gõ, không có nút nào cần bấm.
- Chọn Định dạng hoặc Thu gọn, và 2 hay 4 dấu cách cho thụt lề; kết quả cập nhật tức thì.
- Nếu cấu trúc bị lỗi, thông báo nêu dòng, cột và phần tử. Sao chép kết quả hoặc tải xuống dưới dạng tệp .xml.
Ví dụ
Đầu vào
<order id="A-1042"><customer><name>Nguyễn Văn Minh</name><email>minh@example.com</email></customer><items><item sku="X-1" qty="2">Bánh răng máy phân tích</item><item sku="X-2" qty="1">Bộ thẻ đục lỗ</item></items></order>
Đã định dạng
<order id="A-1042"> <customer> <name>Nguyễn Văn Minh</name> <email>minh@example.com</email> </customer> <items> <item sku="X-1" qty="2">Bánh răng máy phân tích</item> <item sku="X-2" qty="1">Bộ thẻ đục lỗ</item> </items> </order>
Chỉ dùng quy tắc mặc định: mỗi phần tử một dòng, hai dấu cách mỗi cấp. Thứ tự thuộc tính, dấu nháy và giá trị không bị đổi, và văn bản bên trong <name> cũng vậy.
Quy tắc, giới hạn và các vấn đề đã biết
- Chỉ kiểm tra cấu trúc: cặp thẻ, dấu nháy/trùng lặp/phân tách của thuộc tính, tên phần tử và thuộc tính, cú pháp thực thể. Không kiểm tra DTD hay XSD, không mở rộng thực thể, không kiểm tra ràng buộc tiền tố namespace.
- Chỉ khoảng trắng cấu trúc được viết lại — khoảng trắng giữa các thuộc tính và khoảng trắng tạo nên một phần tử không có văn bản. Thứ tự thuộc tính, kiểu dấu nháy, giá trị, thực thể, chú thích, CDATA và tập con nội bộ của DOCTYPE được sao chép từng ký tự.
- Nội dung hỗn hợp không bao giờ bị thụt lề lại: trong <p>Hi <b>there</b>!</p> khoảng trắng được giữ như khi nhập, vì thêm xuống dòng sẽ làm thay đổi văn bản. Điều này cũng áp dụng cho xml:space="preserve", được sao chép nguyên văn.
- Phần tử rỗng giữ đúng dạng bạn đã nhập: <a></a> không bị thu thành <a/>, và <a/> không bị mở rộng. Thuộc tính không bị sắp xếp và dấu nháy không được thống nhất.
- Thu gọn chỉ xóa khoảng trắng cấu trúc. Khoảng trắng trong văn bản, chú thích, CDATA và DOCTYPE được giữ — không gì bị bỏ khỏi nội dung của bạn.
- Một thẻ, chú thích, CDATA hoặc DOCTYPE chưa đóng ở cuối đầu vào được báo là cảnh báo, không phải lỗi: bạn vẫn nhận kết quả. Lỗi thật (thẻ không khớp, giá trị thuộc tính không có nháy, dấu "&" lạc) là lỗi kèm dòng và cột.
- Một fragment (nhiều phần tử cấp cao nhất, hoặc có văn bản ngoài phần tử gốc) vẫn được định dạng và được báo là fragment. Đầu vào không có phần tử nào là lỗi.
- Số dòng và cột đếm theo điểm mã Unicode, nên một emoji là một cột. Chỉ dấu cách, tab, xuống dòng và về đầu dòng được coi là khoảng trắng; U+3000 hay U+00A0 bên trong văn bản là nội dung và không bao giờ bị xóa.
- Không phải HTML: các thẻ đóng được lược bỏ như </li> hay <br> bị báo là chưa đóng. Không tải tệp lên, không tham số URL, không lịch sử, không xem dạng cây, không chuyển XML→JSON. Mọi thứ chạy trong trình duyệt: không gì được tải lên hay lưu lại.
- Trên 200.000 ký tự, kết quả cập nhật khoảng 0,6 giây sau khi bạn ngừng gõ; văn bản không bao giờ bị cắt bớt. Đầu ra dùng LF và không có dòng mới ở cuối; việc định dạng có tính idempotent.
Công cụ liên quan
Những việc thường cần làm tiếp sau khi cấu trúc đã dễ đọc.