Ich bin auf der Suche nach Code, der Folgendes tun kann. Bei einem Ausschnitt aus XML, sagt:Gibt es eine Java-Bibliothek, um zu validieren, dass ein XML-Snippet eine Teilmenge einer größeren XML-Datei ist?
<c>Some text</c>
und eine komplette XML-Datei:
<a>
<b>
<c>Some text</c>
</b>
</a>
prüfen, ob die Schnipsel sind in der Tat eine gültige Teilmenge der gesamten XML-Datei. Ich habe mir XMLUnit angesehen, was wirklich gut aussieht, aber es scheint, nur komplette Dateien gegeneinander zu validieren.
Für die Probe oben würde ein einfacher String-Vergleich funktionieren, aber andere Funktionen, die ich könnte sein, unterstützen möchte:
1) Reihenfolge der untergeordneten Elemente nicht wichtig. Z.B.
<b>
<c>Some text</c>
<d>Other text</d>
</b>
ist eine gültige Teilmenge von
<a>
<b>
<d>Other text</d>
<c>Some text</c>
</b>
</a>
2) Ignorieren Leerzeichen, Tabulatoren, neue Linien usw.
3) Ein schönes Skelett XMLUnit zu haben Merkmals würde, wo Knotennamen und Struktur geprüft , aber keine Inhaltswerte. Z.B. <c>Some text</c>
wäre gültig im Vergleich zu <c>Other text</c>
.
Warum nicht 'xpath.evaluate()' Funktion für die Auswertung verwenden? –
XML ist eine hierarchische Struktur, sodass jedes gültige XML-Fragment als vollständiges XML-Dokument interpretiert werden kann. Ich sehe kein Problem, irgendeine Art von XML-Validierung gegen Ihr Fragment foo ausführen. –
AlexR
@Die Elite Gentleman - Könnten Sie erweitern? Und könnte es optimiert werden, um die Punkte 1, 2 und 3 oben zu treffen? –