Мне дали простой XML-документ с проверкой DTD со следующей структурой:
люди.xml
<?xml version='1.0' encoding='ISO-8859-15' ?>
<!DOCTYPE people SYSTEM "people.dtd">
<people>
<person dni="1234345F" >
<name>pepe</name>
Description for pepe
<age>12</age>
<subject>maths</subject>
<subject>history</subject>
</person>
<person dni="12343sdfF" >
Description for marcos
<name>marcos</name>
<age>12</age>
<subject>music</subject>
<subject>Spanish</subject>
</person>
<person dni="345634345F" >
<name>JL</name>
<age>25</age>
<subject>science</subject>
<subject>maths</subject>
Description for JL
</person>
</people>
Как видите, расположение текстового узла описания для каждого человека неизвестно в момент проверки. Я написал это DTD:
люди.dtd
<!ELEMENT people (person+)>
<!ELEMENT person (name|age|subject+|#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT subject (#PCDATA)>
<!ATTLIST person dni CDATA #REQUIRED>
Я перепробовал почти все комбинации для этой строки (name|age|subject+|#PCDATA), но мне все еще не удается сопоставить ее с XML-документом.