Ist es überhaupt möglich, Benutzer daran zu hindern, die XML-Struktur einer Datei zu verändern, sondern nur Daten einzugeben/zu ändern?
Es gibt nichts inXSD-Einschränkungen/Facettendas dies angibt.
Ich habe gesehendiese SO-Antwortüber das Angeben von schreibgeschützten Knoten, aber:
- Ich möchte das Gegenteil: Knoteninhalte sollten editierbar sein, Knotenstruktur nicht.
- Muss ich selbst etwas programmieren oderwenn das möglich istunterstützen XML-Editoren dies?
Ich möchte hieraus keine Softwareanfrage stellen, habe aber keine Ahnung, in welche Richtung ich gehen muss, um dies zu erreichen?
Hinweis: Dies geschieht in einer „kontrollierten“ Umgebung, d. h. Kollegen müssen die Daten eingeben, aber ich möchte nicht, dass sieversehentlichdie Struktur ändern.
Antwort1
xmlstarlet
hat einBefehl
beschreibt ein XML-Dokument als eine Liste von XPath-Ausdrücken: Elementnamen und optional Attributnamen und -werte, wobei Element- und optional Attributinhalte ignoriert werden. Vergleichen Sie also die Ausgabe dieses Befehls, nachdem er weitergeleitet wurde md5sum
, vor und nach der Bearbeitung des XML-Dokuments, um zu entscheiden, ob Änderungen akzeptabel sind.
Wenn xmlstarlet
dies nicht verfügbar ist, ist es nicht kompliziert, mit einem XSLT-Prozessor eine ähnliche Ausgabe zu erzeugen.