エクスポートするSASデータセットNHL.TEAMSの内容は次のとおりです。
データセットNHL.TEAMSのPRINTプロシジャ出力
XMLMapを使用せずにデータをエクスポートした場合、結果として作成されるXMLドキュメントの構造は矩形となり、SASデータセット内のオブザベーションごとに1つのTEAMS要素が含まれることになります。例:
<?xml version="1.0" encoding="windows-1252" ?>
<TABLE>
<TEAMS>
<NAME>Thrashers</NAME>
<ABBREV>ATL</ABBREV>
<CONFERENCE>Eastern</CONFERENCE>
<DIVISION>Southeast</DIVISION>
</TEAMS>
<TEAMS>
<NAME>Hurricanes</NAME>
<ABBREV>CAR</ABBREV>
<CONFERENCE>Eastern</CONFERENCE>
<DIVISION>Southeast</DIVISION>
</TEAMS>
.
.
.
</TABLE>
各会議における部門別のデータ階層構造を持つXMLドキュメントとしてSASデータセットをエクスポートするには、XMLMapが必要となります。既存のXMLMapに対する唯一の変更は、OUTPUT要素を含めることです。次の例では、XMLMap構文の表記について説明します。
<?xml version="1.0" ?>
<SXLEMAP version="2.1"> 1
<OUTPUT> 2
<HEADING> 2
<ATTRIBUTE name="description" 3
value="Teams of the National Hockey League" />
</HEADING>
<TABLEREF name="TEAMS" /> 4
</OUTPUT>
<TABLE name="TEAMS">
<TABLE-PATH syntax="XPath">/NHL/CONFERENCE/DIVISION/TEAM</TABLE-PATH>
<COLUMN name="NAME">
<PATH syntax="XPath">/NHL/CONFERENCE/DIVISION/TEAM/@name</PATH>
<TYPE>character</TYPE>
<DATATYPE>STRING</DATATYPE>
<LENGTH>30</LENGTH>
</COLUMN>
<COLUMN name="ABBREV">
<PATH syntax="XPath">/NHL/CONFERENCE/DIVISION/TEAM/@abbrev</PATH>
<TYPE>character</TYPE>
<DATATYPE>STRING</DATATYPE>
<LENGTH>3</LENGTH>
</COLUMN>
<COLUMN name="CONFERENCE" retain="YES">
<PATH syntax="XPath">/NHL/CONFERENCE</PATH>
<TYPE>character</TYPE>
<DATATYPE>STRING</DATATYPE>
<LENGTH>10</LENGTH>
</COLUMN>
<COLUMN name="DIVISION" retain="YES">
<PATH syntax="XPath">/NHL/CONFERENCE/DIVISION</PATH>
<TYPE>character</TYPE>
<DATATYPE>STRING</DATATYPE>
<LENGTH>10</LENGTH>
</COLUMN>
</TABLE>
</SXLEMAP>
1 |
XMLMapを使用してSASデータセットをXMLドキュメントとしてエクスポートするには、XMLMapのバージョン番号として1.9または2.1を指定する必要があります。 |
2 |
XMLMapを使用してSASデータセットをXMLドキュメントとしてエクスポートするには、XMLMapにOUTPUT要素を含める必要があります。OUTPUT要素には、1つ以上のHEADING要素と、1つのTABLEREF要素が含まれています。 |
3 |
ATTRIBUTE要素は、追加となるファイル属性情報を定義するものであり、ここではエクスポートされるXMLドキュメントの名前と説明を指定します。 |
4 |
TABLEREF要素は、エクスポートされるテーブルの名前を参照するものであり、ここではテーブルTEAMSを指定します。 |
次のSASステートメントは、NHLEXPORT.MAPという名前のXMLMapを使用して、SASデータセットNHL.TEAMSをXMLドキュメントNHLOUT.XMLにエクスポートします。
libname nhl 'C:\My Documents\myfiles';
filename out 'C:\My Documents\XML\nhlout.xml';
libname out xmlv2 xmltype=xmlmap xmlmap='C:\My Documents\XML\nhlexport.map';
data out.TEAMS;
set nhl.teams;
run;
結果として生成されるXMLドキュメントの内容は次のようになります。
<?xml version="1.0" encoding="windows-1252" ?>
<!-- SAS XML Libname Engine (SAS92XML)
SAS XMLMap Generated Output
Version 9.04.01B0D09202012
Created 2012-09-21T13:47:16
-->
<NHL description="Teams of the National Hockey League">
<CONFERENCE>Eastern
<DIVISION>Southeast
<TEAM name="Thrashers" abbrev="ATL" />
<TEAM name="Hurricanes" abbrev="CAR" />
<TEAM name="Panthers" abbrev="FLA" />
<TEAM name="Lightning" abbrev="TB" />
<TEAM name="Capitals" abbrev="WSH" />
</DIVISION>
</CONFERENCE>
<CONFERENCE>Western
<DIVISION>Pacific
<TEAM name="Stars" abbrev="DAL" />
<TEAM name="Kings" abbrev="LA" />
<TEAM name="Ducks" abbrev="ANA" />
<TEAM name="Coyotes" abbrev="PHX" />
<TEAM name="Sharks" abbrev="SJ" />
</DIVISION>
</CONFERENCE>
</NHL>