Ursprünglich habe ich diese Frage an anderer Stelle gestellt, aber keine Antwort erhalten. Deshalb versuche ich es hier. Ich brauche etwas Unterstützung bei Popup-Vorlagen. Ich habe ein paar Stunden daran gearbeitet und glaube nun, dass ich eine vernünftige Frage stellen kann und mir hoffentlich mehrere weitere Stunden mit Ausprobieren erspare. Zum Hintergrund: Mein Verein hat mit Google Maps eine gemeinsame Karte erstellt. Sie enthält Dutzende Punkte mit Pop-ups, viele davon mit einem oder mehreren Fotos, einer Bildunterschrift und Breiten- und Längengraden. Ich habe nun das Projekt übernommen, die KML-Dateien in Shapefiles umzuwandeln, sie zu bereinigen und in die kostenlose ArcGIS-Online-Karte zu importieren. Ich kenne mich mit ArcMap ziemlich gut aus und habe fast alles im Griff, bis auf die Pop-ups. Ich kann die Vorlage KMLPopup.xsl in das Feld in den Shapefile-Eigenschaften einfügen, und sie funktioniert. Die Bildunterschriften werden jedoch abgeschnitten, weil das Feld „PopupInfo“, das beim Umwandeln der KML-Datei in der Attributtabelle angelegt wird, auf 156 Zeichen begrenzt ist und sämtliche Informationen – die Foto-URL, die Breiten- und Längengrade sowie die Bildunterschrift – in einem einzigen Feld landen.
Ich kenne mich ein wenig mit HTML aus und erkenne einige Tags in der Vorlage, aber XML ist für mich böhmische Dörfer:
<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-<xsl:template match="/">
-<html>
<head> </head>
-<body>
-<table>
-<tr>
-<td style="white-space: nowrap;">
-<xsl:choose>
-<xsl:when test="FieldsDoc/Fields/Field/FieldName">
<xsl:apply-templates select="FieldsDoc/Fields/Field/FieldName[contains(., 'PopupInfo')]/.."/>
</xsl:when>
-<xsl:otherwise>
<xsl:apply-templates select="FieldsDoc/Fields/Field"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
-<xsl:template match="Field">
<xsl:value-of select="FieldValue" disable-output-escaping="yes"/>
</xsl:template>
</xsl:stylesheet>
Meine Frage lautet also: Wenn ich der Attributtabelle ein oder mehrere zusätzliche Felder hinzufügen und die Informationen aufteilen würde, damit alles hineinpasst, wie muss ich den Code ändern, damit die zusätzlichen Felder im Pop-up angezeigt werden?