Umgang mit XSD Schemata
Bei dem meisten XML basierten Datenquellen wird die Datenstruktur per XSD Schema beschrieben (bspw. WFS Dienste).
Die Eigenschaften werden dabei vom Dienstanbieter geliefert, dies erfolgt über XSD Schemas.
Ein XSD Schema verfügt i.d.R. über Import oder Include Anweisungen, so dass letztendlich eine Kaskade von Dateien an einem "Schema" beteiligt ist.
Die Auswertung kann nur korrekt erfolgen, wenn alle beteiligten Dateien verfügbar sind (sprich: heruntergeladen)
Intern erfolgt eine Caching der Schemas. Im Kontext einer Ebenendefinition werden die dort angegebenen Daten zum Proxy-Server, Login. etc. bei Schemaabruf berücksichtigt.
In seltenen Fällen kann es dabei Probleme gegeben, bspw. wenn ein interner Dienst, der externe Schema referenziert ohne Proxy verwendet wird.
Folgende XSD sind lokal eingebettet und werden nie aus dem Internet abgerufen:
- www.w3.org/1999/xlink.xsd
- www.w3.org/2001/xml.xsd
Die folgenden Beschreibung gilt für Iwan Version >= 7.6.4.26.
Alle anderen Schemas werden entsprechen der referenzierenden URL gelesen.
Bei Bedarf können die Dateien lokal hinterlegt werden. Es gilt dabei:
Schau zuerst ...
dass die URL ist keine Datei (file://....)
das der Pfad der Url ist nicht leer (http://foo.org/pfad)
das keine Query-String Argumente vorhanden sind (http://foo.org/pfad?arg1)
prüfen, dann ob ein lokaler Ordner nach dem Schema
<GlobalWorkingDir>XSD\<HOST>
vorhanden ist und dort die Datei aus dem Pfad-Teil der URL vorhanden istwenn ja: verwende die lokale Datei
wenn nein: fahre mit dem Download der Ressource aus der ursprünglich angegebenen Quelle fort
Bsp.:
Die Angeforderte Resource ist https://schemas.opengis.net/wfs/2.0/wfs.xsd ...
Dazu würde geprüft werden, ob (auf dem Rechner wo das Programm, also iwan oder geoTools etc. läuft) die Datei D:\Temp\XSD\schemas.opengis.net\wfs\2.0\wfs.xsd
vorhanden ist, die dann alternativ verwendet werden würde.
d:\temp\ wäre hier das "GlobalWorkingDir", im Fall von Iwan7 siehe $default.config im Iwan7 Installationsordner, im Trace mit dem Level TraceDetailEx werden die Details dazu ausgegeben.
Die Schemas für schemas.opengis.net können als ein ZIP von der gleichnamigen Seite heruntergeladen werden.
Zuletzt geändert: 19.09.2023 09:10:12 (erstmals erstellt 25.08.2023)