I have pretty simple XML shown below.
<?xml version="1.0" ?>
<message>
This is a message with some <bold>highlights</bold> in a text.
</message>
How can I create DTD to validate things inside message element? A mixture of node and text. This does not work.
<!DOCTYPE message [
<!ELEMENT message (#PCDATA, bold)>
<!ELEMENT bold (#PCDATA)>
]>
When you have mixed content (both elements and text), you can't specify order (use |
instead of ,
) and it has to be zero or more occurrences (*
).
Example:
<!DOCTYPE message [
<!ELEMENT message (#PCDATA|bold)*>
<!ELEMENT bold (#PCDATA)>
]>
<message>
This is a message with some <bold>highlights</bold> in a text.
</message>
来源:https://stackoverflow.com/questions/16697850/create-dtd-for-node-with-inner-xml-node-and-text