Beispiel-1 (mit Anmerkungen): XML validieren
Unten sehen Sie das Codefragment des Body eines POST Request. Die nummerierten Beschreibungen dazu finden Sie unterhalb. Der im Codefragment-Request gesendete Befehl hätte das folgende Befehlszeilenäquivalent:
raptorxml xsi First.xml Second.xml --xsd=Demo.xsd
Angefordert wird die Validierung von zwei XML-Dateien anhand eines Schemas. Der Body des Request würde in etwa folgendermaßen aussehen, wenn im Header ---PartBoundary als Begrenzungsstring definiert wurde (siehe Request Header weiter oben).
-----PartBoundary Content-Disposition: form-data; name="msg" Content-Type: application/json
| 1 |
{"command": "xsi", "options": {} , "args": []}
| 2 |
-----PartBoundary Content-Disposition: attachment; filename="First.xml"; name="args" Content-Type: application/octet-stream
| 3 |
<?xml version="1.0" encoding="UTF-8"?> <test xsi:noNamespaceSchemaLocation="Demo.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">42</test>
| 4 |
-----PartBoundary Content-Disposition: attachment; filename="Second.xml"; name="args" Content-Type: application/octet-stream
| 5 |
<?xml version="1.0" encoding="UTF-8"?> <test xsi:noNamespaceSchemaLocation="Demo.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">35</test>
| 6 |
-----PartBoundary Content-Disposition: attachment; filename="Demo.xsd"; name="additional-files" Content-Type: application/octet-stream
| 7 |
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="test" type="xs:int"/> </xs:schema>
| 8 |
-----PartBoundary-- | 9 |
1 | Der Name der Begrenzungen für die Hauptformulardatenteile ist im Request Header deklariert. Das Trennzeichen für die Teile muss ein eindeutiger String sein, der nirgends im eingebetteten Dokument vorkommt. Es hat zwei Bindestriche vorangestellt und dient zum Trennen der verschiedenen Teile. Der erste Formulardatenteil ist (in diesem Beispiel) msg. Beachten Sie, dass der Content-Type application/json ist. |
2 | Dies ist die Standardsyntax für HTTP POST Requests. Wenn args eine Referenz auf eine Datei enthält und wenn weitere Dateien hochgeladen werden, werden beide Dateigruppen an den Server übergeben. |
3 | Das erste Mitglied des args Array ist ein Dateianhang mit dem Namen First.xml. |
4 | Der Text der Datei First.xml. Er enthält eine Referenz auf ein Schema mit dem Namen Demo.xsd, welches ebenfalls - im Formulardatenteil additional-files - hochgeladen wird. |
5 | Das zweite Mitglied des args Array ist ein Anhang mit dem Namen Second.xml. |
6 | Der Text der Datei Second.xml. Auch dieser Teil enthält eine Referenz auf das Schema Demo.xsd. Siehe Beschreibungstext 7. |
7 | Der erste Zusatzdatenteil enthält die Metadaten für den Anhang Demo.xsd . |
8 | Der Text der Datei Demo.xsd. |
9 | Das Ende des Zusatzdatenteils Demo.xsd und des Formulardatenteils additional-files. Beachten Sie, dass vor und hinter dem Trennzeichen für den letzten Teil jeweils zwei Bindestriche vorhanden sind. |