Ich habe eine Frage und zwar ich will eine xmlSchema in ein XmlDocument einbinden oder referenzieren.hat jemand eine Idee wie ich das hier programmgesteuert machen kann oder mit welcher .net Klasse???
Announcement
Collapse
No announcement yet.
XmlSchema einbindung in Xml Document
Collapse
X
-
Hallo Herr Kadiri,
Um ein XML Schema mit einer XML-Datei zu verbinden, stehen Ihnen grundsätzlich zwei Möglichkeiten zur Verfügung:
1) Inline Schema
2) schemaLocation-Attribut
Von Inline Schemas rate ich Ihnen allerdings ab, da dies nicht XML-konform ist und nicht alle validierenden Parser dies verstehen. Die zweite, und meines Erachtens bessere Lösung, ist ein Verweis auf das XML Schema, also die XSD-Datei, in das XML-Dokument aufzunehmen. Hierfür müssen Sie das Wurzelelement um folgende Attribute erweitern:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.dot.com/schema-irgendwas IhrSchema.xsd"
Die XmlValidatingReader-Klasse erkennt das schemaLocation-Attribut, lädt das angegebene Schema und führt die Validierung entsprechend durch. Um mittels dem DOM, also der XmlDocument-Klasse diese Attribute hinzuzufügen, verwenden Sie die DocumentElement-Eigenschaft und die SetAttribute-Methode:
XmlDocument.DocumentElement.SetAttribute("xmlns:xs i", "http://www.w3.org/2001/XMLSchema-instance")
Ich hoffe, das hilft Ihnen weiter, ansonsten nochmal posten.
Viele Grüße
Martin Szugat
www.aboutxml.dMartin Szugat
www.aboutxml.de
Comment