Skip to content

Instantly share code, notes, and snippets.

@beistehen
Last active Nov 25, 2022
Embed
What would you like to do?
AWT2 - Workshop Repository, Teil 1

1. Herunterladen der Verzeichnisstruktur:

Quelle: Discourse Forum

Inhalt

  • ili2c, ilivalidator, ilimanager
  • Verzeichnis root\Basismodelle mit den Dateien AWT2_Basismodell_A, AWT2_Basismodell_B, AWT_Basismodell_C
  • Verzeichnis vorlagen mit den Dateien ilimodels_minimal_leer.xml, ilisite_minimal_leer.xml
  • AWT2_Test.ili

2. Ist Java installiert?

java -version

3. laufen ilic2, ilivalidator und ilimanager?

	java -jar ili2c-5.3.0\ili2c.jar --version
  
	java -jar ilivalidator-1.12.1\ilivalidator-1.12.1.jar --version
  
	java -jar ilimanager-0.9.0\ilimanager-0.9.0.jar --version

4. Analyse minimales Modell AWT2_Test.ili mit 2 IMPORTS:

INTERLIS 2.3;

MODEL AWT2_Test
  AT "https://www.moflex.ch"
  VERSION "2022-11-16" =
  
  IMPORTS AWT2_Basismodell_A;
  IMPORTS AWT2_Basismodell_B;

END AWT2_Test.

5. Analyse der Basismodelle:

INTERLIS 2.3;

MODEL AWT2_Basismodell_A
  AT "https://www.moflex.ch"
  VERSION "2022-11-16" =

END AWT2_Basismodell_A.
INTERLIS 2.3;

MODEL AWT2_Basismodell_B
  AT "https://www.moflex.ch"
  VERSION "2022-11-16" =

END AWT2_Basismodell_B.

6. Modell AWT2_Test.ili prüfen mit ili2c:

java -jar ili2c-5.3.0\ili2c.jar AWT2_Test.ili -> Fehler, Basismodelle werden nicht gefunden

7. Basismodelle in selben Ordner wie Testmodell verschieben

8. Modell AWT2_Test.ili prüfen mit ili2c:

-> OK, Modelle werden gefunden.

9. Unhaltbarer Zustand, Modelle zurück in Ordner Basismodelle verschieben

10. Aufbau Repository: Datei, in der geschrieben steht, wo sich welche Modelle befinden

grafik INTERLIS Modell -> Datei vorlagen\ilimodels_minimal_leer.xml kopieren nach root und umbenennen nach ilimodels.xml

<?xml version="1.0" encoding="UTF-8"?>
<TRANSFER xmlns="http://www.interlis.ch/INTERLIS2.3">
  <HEADERSECTION SENDER="AWT2 - manuell erstellt" VERSION="2.3">
    <MODELS>
      <MODEL NAME="IliRepository20" VERSION="2020-04-17" URI="http://models.interlis.ch/core"></MODEL>
    </MODELS>
  </HEADERSECTION>
  <DATASECTION>
    <IliRepository20.RepositoryIndex BID="b1">
      <IliRepository20.RepositoryIndex.ModelMetadata TID="1">
        <Name></Name>
        <SchemaLanguage></SchemaLanguage>
        <File></File>
        <Version></Version>
      </IliRepository20.RepositoryIndex.ModelMetadata>
    </IliRepository20.RepositoryIndex>
  </DATASECTION>
</TRANSFER>

11. Datei editieren:

  • Name (= Modellname): AWT2_Basismodell_A
  • SchemaLanguage: ili2_3
  • File (relativ zu root): Basismodelle\AWT2_Basismodell_A.ili
  • Version: 2022-11-16

12. ilimodels.xml prüfen (nun Datenprüfung, nicht Modellprüfung):

java -jar ilivalidator-1.12.1\ilivalidator-1.12.1.jar root\ilimodels.xml

13. ilimodels.xml (unser Mini-Repository) verwenden für die Modellprüfung (Ergänzung um Option --modeldir):

java -jar ili2c-5.3.0\ili2c.jar --modeldir root AWT2_Test.ili

14. Modell AWT2_Basismodell_A wird nun gefunden, _B noch nicht

15. ilimodels.xml noch ergänzen mit Model _B, wiederum prüfen mit ilivalidator

16. Händisches Pflegen des ilimodels.xml ist fehleranfällig und aufwändig -> ilimanager to the rescue

java -jar ilimanager-0.9.0\ilimanager-0.9.0.jar --createIliModels --out newIliModels.xml --repos root

<?xml version="1.0" encoding="UTF-8"?>
<TRANSFER xmlns="http://www.interlis.ch/INTERLIS2.3">
  <HEADERSECTION SENDER="ilimanager-0.9.0-84395652ff36eb90939e3ed759a04ad026ffd52d" VERSION="2.3">
    <MODELS>
      <MODEL NAME="IliRepository20" VERSION="2020-04-17" URI="http://models.interlis.ch/core"></MODEL>
    </MODELS>
  </HEADERSECTION>
  <DATASECTION>
    <IliRepository20.RepositoryIndex BID="b1">
      <IliRepository20.RepositoryIndex.ModelMetadata TID="0">
        <Name>AWT2_Basismodell_B</Name>
        <SchemaLanguage>ili2_3</SchemaLanguage>
        <File>Basismodelle/AWT2_Basismodell_B.ili</File>
        <Version>2022-11-16</Version>
        <publishingDate>2022-11-09</publishingDate>
        <Issuer>https://www.moflex.ch</Issuer>
        <browseOnly>false</browseOnly>
        <md5>44959f02a37a5cd4db4ff221cb1f5e45</md5>
      </IliRepository20.RepositoryIndex.ModelMetadata>
      <IliRepository20.RepositoryIndex.ModelMetadata TID="1">
        <Name>AWT2_Basismodell_C</Name>
        <SchemaLanguage>ili2_3</SchemaLanguage>
        <File>Basismodelle/AWT2_Basismodell_C.ili</File>
        <Version>2022-11-16</Version>
        <publishingDate>2022-11-10</publishingDate>
        <dependsOnModel>
          <IliRepository20.ModelName_>
            <value>AWT2_Basismodell_B</value>
          </IliRepository20.ModelName_>
          <IliRepository20.ModelName_>
            <value>AWT2_Basismodell_A</value>
          </IliRepository20.ModelName_>
        </dependsOnModel>
        <Issuer>https://www.moflex.ch</Issuer>
        <browseOnly>false</browseOnly>
        <md5>0576c22f7ddc61516019b64cb66f96db</md5>
      </IliRepository20.RepositoryIndex.ModelMetadata>
      <IliRepository20.RepositoryIndex.ModelMetadata TID="2">
        <Name>AWT2_Basismodell_A</Name>
        <SchemaLanguage>ili2_3</SchemaLanguage>
        <File>Basismodelle/AWT2_Basismodell_A.ili</File>
        <Version>2022-11-16</Version>
        <publishingDate>2022-11-09</publishingDate>
        <Issuer>https://www.moflex.ch</Issuer>
        <browseOnly>false</browseOnly>
        <md5>94ba548e6c66e5c28208f34cb492156a</md5>
      </IliRepository20.RepositoryIndex.ModelMetadata>
    </IliRepository20.RepositoryIndex>
  </DATASECTION>
</TRANSFER>

Automatisch ergänzte Attribute:

  • publishingDate
  • Issuer
  • browseOnly
  • md5

Neu ist auch Modell ..._C dabei, mit zusätzlichen tag <dependsOnModel>

17. Ergänzung von AWT2_Basismodell_C:

VersionComment

VERSION "2022-11-16" //Details zur Version// =  

NameLanguage

MODEL AWT2_Basismodell_C (de)

Original (Metaattribut, muss vor MODEL platziert sein!)

INTERLIS 2.3;

!!@ Original = "https://models.krachenwil.ch/meinpfad/mein.ili"
MODEL AWT2_Basismodell_C (de)

precursorVersion

!!@ precursorVersion = "2022-11-11"

Title und shortDescription

INTERLIS 2.3;

/** Zweites INTERLIS Anwender:innen-Treffen Basismodell C.
    Dieses Modell dient zu Demonstrationszwecken
*/
  • Trennzeichen für die Aufteilung in die beiden Attribute: '.' (Punkt)
  • /* ... */ ist INTERLIS Kommentarblock
  • /** ... */ ist ilidoc <- wird hier angewendet

Tags (Stichworte)

!!@ tags = "awt2,demo,fun"

technicalContact

!!@ technicalContact = "mailto:stefan.henrich@moflex.ch"

furtherInformation

!!@ furtherInformation = "https://interlis.discourse.group/t/2-interlis-anwender-innen-treffen/28"

furtherMetadata

!!@ furtherMetadata = "https://www.geocat.ch/awt2"

IDGeoIV (Spezialfall)

!!@ IDGeoIV = "11.16,11.19"
  • es gibt kein Attribut IDGeoIV in IliRepository20
  • wird bei den tags untergebracht

knownWMS, knownWFS, knownPortal (manuell zu ergänzen)

<knownWMS>
    <IliRepository20.WebService_>
        <value>https://geodienste.ch/db/av_0/deu?SERVICE=WMS&amp;REQUEST=GetCapabilities</value>
    </IliRepository20.WebService_>
</knownWMS>

18. newIliModels.xml kopieren nach root und umbenennen in ilimodels.xml

19. ilimodels.xml wieder prüfen (Datenprüfung):

java -jar ilivalidator-1.12.1\ilivalidator-1.12.1.jar root\ilimodels.xml

20. Funktionalität des Repository prüfen

java -jar ili2c-5.3.0\ili2c.jar --modeldir root --check-repo-ilis root

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment