Metadaten in der Ebenenbeschreibung

Vorhandene Metadaten können genutzt werden, um zusätzliche Beschreibungen in die Erläuterungen zum Thema im cardo.Map hinzuzufügen.

Im folgenden Beispiel sehen Sie die Einbindung von Metadaten (roter Rahmen) für den NIBIS Kartenserver.

nibis.png

Erzeugung der HTML-Ausgabe für cardo.Map

Für die Zeugung einer HTML-Ausgabe müssen Einstellungen an der Ebene vorgenommen werden.

1. Die wichtigste Voraussetzung ist das Vorhandensein von Metadaten für die Ebene.

2. Des Weiteren muss der CARDO_MAP_INET_USER Leserecht (Metadaten anzeigen) für die Ebene besitzen.

Hinweis: ab Version 3.7.2 vergeben Sie das Recht für die SYSTEM_CARDOMAP_INETUSER_GROUP. Der CARDO_MAP_INET_USER ist Mitglied dieser Gruppe.

erzeugunghtml.png

3. Für die Einstellung der XSLT-Daten wechseln Sie auf die Ebene zum Reiter allg. cm³ Einstellungen im Management Center unter Geodaten verwalten. Hier geben Sie in das Feld XSLT für Metadaten als Inhalt den Namen für eine XSLT-Datei an (ohne Erweiterung).

 einstellungen_01.png

4. Die XSLT für Metadaten liegt im Ordner:

\cardoSystem\coreWeb3\IIS\net3\Ikx\DefaultXML\2HtmlXslt

Erstellen Sie gegebenenfalls eine neue XSLT für ihr cardo.Map.

Speichern Sie die neue, angespasste XSLT für Metadaten in ihrem Projektverzeichnis unter _Projekt_<IhrName>/IkxXML/2HtmlXslt

-> Beispiel

5. Vergeben Sie an den Metadaten im Ikx das Leserecht für die SYSTEM_CARDOMAP_INETUSER_GROUP.

rechte.png

Hinweis: unter Umständen werden trotz löschen des Caches die Änderungen nicht korrekt angezeigt. Im Verzeichnis ihrProjekt\TempFiles\IkxAdmTreeUsrCache können Sie in diesem Fall die BIN-Dateien manuell löschen.
Anpassung der XSLT für die HTML-Ausgabe (weitere Infos)

  • Beispiel-XSLT heraussuchen, kopieren und mit einem geeigneten Bearbeitungsprogramm öffnen (z. B. PSPad)
  • Analog zu den vorhandenen Abschnitten eine Metadatenklasse einbinden und folgende Passagen anpassen:
    • <font class="Bez">

    • <xsl:when test="./LAST_REVISION_DATE">

    • <xsl:call-template name="RenderDataEntry">

    • <xsl:with-param name="dataNode" select="./LAST_REVISION_DATE"/>

  •  Zum Beginn der XSLT ergänzen

     <xsl:if test="/Root/LAST_REVISION_DATE != '' or /Root/DESCRIPTION != '' or /Root/CATEGORY/TITLE != ''"> 

Die benötigten Bezeichnungen sind im Ikx Standardspeicher -> Struktur&Rechte -> Metadatensatz auswählen -> Infobereich "Pfad im IduXml" zu finden.

Wird bspw. als Ausgabe sowohl der deutsche als auch der englische Eintrag aus der Nachschlageklasse ausgegeben, ist eine Ergänzung des Pfades notwendig: /Root/CATEGORY/TITLE

Übertragung der Metadaten

für die Übertragung der Metadaten auf Ihr externes cardo nutzen Sie das Modul cardo-2-cardo. Zusätzlich zu den Ebenen werden nun auch die Metadaten übertragen.

Beispiel
<?xml version="1.0" encoding="utf-8"?>

<!-- Beispiel für die Einbindung von Metadaten in den MapTip des cardo.map
vorausgesetzt es wird das IDU-Metadaten-Standardmodell eingesetzt -->

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output omit-xml-declaration="yes" encoding="utf-8" method="html"/>

    <!-- Laden von Hilfsmethoden zur Ausgabe von Ikx-Datenfeldern -->
    <!--<xsl:include href="Includes.xslt"/>-->
    <!-- falls diese Datei in das Projektverzeichnis übernommen und angepasst wird
    muss der Pfad zur Includedatei angepasst werden und könnte so aussehen -->

<xsl:include href="..\..\..\coreWeb3\IIS\net3\Ikx\DefaultXML\2HtmlXslt\Includes.xslt"/>

  <xsl:template match="/Root">
   
    <!-- nur wenn eines der drei Felder vorhanden, eine HTML-Block generieren -->
        <xsl:if test="/Root/LAST_REVISION_DATE != '' or /Root/DESCRIPTION != '' or /Root/CATEGORY/TITLE != ''">
       
            <!-- Trennlinie -->
            <div class="trenner">
                <hr/>
            </div>
           
            <div>
                <!-- Beschreibung -->
                <xsl:if test="/Root/DESCRIPTION != ''">
                    <p>
                        <font class="Bez"> Erläuterungstext:&#160;
            </font>          
                        <xsl:value-of select="/Root/DESCRIPTION" />
                    </p>
                </xsl:if>

                <!-- Kategorie -->
                <p>
                    <font class="Bez">Kategorie:&#160;
                    </font>
                    <xsl:choose>
                        <xsl:when test="/Root/CATEGORY/TITLE">
                            <xsl:value-of select="/Root/CATEGORY/TITLE" />
                        </xsl:when>
                        <xsl:otherwise>
                            -
                        </xsl:otherwise>
                    </xsl:choose>
                </p>

                <!-- Änderungsdatum -->
                <p title="Gibt an, wann die Daten das letzte mal geändert wurden.">
                    <font class="Bez">Revisionsdatum:&#160;
                    </font>
                    <xsl:choose>
                        <xsl:when test="./LAST_REVISION_DATE">
                            <!-- Nutzung einer Hilfsfunktion für die Ausgabe -->
                            <xsl:call-template name="RenderDataEntry">
                                <xsl:with-param name="dataNode" select="./LAST_REVISION_DATE"/>
                            </xsl:call-template>
                        </xsl:when>
                        <xsl:otherwise>
                            -
                        </xsl:otherwise>
                    </xsl:choose>
                </p>               
            </div>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>

 

Bsp. im cardo.Map:

einstellungen_02.png