0

validateXML

Validiert XML-Dokumente gegen ein XSD-Schema

Die Funktion validateXML überprüft, ob ein XML-String den im XSD-Schema definierten Regeln entspricht. Sie liest das Schema aus einer Datei, die an einen Datensatz angehängt ist, und gibt ein JSON-Objekt zurück, das das Validierungsergebnis sowie alle erkannten Fehler enthält.

Diese Funktion ist besonders nützlich, um Daten von externen Quellen wie Webservices oder APIs zu validieren und somit die Datenintegrität vor der weiteren Verarbeitung sicherzustellen.

❗Achtung: Falls die Datei kein gültiges XSD-Schema enthält, gibt die Funktion void zurück.

Syntax

validateXML(record, xmlText, xsdFilename)

Parameter

  • record: Der Datensatz, der die angehängte XSD-Schema-Datei enthält.
  • xmlText: Der zu validierende XML-String.
  • xsdFilename: Der Name der an den Datensatz angehängten XSD-Schema-Datei.

Rückgabewert

JSON: Ein JSON-Objekt, das das Validierungsergebnis (true oder false) sowie alle während der Validierung festgestellten Fehler enthält.

Beispiele

1. Gültiger XML-String

let xsd := ---
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="ordertype">
  <xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:element name="order" type="ordertype"/>
</xs:schema>
---;
let xsdFilename := "validation.xsd";
let xsdFile := createTextFile(this, xsd, xsdFilename);
let xmlString := ---
<?xml version="1.0" encoding="UTF-8"?>
<order
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="order.xsd">
</order>
---;
formatJSON(validateXML(this, xmlString, xsdFilename));

Ergebnis

{"result":true,"errors":[]}

2. Ungültiger XML-String

xmlString := ---
<?xml version="1.0" encoding="UTF-8"?>
<order id="123"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="order.xsd">
</order>
---;
formatJSON(validateXML(this, xmlString, xsdFilename));

Ergebnis:

{"result":false,"errors":
[{"domain":17,"code":1827,"level":2,"column":0,"file":"","line":4,"str1":"id"}]}

Siehe auch

formatJSON, erstellt aus einem gültigen JSON-Objekt einen JSON-String.

parseXML, konvertiert einen XML-String in ein JSON-Objekt.

formatXML, konvertiert ein bestimmtes JSON-Objekt in XML-Text um, der optisch strukturiert sein kann.

Antwort

null