Gegeben sei folgende DTD. Erstellen Sie ein Beispieldokument dazu.
Eine mögliche Lösung zu dieser Aufgabe finden Sie auf der nächsten Seite.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Aus einer DTD ein Beispieldokument erstellen -->
<!DOCTYPE test [
<!ELEMENT test (ElementA, ElementC)>
<!ELEMENT ElementA (ElementB?)>
<!-- <!ATTLIST ElementA
att1 CDATA #IMPLIED>-->
<!ELEMENT ElementB (#PCDATA | color )*>
<!ELEMENT color (#PCDATA)>
<!ELEMENT ElementC (ElementA, ElementD)>
<!ELEMENT ElementD (ElementE+)>
<!ELEMENT ElementE EMPTY>
]>Nachfolgendes Listing zeigt ein mögliches Instanzdokument für die gegebene DTD.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Aus einer DTD ein Beispieldokument erstellen -->
<!DOCTYPE test [
<!ELEMENT test (ElementA, ElementC)>
<!ELEMENT ElementA (ElementB?)>
<!ATTLIST ElementA
att1 CDATA #IMPLIED>
<!ELEMENT ElementB (#PCDATA | color )*>
<!ELEMENT color (#PCDATA)>
<!ELEMENT ElementC (ElementA, ElementD)>
<!ELEMENT ElementD (ElementE+)>
<!ELEMENT ElementE EMPTY>
]>
<!--
<!ATTLIST ElementA
att1 CDATA #FIXED '42'> -->
<test>
<ElementA att1="42">
<ElementB>the quick <color>brown</color>
fox jumps over the lazy dog</ElementB>
</ElementA>
<ElementC>
<ElementA/>
<ElementD>
<ElementE/>
<ElementE/>
</ElementD>
</ElementC>
</test> Gegeben sei folgendes XML-Dokument. Erstellen Sie eine DTD dazu.
Eine mögliche Lösung zu dieser Aufgabe finden Sie auf der nächsten Seite.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Aus einem Beispieldokument eine DTD erstellen -->
<root>
<elementA attA="42">
<elementB/>
<elementC attC="77">
<elementD>
<elementE attA="test" attB="">
<nothing/>
</elementE>
</elementD>
</elementC>
<elementC/>
</elementA>
<elementA attA="99">
<nothing/>
</elementA>
</root>Nachfolgendes Listing zeigt eine mögliche DTD für das angegebene XML-Dokument.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Aus einem Beispieldokument eine DTD erstellen -->
<!DOCTYPE root [
<!ELEMENT root (elementA+)>
<!ATTLIST elementA
attA CDATA #REQUIRED>
<!ELEMENT elementA ( (nothing)* | (elementB, elementC+) )>
<!ELEMENT nothing EMPTY>
<!ELEMENT elementB EMPTY>
<!ELEMENT elementC (elementD?)>
<!ATTLIST elementC
attC CDATA #FIXED "77">
<!ELEMENT elementD (elementE)>
<!ELEMENT elementE (nothing)>
<!ATTLIST elementE
attA CDATA #FIXED "test"
attB CDATA #IMPLIED>
]>
<root>
<elementA attA="42">
<elementB/>
<elementC attC="77">
<elementD>
<elementE attA="test" attB="">
<nothing/>
</elementE>
</elementD>
</elementC>
<elementC/>
</elementA>
<elementA attA="99">
<nothing/>
</elementA>
</root>