Ich möchte nur eine XSD für beliebige XML-Elemente mit so vielen Wurzeln wie möglich. Die Einschränkung ist, dass es kein selbst schließendes Tag und keine erlaubten Attribute geben sollte. Jede mögliche Verschachtelungsebene Zum BeispielXSD für keine Attribute und keine selbstschließende
<a>A<b>BB</b><c></c></a><d>aa</d>
Beachten Sie, dass es mehrere Wurzeln und kein Attribut und keine Selbstschließung gibt.
Also, was ist der richtige Weg, um dies zu validieren. – user960567
@ user960567: Sie haben eine gründliche Antwort erhalten, in der Sie erklärt haben, dass Ihre Textdaten keine XML sind und daher nicht mit XML-Standards wie XSD validiert werden können. Sie würden wahrscheinlich davon profitieren, mehr über den Unterschied zwischen wohlgeformten und gültigen XML-Dateien zu lesen (http://stackoverflow.com/a/25830482/290085). Der "richtige" Weg ist es, Ihre Daten zu einem wohlgeformten XML zu machen. Andernfalls können Sie eine neue Sprache definieren (nicht XML) und neue Tools zum Parsen und Validieren für diese Sprache erstellen. – kjhughes
Sie können dies natürlich überprüfen, indem Sie es in wohlgeformtes XML umwandeln und das Ergebnis der Konvertierung validieren. Dies kann so einfach sein, wie '' am Anfang und '' am Ende hinzuzufügen. Aber es gibt noch weitere Probleme. Sie können selbstschließende Tags nicht verhindern, da dies eher eine lexikalische Einschränkung als eine strukturelle Einschränkung darstellt. Sie können Elemente mit beliebigem Namen mithilfe von Platzhaltern zulassen, aber Sie können die Struktur solcher Elemente nicht einschränken (z. B. keine Attribute haben): Wenn Sie Elemente mit beliebigen Namen zulassen möchten, müssen Sie auch zulassen, dass sie beliebigen Inhalt haben. –