# Fehlermeldungen des ilivalidator

**URL:** <https://interlis.discourse.group/t/fehlermeldungen-des-ilivalidator/223>\
**Category:** INTERLIS Werkzeuge\
**Created:** [12. Dezember 2023 um 15:17 UTC](https://interlis.discourse.group/t/fehlermeldungen-des-ilivalidator/223 "2023-12-12T15:17:12Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Peter2](https://avatars.discourse-cdn.com/v4/letter/p/d2c977/32.png) [@Peter2](https://interlis.discourse.group/u/Peter2)\
**Post date:** [12. Dezember 2023 um 15:17 UTC](https://interlis.discourse.group/t/fehlermeldungen-des-ilivalidator/223/1 "2023-12-12T15:17:13Z")

</div>

der ilivalidator bringt ja bei Problemen viele Meldungen, jetzt habe ich z.B.

```auto
Info: modeldir <http://www.sia.ch/405>
Info: lookup model <SIA405_FERNWAERME_2015_LV95> 2.3 in repository <http://www.sia.ch/405/>
Warning: repository <http://www.sia.ch/405/> ignored; failed to read ilimodels.xml; javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50]
Message: Leerstellen erforderlich zwischen publicId und systemId.; ParseError at [row,col]:[1,50]
Message: Leerstellen erforderlich zwischen publicId und systemId.
Warning: repository <http://www.sia.ch/405> ignored; failed to read ilisite.xml; javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,50]
Message: Leerstellen erforderlich zwischen publicId und systemId.; ParseError at [row,col]:[1,50]
Message: Leerstellen erforderlich zwischen publicId und systemId.
Error: SIA405_FERNWAERME_2015_LV95: model(s) not found

```

Googeln nach „…publicId und systemId“ bringt reichlich, aber für Babette nicht viel. Die Repochecks von @beistehen zeigen, dass VSA [EDIT: und SIA] anscheinend jetzt gut läuft.

Was heisst die Fehlermeldung?  
Oder: gibt es wo eine Meldungsliste, die man nachschauen kann?

---

<div class="post-metadata">

**Author:** ![Peter2](https://avatars.discourse-cdn.com/v4/letter/p/d2c977/32.png) [@Peter2](https://interlis.discourse.group/u/Peter2)\
**Post date:** [12. Dezember 2023 um 15:40 UTC](https://interlis.discourse.group/t/fehlermeldungen-des-ilivalidator/223/2 "2023-12-12T15:40:30Z")

</div>

Zwischenerkenntnis:  
Laut [INTERLIS Model Browser](https://ilimodels.ch/?query=SIA405_FERNWAERME_2015_LV95) liegt

- das Model auf [https://405.sia.ch/models/2015/SIA405\_Fernwaerme\_2015\_2\_d-20180426.ili](https://405.sia.ch/models/2015/SIA405_Fernwaerme_2015_2_d-20180426.ili)
- der Herausgeber auf „[geodaten - sia | schweizerischer ingenieur- und architektenverein](http://www.sia.ch/405)“

Wenn man nun als Modellverzeichnis (naiv) „[geodaten - sia | schweizerischer ingenieur- und architektenverein](http://www.sia.ch/405)“ statt „[Index of /models](https://405.sia.ch/models)“ eingibt, das ist die Misere fertig.

EDIT (bei mir werden die Links oben in die entsprechenden Beschreibungen umgewandelt, daher hier mit geteilten Texten nochmals):

Zwischenerkenntnis:  
Laut [INTERLIS Model Browser](https://ilimodels.ch/?query=SIA405_FERNWAERME_2015_LV95) liegt

- das Model auf [https://405.sia.ch/models/2015/SIA405\_Fernwaerme\_2015\_2\_d-20180426.ili](https://405.sia.ch/models/2015/SIA405_Fernwaerme_2015_2_d-20180426.ili)
- der Herausgeber auf „http:// www. sia. ch/ 405“

Wenn man nun als Modellverzeichnis (naiv) „http:// www. sia. ch/ 405“ statt „https:// 405. sia. ch / models“ eingibt, das ist die Misere fertig.

---

<div class="post-metadata">

**Author:** ![edigonzales](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/edigonzales/32/4_2.png) [@edigonzales](https://interlis.discourse.group/u/edigonzales)\
**Post date:** [12. Dezember 2023 um 15:52 UTC](https://interlis.discourse.group/t/fehlermeldungen-des-ilivalidator/223/3 "2023-12-12T15:52:48Z")

</div>

> [@Peter2](#):
>
> `http://www.sia.ch/405`

Woher stammt die Url „[geodaten - sia | schweizerischer ingenieur- und architektenverein](http://www.sia.ch/405)“? Die offizielle Url des SIA-Repos ist m.E. korrekt bei [models.interlis.ch](http://models.interlis.ch) eingetragen und das Modell sollte somit ohne zusätzliche Angabe eines Repos gefunden werden.

Siehe [Allgemeine technische INTERLIS-Modelle](https://models.interlis.ch/ilisite.xml)

Stefan

---

<div class="post-metadata">

**Author:** ![ThomasMarti](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/thomasmarti/32/73_2.png) [@ThomasMarti](https://interlis.discourse.group/u/ThomasMarti)\
**Post date:** [12. Dezember 2023 um 16:16 UTC](https://interlis.discourse.group/t/fehlermeldungen-des-ilivalidator/223/4 "2023-12-12T16:16:29Z")

</div>

Auszug aus [models.interlis.ch/ilimodels.xml](http://models.interlis.ch/ilimodels.xml)

![Aufnahme2](https://global.discourse-cdn.com/free1/uploads/interlis/original/1X/2658710c145694ec8cb06b383054fb9ea0e20822.png)

Muss das so sein?

---

<div class="post-metadata">

**Author:** ![beistehen](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/beistehen/32/7_2.png) [@beistehen](https://interlis.discourse.group/u/beistehen)\
**Post date:** [13. Dezember 2023 um 08:05 UTC](https://interlis.discourse.group/t/fehlermeldungen-des-ilivalidator/223/5 "2023-12-13T08:05:23Z")

</div>

> [@ThomasMarti](#):
>
> Muss das so sein?

Ja, alles korrekt. Wo siehst du ein Problem?

---

<div class="post-metadata">

**Author:** ![Peter2](https://avatars.discourse-cdn.com/v4/letter/p/d2c977/32.png) [@Peter2](https://interlis.discourse.group/u/Peter2)\
**Post date:** [13. Dezember 2023 um 10:11 UTC](https://interlis.discourse.group/t/fehlermeldungen-des-ilivalidator/223/6 "2023-12-13T10:11:01Z")

</div>

> [@edigonzales](#):
>
> …Woher stammt die Url [http://www.sia.ch/405](http://www.sia.ch/405)…

Das ist der erste Teil des Problems. Er ist einfach vom Wert „Herausgeber“ kopiert. Ist vielleicht nicht richtig und nicht schlau, kann aber vorkommen - ein klassischer Fehler: falsche URL (Tippfehler, Denkfehler, Systemfehler, …)

Der zweite Teil des Problems ist die Fehlermeldung. Die für den Anwender relevante Information ist : „URL nicht vorhanden“ oder „bei der URL gibt es keine Modelle“. Das geht aber als siebente Zeile nach 2 Warnings und 4 Messages für den Laien ziemlich unter. Der kapituliert zwischen publicID und failed to read …

---

<div class="post-metadata">

**Author:** ![beistehen](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/beistehen/32/7_2.png) [@beistehen](https://interlis.discourse.group/u/beistehen)\
**Post date:** [13. Dezember 2023 um 10:32 UTC](https://interlis.discourse.group/t/fehlermeldungen-des-ilivalidator/223/7 "2023-12-13T10:32:22Z")

</div>

> [@Peter2](#):
>
> Das ist der erste Teil des Problems. Er ist einfach vom Wert „Herausgeber“ kopiert. Ist vielleicht nicht richtig und nicht schlau, kann aber vorkommen - ein klassischer Fehler: falsche URL (Tippfehler, Denkfehler, Systemfehler, …)

Grundsätzlich sollte man sich nicht mit den Repository-URLs herumschlagen müssen. Das wichtigste Repository (weil hierarchisch an der Spitze) ist [https://models.interlis.ch](https://models.interlis.ch), das per Default in den ilitools verwendet wird (siehe auch Grafik [hier](https://geostandards-ch.github.io/doc_ilirepo/#_idee)). Über diesen Einstieg sind alle anderen Repositories zugänglich.

Wenn man manuell ein Repository angibt (über die Option `--modeldir`), dann sollte man wissen, was man tut. Man kann die URL z. B. vor der Anwendung in einem Webbrowser aufrufen und schauen, ob sich dahinter wirklich ein Repository befindet.

> [@Peter2](#):
>
> Der zweite Teil des Problems ist die Fehlermeldung.

Einverstanden. Ich würde es auch als sinnvoll erachten, wenn die Software hier eine aussagekräftigere Rückmeldung gibt. Der vorliegende Fall scheint speziell zu sein, denn wenn ich die Option `--modeldir https://www.google.ch` verwende, so erhalte ich ein einfaches `model(s) not found` und keine komplexe Fehlermeldung.

---

<div class="post-metadata">

**Author:** ![Peter2](https://avatars.discourse-cdn.com/v4/letter/p/d2c977/32.png) [@Peter2](https://interlis.discourse.group/u/Peter2)\
**Post date:** [13. Dezember 2023 um 12:46 UTC](https://interlis.discourse.group/t/fehlermeldungen-des-ilivalidator/223/8 "2023-12-13T12:46:59Z")

</div>

> [@beistehen](#):
>
> Grundsätzlich sollte man sich nicht mit den Repository-URLs herumschlagen müssen. …

Ja, grundsätzlich. Aber …  
a) hier war es zum Testen - nach der Devise „schauen wir aml“…  
b) wenn man mit nicht öffentlichen Modellen arbeitet dann muss man die Verzeichnisse anpassen. Und da kann das (also falsche Pfade) schon passieren.

Schön (und) praktisch wäre natürlich, in der GUI die Modellverzeichnisse etwas bequemer handhaben zu können - siehe

> <https://github.com/claeis/ilivalidator/issues/399>
>
> Die Pfade zu den Modellverzeichnissen ermöglichen ja manche Variablen wie z.B. "…%ITF\_DIR;".
> Funktionell toll, "Bernadette-tauglich" nur beschränkt...
> 
> Es gibt Programme, die für alle ihre Variablen ein Auswahlmenü anbieten, wie z.B. XnConvert (und viele andere)
> !\[ilival\_variable\](https://github.com/claeis/ilivalidator/assets/13277944/376b1f93-b0cc-41a5-a61d-1685a28bcbe9)
> Das Beispiel ist zwar von der Anzahl her ein Overkill, aber von der Idee nicht schlecht. Man erspart sich das Suchen in der Dok, man erspart sich Tippfehler usw.
> 
> Könnte man vielleicht auf die GUI-Liste nehmen.

> [@beistehen](#):
>
> Der vorliegende Fall scheint speziell zu sein, denn wenn ich die Option `--modeldir https://www.google.ch` verwende, so erhalte ich ein einfaches `model(s) not found` und keine komplexe Fehlermeldung.

Ich habe das mit der GUI und den Einstellungen für „Modellverzeichnisse“ erzeugt.
