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
Content aside
- vor 4 TagenZuletzt aktiv
- 6Ansichten
-
1
Folge bereits