Ich habe ein XML-Format verwendet, das aus verschiedenen vorhandenen Formaten und einigen benutzerdefinierten Elementen und Attributen besteht, und ich dachte, ich sollte ein Schema für diese benutzerdefinierten Bits schreiben.Deklarieren eines Attributs für einen anderen Namespace in XML Schema
Eines, was ich tun, ist die Verwendung benutzerdefinierte auf Elemente in bestehende Formate Attribute wie folgt aus:
<ns1:something attA="b" attB="a" ns2:extraAtt="c"/>
Ich verstehe, dass dies zu tun erlaubt ist, aber ich kann nicht glauben, wie mein „extraAtt“ in XML-Schema zu erklären oder , schlimmer, in einer DTD.
Ich habe versucht, die specification lesen, aber es könnte genauso gut in Chinesisch geschrieben werden, soweit es mich betrifft. Die meisten Lernprogramme sprechen nur über "Name", "Typ" und "Verwendung", z. this one und that one.
Vielen Dank für antwortend! Ich bin ein wenig enttäuscht, dass meine XML-Dokumente nicht gültig sein können, wenn die Autoren des Schemas für ns1 nicht die Voraussicht hatten, Erweiterungen zuzulassen. ;-) Wenn das Format von ns1 nur in einer DTD definiert ist, was meines Wissens nach kein Äquivalent zu xs: anyAttribute ist, macht das meine Dokumente dann gültig oder ungültig? (Ich hoffe, dass ich einen Sinn habe.) – scozy
Der Definierer eines Begriffs muss sagen, was es bedeutet. Der Definierer des Elements ns1: etwas sagt was sie als gültige Instanz zählen wollen. Der Begriff * valid * ist ein technischer Begriff, der die Beziehung eines Dokuments zu einem gegebenen Schema beschreibt. Die DTD-Gültigkeit wird in Form von Schemas definiert, die in DTD-Notation geschrieben sind, XSD-Validität in Form von XSD-Schemata; Weder bietet sie eine Validierung in gemischten Schemasprachen. Ob Ihnen das wichtig ist, hängt davon ab, warum das Dokument gültig sein soll. –