Tôi đã tự hỏi liệu có cách nào để thoát mã thông báo kết thúc CDATA ( ]]>
) trong phần CDATA trong tài liệu xml không. Hoặc, nói chung, nếu có một chuỗi thoát nào đó để sử dụng trong CDATA (nhưng nếu nó tồn tại, tôi đoán có lẽ chỉ có nghĩa là thoát khỏi mã thông báo bắt đầu hoặc kết thúc, dù sao đi nữa).
Về cơ bản, bạn có thể có mã thông báo bắt đầu hoặc kết thúc được nhúng trong CDATA và yêu cầu trình phân tích cú pháp không diễn giải nó mà chỉ coi nó như một chuỗi ký tự khác.
Có lẽ, bạn chỉ nên cấu trúc lại cấu trúc xml hoặc mã của mình nếu bạn thấy mình đang cố gắng làm điều đó, nhưng mặc dù tôi đã làm việc với xml hàng ngày trong 3 năm qua và tôi chưa bao giờ gặp phải vấn đề này, Tôi đã tự hỏi nếu nó có thể. Chỉ tò mò thôi.
Biên tập:
Khác với việc sử dụng mã hóa html ...
CDATA
được thiết kế để cho phép mọi thứ : chúng được sử dụng để thoát khỏi các khối văn bản có chứa các ký tự mà nếu không nó sẽ được công nhận là đánh dấu Điều đó CDATA
cũng ngụ ý vì nó cũng là đánh dấu. Nhưng, trên thực tế, bạn không cần mã hóa kép mà tôi ngụ ý. ]]>
là một phương tiện mã hóa được chấp nhận CDEnd
trong vòng a CDATA
.
>
như>
trong CData để đảm bảo nhúng]]>
sẽ không được phân tích cú pháp như CDEnd. Điều đó đơn giản có nghĩa là nó bất ngờ và&
phải được mã hóa ĐẦU TIÊN&
để dữ liệu có thể được giải mã chính xác. Người dùng của tài liệu cũng phải biết để giải mã CData này. Không có gì lạ khi một phần của mục đích của CData là chứa nội dung mà một người tiêu dùng cụ thể hiểu cách xử lý. Một CData như vậy không thể được dự kiến sẽ được giải thích đúng bởi bất kỳ người tiêu dùng chung chung nào.