概要
ArcGIS アイテムのメタデータ、または XSLT 1.0 スタイルシート使用の XML ファイルを変換し、その結果を XML ファイルに保存するには、.NET 3.5 XML ソフトウェアを使用します。
XSLT スタイルシートを使用して、ArcGIS メタデータまたは XML ファイルに対してさまざまな変更を行うことができます。ArcGIS Desktop には、いくつかの XSLT スタイルシートが付属しています。それらのスタイル シートを使用して、アイテムのメタデータのコピーを XML ファイルに保存したり、メタデータ表示のコピーを HTML ファイルに保存したり、アイテムのメタデータ コンテンツを変更したりできます。これらの XSLT スタイルシートは、<ArcGIS Installation Location>\Metadata\Stylesheets フォルダーにあります。
ArcGIS Desktop に付属している XSLT スタイルシートの詳細
サンプルとして付属しているスタイルシートを使ってタスクを実行する、ユーザー独自の XSLT スタイルシートを作成することもできます。たとえば、次のような処理を実行するスタイルシートを作成できます。
- 住所または電話番号を更新する処理。このプロセスを実行し、[メタデータ インポーター (Metadata Importer)] ツールを使って更新済みメタデータを元の ArcGIS アイテムに保存するモデルを作成します。
- メタデータをエクスポートまたは公開する前に、開示しない情報を削除する処理。この処理を先に実行してから [メタデータのエクスポート] ツールまたは [メタデータの公開] ツールを実行するモデルを作成します。
- Web サイトに組み込み可能な XML ファイルまたは HTML ファイルに情報をエクスポートする処理。この処理を定期的に行うスクリプトを作成します。
ArcGIS の外部で出力 XML を使用する場合を除き、Esri メタデータ エレメントおよびバイナリ メタデータ エレメント内の情報が ArcGIS メタデータ変更用 XSLT スタイルシートに削除されるのを回避する必要があります。
使用法
XSLT スタイルシートを基に生成された出力ファイルは XML、HTML またはテキスト形式に書式設定できます。このツールによって設定されたデフォルト出力ファイル名には、.xml ファイル拡張子が付きます。使用している XSLT スタイルシートで XML ファイルが生成されない場合、妥当なファイル拡張子をファイル名に付けて指定する必要があります。
[XSLT 変換 (XSLT Transformation)] ツールでは XSLT 1.0 テクノロジが採用されていないため、ArcGIS Desktop 9.3.1 以前のバージョンに付属の XSL スタイルシートを使用して ArcGIS アイテムのメタデータまたはスタンドアロン メタデータ XML ファイルを処理することはできません。このツールに採用されているのは、.NET 3.5 Framework でサポートされていない古いテクノロジです。それらの XSL スタイルシートも ArcGIS メタデータ エディターでは使用できません。
[XSLT パラメーター] を使用して文字列または XML ファイル名を XSLT スタイルシートに渡した後、このスタイルシートを使ってアイテムのメタデータを変更することができます。たとえば、XSLT スタイルシートでは、文字列として渡された電話番号を取得し、メタデータ内のすべての電話番号を更新するといったこともできます。XSLT スタイルシートで、このパラメーターを指定して XML ファイルを渡せば、XML ファイル内に格納されている情報をソース メタデータとマージできます。
値の受け渡し方法を示すサンプルは、ArcGIS に付属している add unique identifier.xslt ファイルをご参照ください。個別の XML ファイル内の情報を ArcGIS アイテムのメタデータとマージする方法を示すサンプルは、merge upgraded FGDC with existing.xslt をご参照ください。
カスタム XSLT スタイルシートを作成して ArcGIS 内にメタデータまたは XML ファイルを表示またはエクスポートしたい場合、XSLT エレメント、XPath エレメント、関数、およびサポートされている構文の全一覧については、Microsoft の NET 3.5 Framework ドキュメントをご参照ください。標準的な XSLT 関数に加えて、.NET 固有の関数が利用できます。
ArcGIS の内部と外部でカスタム スタイルシートを使用したい場合、最も効率的と考えられる方法は XSLT 1.0 エレメント、XPath 1.0 エレメント、関数および構文以外は使わないようにすることです。Microsoft 以外のアプリケーションは多くの場合、.NET 固有の関数である XSLT 関数と XPath 関数をサポートしていません。
XSLT スタイルシートをこのジオプロセシング ツールまたは ArcGIS メタデータ エディターのどちらか一方とともに使用し、ArcGIS に付属のいくつかのカスタム XSLT 関数を使用することにより、メタデータ処理および表示の向上を図ることができます。これらの関数を使用するには、ArcGIS XSLT 関数の名前空間の URI http://www.esri.com/metadata/ を XSLT スタイルシートから参照する必要があります。たとえば、<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:esri="http://www.esri.com/metadata/"> のように指定します。
ArcGIS XSLT 関数の先頭には、ArcGIS XSLT 関数の名前空間に割り当てられている接頭辞を付ける必要があります。Esri XSLT 関数の名前空間には接頭辞 esri が付けられます。上の例で GuidGen() 関数は、<xsl:value-of select="esri:GuidGen()" /> のように指定します。
- GuidGen() - 中括弧 ({ and }) を含まない新しい GUID (Globally Unique Identifier) 値を返します。たとえば、GUID をメタデータ内に含めることにより、メタデータ ドキュメントまたはドキュメントに記述されているリソースを一意に識別できるようになります。ArcGIS で提供される add unique identifier.xslt ファイルを参考にしてください。
- decodenodeset() - XML エレメントにエスケープ付き XHTML または XML が含まれている場合、この関数を実行するとノード セットが返されます。このノード セットを msxsl:node-set 関数と組み合わせて使用し、以前にエスケープされた個別エレメントを処理できます。ArcGIS で提供される ESRIISO2.xslt および ItemDescription.xslt ファイルを参考にしてください。たとえば、あるアイテムの空間参照のプロパティは、アイテムのメタデータ内にエスケープ付き XML データとして自動的に格納されます。ArcGIS Online で公開するための準備として、要約と使用制限のコンテンツをメタデータ エディター内でマークアップできます。そのコンテンツをエスケープ XHTML として格納されます。
- splitcoords() - カンマ区切りの X,Y 座標の組を取り出し、スペースで区切られたリストに変換します。ArcGIS で提供される upgrade ESRI-ISO to ArcGIS94.xslt ファイルを参考にしてください。
- strtoupper() - 入力テキスト文字列を、大文字だけを使用するように変更します。ArcGIS で提供される add unique identifier.xslt ファイルを参考にしてください。
- striphtml() - この関数を実行すると、XML エレメントにエスケープ付き XHTML あるいは XML が含まれている場合、格納されているテキストが返されます。テキストはすべてのマークアップが削除された状態で返されます。すなわち、2 つの不等号に挟まれたものはマークアップと見なされ、削除されます。ArcGIS で提供される ESRIISO2.xslt、ItemDescription.xslt、および prep metadata for export.xslt ファイルを参考にしてください。たとえば、要約と使用制限エレメントのコンテンツを標準のメタデータ形式でエクスポートしようとするとき、存在する XHTML マークアップはメタデータ コンテンツから削除されます。
- strtolower() - 入力テキスト文字列を、小文字だけを使用するように変更します。ArcGIS で提供される auxCountries.xslt、auxLanguages.xslt、および auxUCUM.xslt ファイルを参考にしてください。
[ソース メタデータ] パラメーターにはコンプレックス データ タイプが含まれます。このツールをモデル内で使用する場合は、ツールを右クリックし、[変数の作成] → [パラメーターから] の順にポイントして、[ソース メタデータ] をクリックすることで、[ソース メタデーター] パラメーターの変数を作成します。
ArcGIS Desktop 9.3.1 以前の ArcGIS Desktop の FGDC メタデータ エディターを使って作成されたメタデータが ArcGIS アイテムに存在している場合は、そのアイテムのメタデータが ArcGIS メタデータにアップグレードされた後も、元の FGDC メタデータ XML エレメントが ArcGIS のメタデータ内に残ります。メタデータには、他の ArcGIS メタデータ エレメントも含まれます。
このツールおよび ArcGIS に付属している _MPXML2.xsl ファイルを使用して、元の FGDC メタデータ エレメントをエクスポートすることができます。上の例で、このファイルによってエクスポートされる情報は、アイテムの元の FGDC 形式のメタデータ コンテンツ ([説明] タブの [FGDC メタデータ (読み取り専用)] 見出し以下に表示される情報) のみです。FGDC エレメントは、出力 XML ファイル内で正しく順序付けされます。
エクスポート ファイルを整合チェックするには、FGDC XML スキーマまたは DTD を使用するか、あるいは mp という USGS メタデータ ユーティリティを使用します。USGS MP Metadata Translator はアイテムの FGDC 形式のメタデータ コンテンツを処理する前に、この操作を内部的に実行します。
外部 Web サイトに HTML 形式で公開されるメタデータは、コンテンツが Web サイトに正しく公開されれば、Google などのインターネット検索エンジンによってインデックス付けされます。
構文
XSLTransform(source, xslt, output, {xsltparam})
パラメーター | 説明 | データ タイプ |
source | メタデータが変換されるアイテム、または変換されるスタンドアロン XML ファイル。 | Data Element; Layer |
xslt | 実行される変換を定義する W3C 準拠の XSLT 1.0 スタイルシート ファイル いくつかのスタイルシートが ArcGIS から提供されており、<ArcGIS Installation Location>\Metadata\Stylesheets フォルダーで利用可能です。 | File |
output | 作成される変換済みのメタデータを含んでいるファイル。 作成されるファイルのタイプは、XSLT スタイルシート内に指定されている出力メソッドに応じて決まります。 | File |
xsltparam (オプション) | XSLT スタイルシートに渡される XML ファイルまたは文字列 このパラメーターを XSLT スタイルシートでキャプチャするには、<xsl:param name="gpparam" /> を XSLT スタイルシート上部の xsl:output エレメントから最初の xsl:template エレメントまでの間に追加します。例については、add unique identifier.xslt ファイルをご参照ください。 | File; String |
コードのサンプル
HTML ファイルへのメタデータのエクスポート
ArcGIS に付属している ArcGIS.xsl XSLT スタイルシートを使用して、メタデータを Web サイトで使えるように HTML ファイルへエクスポートします。
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", "#")
環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい