Zusammenfassung
Verwendet die XML-Software von .NET 3.5, um die Metadaten eines ArcGIS-Elements oder eine beliebige XML-Datei mithilfe eines XSLT-1.0-Stylesheets zu transformieren und das Ergebnis in einer XML-Datei zu speichern.
Sie können XSLT-Stylesheets verwenden, um an ArcGIS-Metadaten oder einer XML-Datei verschiedene Änderungen vorzunehmen. Im Lieferumfang von ArcGIS Desktop sind mehrere XSLT-Stylesheets enthalten. Sie können verwendet werden, um eine Kopie der Metadaten eines Elements in einer XML-Datei zu speichern, eine Kopie der Metadatenanzeige in einer HTML-Datei zu speichern und den Metadateninhalt eines Elements zu ändern. Diese XSLT-Stylesheets befinden sich im Ordner <ArcGIS Installation Location>\Metadata\Stylesheets.
Weitere Informationen zu XSLT-Stylesheets, die sich im Lieferumfang von ArcGIS Desktop befinden
Sie können eigene XSLT-Stylesheets erstellen, um Tasks auszuführen, indem Sie die bereitgestellten Stylesheets als Beispiele verwenden. Beispielsweise können Sie Stylesheets für folgende Aufgaben schreiben:
- Aktualisieren von Adressen oder Telefonnummern. Erstellen Sie ein Modell, das diesen Prozess ausführt, und verwenden Sie das Werkzeug Metadatenimport, um die aktualisierten Metadaten unter dem ursprünglichen ArcGIS-Element zu speichern.
- Entfernen Sie Informationen, die nicht öffentlich verfügbar sein sollen, vor dem Exportieren oder Veröffentlichen der Metadaten. Erstellen Sie ein Modell, das diesen Prozess ausführt, bevor die Werkzeuge Metadaten exportieren oder Metadaten-Publisher ausgeführt werden.
- Exportieren Sie Informationen in eine XML- oder HTML-Datei, die in eine Website integriert werden können. Erstellen Sie ein Skript, das diesen Vorgang regelmäßig ausführt.
XSLT-Stylesheets, die ArcGIS-Metadaten ändern, sollten keine Informationen aus den Metadatenelementen "Esri" und "Binary" entfernen, es sei denn, die XML-Ausgabedaten werden außerhalb von ArcGIS verwendet.
Verwendung
Die von einem XSLT-Stylesheet erzeugte Ausgabedatei kann z. B. als XML-, HTML- oder Textdatei formatiert werden. Der Standardname der Ausgabedatei, der von diesem Werkzeug vergeben wird, hat die Dateierweiterung .xml. Falls das verwendete XSLT-Stylesheet keine XML-Datei erzeugt, sollten Sie einen Dateinamen mit der jeweils passenden Dateierweiterung angeben.
Dieses Werkzeug kann die Metadaten eines ArcGIS-Elements oder eine eigenständige Metadaten-XML-Datei nicht mit den XSL-Stylesheets verarbeiten, die von ArcGIS Desktop 9.3.1 und älteren Versionen bereitgestellt werden, da sie keine XSLT 1.0-Technologie verwenden. Sie verwenden eine ältere Technologie, die von .NET Framework 3.5 nicht unterstützt wird. Außerdem können diese XSL-Stylesheets nicht mit dem ArcGIS-Metadateneditor verwendet werden.
Der XSLT-Parameter kann verwendet werden, um eine Zeichenfolge oder einen XML-Dateinamen an ein XSLT-Stylesheet weiterzugeben, das damit dann die Metadaten eines Elements ändern kann. Ein XSLT-Stylesheet kann z. B. eine als Zeichenfolge übergebene Telefonnummer zum Aktualisieren aller Telefonnummern in den Metadaten verwenden. Falls zusammen mit diesem Parameter eine XML-Datei übergeben wird, kann ein XSLT-Stylesheet die darin enthaltenen Informationen mit der Metadatenquelle zusammenführen.
In der im Lieferumfang von ArcGIS enthaltenen Datei add unique identifier.xslt finden Sie ein Beispiel für das Weitergeben eines Wertes, und in der Datei merge upgraded FGDC with existing.xslt finden Sie ein Beispiel für das Zusammenführen von Informationen in einer separaten XML-Datei mit den Metadaten eines ArcGIS-Elements.
Falls Sie ein benutzerdefiniertes XSLT-Stylesheet erstellen möchten, um Metadaten oder XML-Dateien in ArcGIS anzuzeigen oder zu exportieren, können Sie die Informationen in der Microsoft-Dokumentation zu .NET 3.5 Framework verwenden. Dort finden Sie eine vollständige Liste der unterstützten XSLT- und XPath-Elemente sowie der Funktionen und Syntax. Zusätzlich zu einigen Standard-XSLT-Funktionen sind außerdem einige .NET-spezifische Funktionen verfügbar.
Falls Sie Ihr benutzerdefiniertes Stylesheet sowohl innerhalb als auch außerhalb von ArcGIS verwenden möchten, erzielen Sie die besten Ergebnisse, wenn Sie sich auf die Verwendung von XSLT 1.0- und XPath 1.0-Elementen, -Funktionen und -Syntax beschränken. Es ist eher unwahrscheinlich, dass andere Anwendungen als Microsoft-Anwendungen die .NET-spezifischen XSLT-Funktionen und XPath-Funktionen unterstützen.
Für XSLT-Stylesheets, die ausschließlich mit diesem Geoverarbeitungswerkzeug und dem ArcGIS-Metadateneditor verwendet werden, können einige benutzerdefinierte XSLT-Funktionen von ArcGIS genutzt werden, um die Verarbeitung und Anzeige von Metadaten zu verbessern. Um diese Funktionen verwenden zu können, muss das XSLT-Stylesheet auf den Namespace-URI der XSLT-Funktion (http://www.esri.com/metadata/, z. B. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:esri="http://www.esri.com/metadata/">) von ArcGIS verweisen.
Den ArcGIS-XSLT-Funktionen muss das Präfix vorangestellt werden, das dem Namespace der XSLT-Funktion von ArcGIS zugewiesen ist. Wenn dem Namespace der XSLT-Funktion von ArcGIS wie im obigen Beispiel das Präfix esri zugewiesen ist, wird die Funktion GuidGen() wie folgt verwendet: <xsl:value-of select="esri:GuidGen()" />.
- GuidGen(): Gibt einen neuen Wert vom Typ Globally Unique Identifier (GUID) ohne Klammern ({ and }) zurück. Beispielsweise kann eine GUID in die Metadaten eingebunden werden, um das Metadatendokument oder die damit beschriebene Ressource eindeutig zu identifizieren. Ein ArcGIS-Beispiel hierzu finden Sie in der Datei add unique identifier.xslt.
- decodenodeset(): Wenn ein XML-Element mit Escape-Zeichen versehene XHTML- oder XML-Daten enthält, gibt diese Funktion in Kombination mit der Funktion msxsl:node-set eine Knotengruppe zurück, mit der die einzelnen Elemente verarbeitet werden können, die zuvor mit Escape-Zeichen versehen wurden. ArcGIS-Beispiele hierzu finden Sie in den Dateien ESRIISO2.xslt und ItemDescription.xslt. Beispielsweise werden die Raumbezugseigenschaften eines Elements automatisch in den Metadaten des Elements als XML-Daten mit Escape-Zeichen gespeichert. Die Abstrakt- und Nutzungsbeschränkungen für den Inhalt, die im Metadateneditor in Vorbereitung auf die Veröffentlichung auf ArcGIS Online markiert werden können, werden als XHTML mit Escape-Zeichen gespeichert.
- splitcoords() – Konvertiert ein kommagetrenntes Paar XY-Koordinaten in eine durch Leerzeichen getrennte Liste. Ein ArcGIS-Beispiel hierzu finden Sie in der Datei upgrade ESRI-ISO to ArcGIS94.xslt.
- strtoupper(): Ändert die Zeichenfolge des Eingabetextes so, dass sie nur Großbuchstaben enthält. Ein ArcGIS-Beispiel hierzu finden Sie in der Datei add unique identifier.xslt.
- striphtml(): Wenn ein XML-Element mit Escape-Zeichen versehene XHTML- oder XML-Daten enthält, gibt diese Funktion den darin enthaltenen Text ohne Markup zurück. Das heißt, alles zwischen den Zeichen für kleiner als (<) und größer als (>) wird als Markup betrachtet und entfernt. ArcGIS-Beispiele hierzu finden Sie in den Dateien ESRIISO2.xslt, ItemDescription.xslt und prep metadata for export.xslt. Wenn Sie beispielsweise den Export des Inhalts der Abstrakt- und Nutzungsbeschränkungselemente in ein standardmäßiges Metadatenformat vorbereiten, wird vorhandenes XHTML-Markup aus dem Metadateninhalt entfernt.
- strtolower(): Ändert die Zeichenfolge des Eingabetextes so, dass sie nur Kleinbuchstaben enthält. ArcGIS-Beispiele hierzu finden Sie in den Dateien auxCountries.xslt, auxLanguages.xslt und auxUCUM.xslt.
Der Parameter Metadatenquelle verfügt über einen komplexen Datentyp. Wenn Sie dieses Werkzeug in einem Modell verwenden, erstellen Sie für den Parameter Metadatenquelle in ModelBuilder eine Variable, indem Sie mit der rechten Maustaste auf das Werkzeug klicken, auf Variable erstellen und Aus Parameter zeigen und anschließend auf Metadatenquelle klicken.
Wenn ein ArcGIS-Element über Metadaten verfügt, die unter ArcGIS Desktop 9.3.1 oder älter mit dem FGDC-Metadateneditor erstellt wurden, und wenn die Metadaten des Elements auf ArcGIS-Metadaten aktualisiert wurden, enthalten die ArcGIS-Metadaten weiterhin die ursprünglichen FGDC-Metadaten-XML-Elemente. Die Metadaten enthalten auch andere ArcGIS-Metadatenelemente.
Sie können die ursprünglichen FGDC-Metadatenelemente exportieren, indem Sie dieses Werkzeug mit der Datei _MPXML2.xsl von ArcGIS verwenden. Im obigen Beispiel exportiert diese Datei nur den Metadateninhalt im ursprünglichen FGDC-Format des Elements, also die Informationen, die unter der Überschrift FGDC-Metadaten (schreibgeschützt) auf der Registerkarte Beschreibung. angezeigt werden. Die FGDC-Elemente haben in der XML-Ausgabedatei die richtige Reihenfolge.
Die exportierte Datei kann mit dem FGDC-XML-Schema bzw. der DTD (Document Type Definition) oder mit dem USGS-Metadaten-Dienstprogramm "mp" überprüft werden. Der USGS-MP-Metadatenkonverter führt diesen Vorgang vor dem Verarbeiten der Metadaten im FGDC-Format intern durch.
Metadaten, die im HTML-Format auf einer externen Website veröffentlicht werden, werden von Internet-Suchmaschinen wie Google indiziert, wenn die Website ihren Inhalt ordnungsgemäß verfügbar macht.
Syntax
arcpy.conversion.XSLTransform(source, xslt, output, {xsltparam})
Parameter | Erklärung | Datentyp |
source | Das Element, dessen Metadaten konvertiert werden, oder eine eigenständige XML-Datei, die konvertiert werden soll. | Data Element; Layer |
xslt | Eine W3C-kompatible XSLT 1.0-Stylesheet-Datei, mit der die durchzuführende Transformation definiert wird. Es werden mehrere Stylesheets mit ArcGIS bereitgestellt, die im Ordner <ArcGIS Installation Location>\Metadata\Stylesheets zur Verfügung stehen. | File |
output | Eine Datei, die mit den konvertierten Metadaten erstellt wird. Der Typ der erstellten Datei hängt von der Ausgabemethode ab, die im XSLT-Stylesheet angegeben ist. | File |
xsltparam (optional) | Eine XML-Datei oder eine Zeichenfolge, die an das XSLT-Stylesheet übergeben wird. Um diesen Parameter im XSLT-Stylesheet zu erfassen, fügen Sie am Anfang des XSLT-Stylesheets nach dem xsl:output-Element und vor dem ersten xsl:template-Element den Code <xsl:param name="gpparam" /> hinzu. Ein Beispiel finden Sie in der Datei add unique identifier.xslt. | File; String |
Codebeispiel
Exportieren von Metadaten in eine HTML-Datei
Verwendet das XSLT-Stylesheet ArcGIS.xsl von ArcGIS zum Exportieren von Metadaten in eine HTML-Datei zur Nutzung auf einer Website.
import arcpy
from arcpy import env
env.workspace = "C:/data"
#set local variables
dir = arcpy.GetInstallInfo("desktop")["InstallDir"]
xslt = dir + "Metadata/Stylesheets/ArcGIS.xsl"
arcpy.XSLTransform_conversion("vegetation", xslt, "vegetation.html", "#")
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja