DATA ステップまたは PROC
COPY での XML エンジンの使用
XML エンジンの概要 . . .
33XML エンジンの利点 . . .
34XML エンジンの制限事項 . . .
34 移送元コンピュータでのXML
ドキュメントの作成 . . . 34 例: DATAステップを使用したデータセットからのXML
ドキュメントの作成 . . . .34
例: PROC COPYを使用したデータセットからのXML
ドキュメントの作成 . . .35
ネットワークを経由したXML
ドキュメントの転送 . . . 35 移送先コンピュータでXML
ドキュメントをデータセットに復元する . . . 36例: DATAステップを使用を使用した
XML
ドキュメントからのデータセットの復元 . . .
36
例: PROC COPYを使用したXML
ドキュメントからのデータセットの復元 . . .36
XML エンジンの概要
SAS
データセットからXML
ドキュメントへのエクスポートと、XML
ドキュメントからSAS
データセットへの復元にはXML
エンジンを使用します。XML
ドキュメントを動作 環境にまたがって移送して読み込むには、DATA
ステップまたはPROC COPY
でXML
エンジンを使用します。移送元コンピュータで
XML
ドキュメントを作成し、移送先コンピュータでそのファイル を読み込むプロセスを次に示します。1.
移送元コンピュータで、DATA
ステップまたはPROC COPY
でXML
エンジンを使 用してXML
ドキュメントを作成します。2.
ファイルが移送元コンピュータから移送先コンピュータへ転送されます。3.
移送先コンピュータで、DATA
ステップまたはPROC COPY
でXML
エンジンを使 用してXML
ドキュメントを読み込みます。XML
エンジンの詳細については、SAS XML LIBNAME Engine: ユーザーガイドを参照
してください。33
XML エンジンの利点
DATA
ステップまたはPROC COPY
でXML
エンジンを使用することには次の利点が あります。• XML
データがテキストとして保存されます。SASファイルとは異なり、XMLドキュ メントはテキストエディタで読み込んだり、更新したりできます。• SAS
アプリケーション以外のアプリケーションにXML
ドキュメントをインポートでき ます。たとえば、XMLドキュメントをOracle
アプリケーションに入力したり、Webに 配信したりできます。SASデータセットとして復元して処理を続行することもできま す。 他のプログラムとのデータ互換性を重視する場合には、XMLエンジンの使用 をお勧めします。• XML
エンジンは、SAS 8以降の機能をサポートしています。XPORTエンジンとは 異なり、XMLエンジンは長い名前などのSAS 8
機能をサポートします。XML エンジンの制限事項
XML
エンジンには次の制限があります。• XML
エンジンはSAS
データファイルのみをサポートしています。ビューやその他 のSAS
ファイルの種類はサポートされません。• XML
エンジンは、SAS 6
以前のリリースではサポートされません。SAS 6
との間で 移動する場合には、XPORT
エンジンを使用する必要があります。• XML
エンジンは、他の方法よりも処理に長い時間がかかります。処理時間が問 題となる場合は、XML
の使用をお勧めしません。• XML
ドキュメントはサイズが大きい場合があります。ディスク容量やネットワーク 帯域が問題となる場合は、XML
の使用をお勧めしません。• XML
エンジンは、文字変換で転送方式に依存します。XML
ドキュメントをバイナ リファイルとして転送すると、移送先コンピュータで読め込めない場合があります。移送元コンピュータでの XML ドキュメントの作成
例 : DATA ステップを使用したデータセットからの XML ドキュメントの作成
この例では、DATAステップで
XML
エンジンを使用して、データセットからXML
ドキ ュメントを作成します。libname source 'SAS-data-library';
libname xmlout xml 'XML-document';
data xmlout.grades;
set source.grades;
run;
前記の例では、ライブラリ参照名
SOURCE
は、移送元コンピュータにあるライブラリの 場所を指しています。ライブラリ参照名XMLOUT
は、XMLドキュメントを作成する場所を指しています。この
LIBNAME
ステートメントのXML
エンジンは、ファイルがXML
マークアップで作成されることを指定しています。SET
ステートメントでデータセット
GRADES
が読み込まれ、LIBNAME
ステートメントで指定した場所にXML
マークアップが生成されます。
作成される
XML
ドキュメントの内容は次のとおりです。アウトプット5.1 データセットGRADESから生成されたXML出力
<?xml version="1.0" encoding="windows-1252" ?>
<TABLE>
<GRADES>
<student> Fred </student>
<test1> 66 </test1>
<test2> 80 </test2>
<final> 90 </final>
</GRADES>
<GRADES>
<student> Wilma </student>
<test1> 97 </test1>
<test2> 91 </test2>
<final> 98 </final>
</GRADES>
</TABLE>
例 : PROC COPY を使用したデータセットからの XML ドキュメントの作成
この例では、
COPY
プロシジャを使用して、データセットからXML
ドキュメントを作成し ます。libname source 'SAS-data-library';
libname xmlout xml 'XML-document';
proc copy in=source out=xmlout;
select grades;
run;
前記の例では、ライブラリ参照名
SOURCE
は、移送元コンピュータにあるライブラリの 場所を指しています。ライブラリ参照名XMLOUT
は、XML
ドキュメントを作成する場 所を指しています。このLIBNAME
ステートメントのXML
エンジンは、ファイルがXML
マークアップで作成されることを指定しています。PROC COPY
ステートメント は、IN=
オプションで指定されたライブラリのデータを、OUT=
オプションで指定されたラ イブラリにコピーします。SELECT
ステートメントは、入力ライブラリからコピーするデー タセットを指定しています。注: SELECTステートメントで指定するデータセットが複数の場合は、
XML
エンジンで 入力ライブラリの全メンバが処理されて、オブザベーションは連結されます。ネットワークを経由した XML ドキュメントの転送
XML
ドキュメントを利用できるようにするには、次のいずれかの方法を使用します。• NFS(Network File Services)を使用して、動作環境でアクセスできるようにネットワ
ーク上のファイルをマウントします。NFSおよび動作環境向けドキュメントを参照し てください。ネットワークを経由したXMLドキュメントの転送 35
• FTP(File Transfer Protocol)
を使って特定の移送先コンピュータにファイルをコピー する。FTP
の詳細については、“ファイルの転送” (39
ページ)
を参照してくださ い。作成された
XML
ドキュメントを転送するときにデフォルトのエンコーディングを使用し た場合は、ファイルの転送にASCII(
テキスト)
モードを使ってください。エンコーディン グの値を明示的に指定した場合は、ファイルの転送にバイナリモードを使ってくださ い。移送先コンピュータで XML ドキュメントをデータセットに 復元する
例 : DATA ステップを使用を使用した XML ドキュメントからのデータセットの 復元
この例では、DATAステップを使用して、XMLドキュメントからデータセットを復元しま す。
libname xmlin xml 'XML-document';
libname target 'SAS-data-library';
data target.grades;
set xmlin.grades;
run;
前記の例では、ライブラリ参照名
XMLIN
は、XMLドキュメントがある場所を指してい ます。XMLエンジンは、SASデータセットを読み込むことを指定しています。 ライブラリ参照名
TARGET
は、変換したSAS
データセットのコピー先を指しています。SETステートメントで
XML
形式のデータセットXMLIN.GRADES
が読み込まれて変換され た後、DATAステートメントで指定した場所にコピーされます。例 : PROC COPY を使用した XML ドキュメントからのデータセットの復元
この例では、COPYプロシジャを使用して、XMLドキュメントからデータセットを復元し ます。
libname xmlin xml 'XML-document';
libname target 'SAS-data-library';
proc copy in=xmlin out=target;
run;
前記の例では、ライブラリ参照名