Zaraz zaraz
pierwsza i
najwazniejsza zasada XML-a mowi, ze moze byc tylko jeden glowny znacznik. I teraz tak:
Po pierwsze dokument jest niepoprawny (w hierarhii pod wzgledem niepoprawnosci zajmuje pierwsze miejsce) wiec nie jest XML-em dlatego nie moze miec DTD
Po drugie po co Ci DTD skoro nie da sie wstawic takiego DOCTYPE

Przypominam ze doctype zawiera root element (a na mocy tego co napisalem wyzej moze on byc tylko jeden).
Podsumowujac to kod ktory napisales jest zly. Poprawnie jest tak:
[xml:1:12cffaf812]
<z>
<x>
<x1></x1>
<x1></x1>
</x>
<y>
<y1></y1>
<y1></y1>
</y>
</z>
[/xml:1:12cffaf812]
Tutaj znacznik z jest glownym znacznikiem. Dopiero teraz trzeba dopisac do tego DTD. A wtedy DTD wygladalo by tak:
[xml:1:12cffaf812]<!ELEMENT y1 (#PCDATA)>
<!ELEMENT y (y1)*>
<!ELEMENT x1 (#PCDATA)>
<!ELEMENT x (x1)*>
<!ELEMENT z (y|x)*>[/xml:1:12cffaf812]
A teraz na marginesie nie wystarczy well-fortamed?