Учитывая, что в XML вложено несколько элементов name, я не уверен, работает ли он. Должен ли я использовать несколько элементов имени, чтобы описать это?
Есть ли ограничение, которое я пропустил? И я не совсем уверен, правильно ли я здесь использую NMTOKEN против CDATA. PCDATA я в этом совершенно уверен.
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE teachers [
<!ELEMENT teachers (teacher+)>
<!ELEMENT teacher (name,course+)>
<!ATTLIST teacher
joiningDate NMTOKEN #REQUIRED
jobRole CDATA #REQUIRED
>
<!ELEMENT name (#PCDATA)>
<!ELEMENT course (name, submodule+)>
<!ELEMENT submodule (name, year+)>
<!ELEMENT year (#PCDATA)>
]>
<teachers>
<teacher joiningDate="2018" jobRole="Professor">
<name>John Smith</name>
<course>
<name>Intro to Psych 1</name>
<submodule>
<name>The Mind</name>
<year>2018-2019</year>
<year>2019-2020</year>
</submodule>
</course>
<course>
<name>Econ 101</name>
<submodule>
<name>Macro</name>
<year>2018-2019</year>
<year>2019-2020</year>
</submodule>
</course>
</teacher>
</teachers>