\/\/\/\/\/\/\/\/\/\/
No. A DTD element does not have an organizational structure of an XML document, specifically it does not have a root element in which other elements are embedded.
\/\/\/\/\/\/\/\/\/\/
Yes. A valid comment in both DTD and XML look like:
\/\/\/\/\/\/\/\/\/\/
The one from the internal subset.
\/\/\/\/\/\/\/\/\/\/
0 or 1. A well-formed XML document can contain a DOCTYPE declaration but this is not mandatory. In any case no valid XML document can contain more than 1 DOCTYPE declaration.
\/\/\/\/\/\/\/\/\/\/
No. A DTD can only be associated with the root element of the XML document, therefore with the entire XML content.
\/\/\/\/\/\/\/\/\/\/
No. Even if a general purpose URL can contain anchor locations like "#part2" an URL specified in a DOCTYPE cannot contain the hash mark "#" character.
\/\/\/\/\/\/\/\/\/\/
Yes. This particular DTD declaration implicitly contains the SYSTEM identifier, even if the word "SYSTEM" is not contain in the declaration. In fact the declaration should be read as:
The signification is that the SYSTEM declaration will used if the PUBLIC declaration cannot be resolved. Since there is no standard way of handling URIs like the one mentioned by the PUBLIC declaration, the SYSTEM declaration will probably be used in most cases.
Observation:
It is illegal to specify the SYSTEM keyword in the above declaration. If the PUBLIC declaration is used then the SYSTEM declaration will be implied but *not* clearly stated by using the keyword "SYSTEM".
\/\/\/\/\/\/\/\/\/\/
No. It is *illegal* to have an empty space between the exclamation mark and the following keyword (in this case ELEMENT).
\/\/\/\/\/\/\/\/\/\/
Yes. Empty space and new lines can be used at will in order to improove the readibility of the DTD document. The exception to this rule is that there can be no empty space between the exclammation mark and keyword that follows (the keyword "ELEMENT" in this case).
\/\/\/\/\/\/\/\/\/\/
No. All DTD definition must start with "<!". It is illegal to have an empty space or a new line bewteen "<" and "!".
\/\/\/\/\/\/\/\/\/\/
Answer: yes.
\/\/\/\/\/\/\/\/\/\/
No. A mixed model ELEMENT must start with #PCDATA:
\/\/\/\/\/\/\/\/\/\/
No. A mixed model ELEMENT must end with a cardonality of 0...infinite e.g. it must end with a start "*":
\/\/\/\/\/\/\/\/\/\/
No. This element is *not* a mixed model element because it only has two children of type names "someData" and "someChild".
Is the following XML valid ? (assume that the nodes someData and someChild are properly defined to match the XML document) Yes / No
\/\/\/\/\/\/\/\/\/\/
No. The element "someElement" cannot contain the children "someData" and the children "someChild" at the same time. According to the DTD definition the two children are mutually exclusive.
\/\/\/\/\/\/\/\/\/\/
Answer: No.
\/\/\/\/\/\/\/\/\/\/
Answer: Yes.
\/\/\/\/\/\/\/\/\/\/
No. It is not legal to include the character "<" in an attribute name. The less-than operator must be represented as "<":
Observation:
The greater-then operator does not need to be represented as an entity reference, but it is a good practice to do so:
\/\/\/\/\/\/\/\/\/\/
No. A valid definition is:
\/\/\/\/\/\/\/\/\/\/
No. Commas are forbidden:
I wish you success in your certification effort.
If you wish to add something feel free to use the forums.