2016-04-27 5 views
1

Ich muss einige Regeln auf meine XML-Datenbank in BaseX anwenden (wie einzigartige Element-Werte). BaseX bietet einen Befehl, um zu überprüfen, ob eine XML-Datei bei einer xsd-schema-Datei gültig ist. Aber wie man es auf eine Datenbank anwendet (oder wie man den Pfad der xml-Datei erhält, die von baseX unterstützt wird)Validiere BaseX XML-Datenbank gegen XSD-Schema

Antwort

2

tun nur so ähnlich (siehe Validation Module für weitere Details):

for $doc in db:open('db') 
return validate:xsd($doc, 'schema.xsd') 
+0

ist es eine Möglichkeit (eine Insert-Abfrage zum Beispiel), ob ein Update zu überprüfen woukd eine XSD-Regel verstoßen? – Jan

+0

Erstellen Sie einfach eine Hauptspeicherinstanz Ihres Dokuments und validieren Sie sie, bevor Sie sie in der Datenbank speichern. Dies kann z.B. sehe wie folgt aus: 'let $ doc: = db: open ('db', 'doc.xml') aktualisiere (delete node .// text()) return (validiere: xsd ($ doc, 'schema.xsd') , db: replace ('db', 'doc.xml', $ doc) ' –