Я хочу создать схему DTD для этого XML-документа:
<root>
<student>
<name>
<firstname>S1</firstname>
<lastname>S2</lastname>
</name>
</student>
<course>
<name>CS101</name>
</course>
</root>
Как видите, элемент name
в course
содержит простой текст, но элемент name
в student
имеет сложный тип (имя, фамилия). Ниже приводится DTD:
<!ELEMENT root (course|student)*>
<!ELEMENT student (name)>
<!ELEMENT name (lastname|firstname)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT course (name)>
Когда я хочу подтвердить это, я получаю ошибку, потому что name
курса имеет структуру, отличную от name
студента.
Мой вопрос:
- как сделать обходное решение для этой ситуации без изменения имени элемента
name
, используя DTD, а не XML-схему.
Спасибо.