Ist es möglich, XML-Schemas wie DTDs intern zu verwenden?

Ich habe die folgende XML-Datei, die die interne DTD-Validierung enthält:

<?xml version="1.0"?>
<!DOCTYPE animals [
    <!ELEMENT animals (animal)*>
    <!ELEMENT animal (skin, noise, eyes, diet, class, weight, special_skill)>
    <!ELEMENT skin (#PCDATA)>
    <!ELEMENT noise (#PCDATA)>
    <!ELEMENT eyes (#PCDATA)>
    <!ELEMENT diet (#PCDATA)>
    <!ELEMENT class (#PCDATA)>
    <!ELEMENT weight (#PCDATA)>
    <!ELEMENT special_skill (#PCDATA)>
    <!ATTLIST animal name CDATA #REQUIRED >
    <!ATTLIST weight unit CDATA "kg">
]>
<animals>
    <animal name="cow">
        <skin>
            Straight fur
        </skin>
        <noise>
            Moo!
        </noise>
        <eyes>
            2
        </eyes>
        <diet>
            Herbivore
        </diet>
        <class>
            Mammalia
        </class>
        <weight unit="kg">
            635-1134
        </weight>
        <special_skill>
            Chewing
        </special_skill>
    </animal>

    <animal name="sheep">
        ...
    </animal>

</animals>

Ich suchte nach einer Möglichkeit, die DTD-Validierung durch eine XSD zu ersetzen, konnte jedoch keine Beispiele finden. Es scheint, als müssten XSDs immer in einer separaten Datei definiert und von der XML referenziert werden. Stimmt das, dass XSD nicht intern verwendet werden kann?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage