Tôi đang cố tạo một DTD cho một tài liệu XML. Tài liệu này có hai con - một chứa dữ liệu có cấu trúc và dữ liệu phi cấu trúc khác ví dụ;Sử dụng DTD, một phần tử có thể được khai báo cho phép bất kỳ nội dung XML nào không?
<doc>
<structured>
<foo x="9"/>
<foo x="4"/>
</structured>
<unstructured>
<hello/>
<world x="2">
<hi msg="something"/>
<anything/>
</world>
</unstructured>
</doc>
Tôi muốn tạo ra một DTD cho XML ở trên cho phép các yếu tố <unstructured>
để chứa bất kỳ XML hợp lệ. Tôi đã thử DTD này;
<!ELEMENT doc (structured,unstructured)
<!ELEMENT structured (foo*)
<!ELEMENT foo EMPTY>
<!ATTLIST foo x CDATA #REQUIRED>
<!ELEMENT unstructured ANY>
Nhưng lỗi được tạo ra như thế này;
No declaration for element hello
No declaration for element world
..etc
tôi muốn cho phép <unstructured>
để chứa bất kỳ XML hợp lệ. Có cách nào trong DTD để cho phép một phần tử được chỉ định chứa bất kỳ XML có thể phân tích cú pháp nào không?
Tôi đang sử dụng PHP 5.3 DOMDocument :: validate.