前のページ|次のページ

テーブルの要素

SASデータセットを定義します。

構文

TABLE name="data-set-name"
TABLE-PATH syntax="type"
TABLE-END-PATH syntax="type" beginend="BEGIN | END"
TABLE-DESCRIPTION

要素

TABLE name="data-set-name"

この要素には、データセット定義を含めます。たとえば、<TABLE name="channel">のように記述します。

name="data-set-name"

データセットの名前を指定します。この名前は、そのXMLMap定義内で一意となる、最大32文字までの有効なSAS名でなければなりません。

要件 name=属性は必須です。
要件 TABLE要素は必須です。
操作 TABLE要素には、TABLE-PATH、TABLE-END-PATH、TABLE-DESCRIPTION、COLUMNの各要素のうち1つまたは複数を含めることができます。

TABLE-PATH syntax="type"

場所パスを指定します。場所パスは、SASデータセットの変数を収集するには、XMLドキュメント内のどの位置を検索し特定の要素にアクセスする必要があるかをXML Engineに伝えます。場所パスは、XMLドキュメント内の反復要素インスタンス(SASデータセットのオブザベーション境界となるもの)を定義します。 オブザベーション境界は、一定の個数の列を伴う任意の個数の行の集合(すなわち表)に変換されます。

たとえば、XMLドキュメントRSS.XML (XMLMapを使用し、XMLドキュメントを複数のSASデータセットとしてインポートするで使用したもの)を使用する場合に、次のTABLE-PATH要素を指定すると、次の処理が実施されます。
<TABLE-PATH syntax="XPath"> /rss/channel/item </TABLE-PATH>
  1. XML Engineは、開始タグ<ITEM>を検出するまでXMLマークアップを読み込みます。
  2. XML Engineは入力バッファをクリアし、カウンタをMISSING (デフォルト)に設定した後、COLUMN要素の定義に基づいて変数名の要素をスキャンします。値が検出されると、それらは入力バッファに読み込まれます (XML EngineがカウンタをMISSINGにリセットするかどうかは、DEFAULT要素と、COLUMN要素のretain=属性により決定されます)。
  3. 終了タグ</ITEM>を検出した時点で、XML Engineは、完了した入力バッファを1つのオブザベーションとしてSASデータセットに書き出します。
  4. 開始タグ<ITEM>と終了タグ</ITEM>のシーケンスを検出するたびに、入力ストリームのファイルの終わりを検出するまでか、またはTABLE-END-PATH (指定されている場合)が実施されるまで、この処理が繰り返されます。この結果、6個のオブザベーションが生成されます。

syntax="type"

オプション属性であり、場所パス内に記述する構文のタイプを指定します。この構文は、W3C規格に準拠した有効なXPath構成になります。 たとえば、syntax="XPath"のように指定します。

デフォルト XPath
要件 この値は、XPathまたはXPathENRのどちらかでなければなりません。
XML名前空間をNAMESPACES要素で定義する場合、構文のタイプをXPathENR (埋め込み型の名前空間参照を持つXPath)として指定する必要があります。これは、この構文がXPath規格とは異なるためです。たとえば、syntax="XPathENR"のように指定します。
注意:
表の場所パスを指定します。表の場所パスはオブザベーション境界となるものです。開始タグと終了タグのペアリングシーケンスが原因で、オブザベーション境界の特定がトリッキーになる場合があります。
表の場所パスは、どの終了タグを検出した時点でXML Engineが完了した入力バッファをSASデータセットに出力するかを決定します。適切な終了タグを指定しない場合、結果として独立したオブザベーションではなく、連結されたデータ文字列や予期せぬ列の集合が生成されることがあります。たとえば、データの連結を避けるために、オブザベーションの境界を決定する および最適な列を選択するために、オブザベーションの境界を決定するを参照してください。
要件 TABLE-PATH要素は必須です。
XML名前空間をNAMESPACES要素で定義する場合、定義しようとしている要素に先立って、場所パスにID番号を含める必要があります。ID番号は中かっこで囲みます。たとえば、<TABLE-PATH syntax="XPathENR">/Table/{1}Hurricane</TABLE-PATH>のように記述します。
XPath構成は、XML構造の各要素に関してUNIXライクなパス記述を配置する公式規格です。XPathの構文では大文字小文字が区別されます。たとえば、要素タグ名が大文字である場合、そのタグ名は場所パスでも大文字で記述する必要があります。同様に、要素タグ名が小文字である場合、そのタグ名は場所パスでも小文字で記述する必要があります。すべての場所パスは、ルート包含要素(スラッシュ'/'で表される)で始まるか、または"任意の親"バリアント(ダブルスラッシュ'//'で表される)で始まる必要があります。W3Cで規定されているその他の形式は、現時点ではサポートされていません。

TABLE-END-PATH syntax="type" beginend="BEGIN | END"

このオプションの最適化要素は、ファイルの終了前にXMLドキュメントの処理を停止することにより、リソースを節約します。場所パスは、XMLドキュメントの処理を停止するには、XMLドキュメント内のどの位置を検索し特定要素にアクセスする必要があるかをXML Engineに伝えます。

たとえば、XMLドキュメントRSS.XML (XMLMapを使用し、XMLドキュメントを複数のSASデータセットとしてインポートするで使用したもの)を使用する場合、1つの開始タグ<CHANNEL>と1つの終了タグ</CHANNEL>のみが存在します。TABLE-PATH要素の場所パス<TABLE-PATH syntax="XPath"> /rss/channel </TABLE-PATH>により、XML Engineは、最初の開始タグ<ITEM>を検出した後、新規データを入力バッファに格納しないにもかかわらず、XMLドキュメント全体を処理します。これは、残りの要素が適格ではなくなるためです。TABLE-END-PATH要素の場所パス<TABLE-END-PATH syntax="XPath" beginend="BEGIN"> /rss/channel/item </TABLE-END-PATH>は、開始タグ<ITEM>を検出した時点で処理を停止するようXML Engineに伝えます。
したがって、これら2つの場所パスにより、XML Engineは、XMLドキュメントRSS.XML全体を処理するのではなく、RSS.XML内の強調表示されているデータのみを処理してCHANNELデータセットを生成します。
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="0.91">
<channel>
<title>WriteTheWeb</title>
<link>http://writetheweb.com</link>
<description>News for web users that write back
</description>
<language>en-us</language>
<copyright>Copyright 2000, WriteTheWeb team.
</copyright>
<managingEditor>editor@writetheweb.com
</managingEditor>
<webMaster>webmaster@writetheweb.com</webMaster>
<image>
<title>WriteTheWeb</title>
<url>http://writetheweb.com/images/mynetscape88.gif
</url>
<link>http://writetheweb.com</link>
<width>88</width>
<height>31</height>
<description>News for web users that write back
</description>
</image>
<item> 
<title>Giving the world a pluggable Gnutella</title>
<link>http://writetheweb.com/read.php?item=24</link> 
<description>WorldOS is a framework on which to build programs 
that work like Freenet or Gnutella-allowing distributed 
applications using peer-to-peer routing.</description> 
</item> 
<item>
.
.
.
</channel>
</rss>

syntax="type"

オプション属性であり、場所パス内に記述する構文のタイプを指定します。この構文は、W3C規格に準拠した有効なXPath構成になります。 XML EngineがサポートしているXPath形式では、生成されるSASデータセットから除外する要素や属性を個別に選択できます。たとえば、syntax="XPath"のように指定します。

デフォルト XPath
要件 この値は、XPathまたはXPathENRのどちらかでなければなりません。
XML名前空間をNAMESPACES要素で定義する場合、構文のタイプをXPathENR (埋め込み型の名前空間参照を持つXPath)として指定する必要があります。これは、この構文がXPath規格とは異なるためです。たとえば、syntax="XPathENR"のように指定します。

beginend="BEGIN | END"

オプション属性であり、要素の開始タグを検出した時点または要素の終了タグを検出した時点で、処理を停止するよう指定します。

デフォルト BEGIN
デフォルト XMLドキュメントの最後の終了タグに出会うまで、処理を続行します。
要件 XML名前空間をNAMESPACES要素で定義する場合、定義しようとしている要素に先立って、場所パスにID番号を含める必要があります。ID番号は中かっこで囲みます。たとえば、<TABLE-END-PATH syntax="XPathENR">/Table/{1}Hurricane</TABLE-END-PATH>のように記述します。
XPath構成は、XML構造の各要素に関してUNIXライクなパス記述を配置する公式規格です。XPathの構文では大文字小文字が区別されます。たとえば、要素タグ名が大文字である場合、そのタグ名は場所パスでも大文字で記述する必要があります。同様に、要素タグ名が小文字である場合、そのタグ名は場所パスでも小文字で記述する必要があります。すべての場所パスは、ルート包含要素(スラッシュ'/'で表される)で始まるか、または"任意の親"バリアント(ダブルスラッシュ'//'で表される)で始まる必要があります。W3Cで規定されているその他の形式は、現時点ではサポートされていません。
操作 TABLE-END-PATH要素は、オブザベーション境界には影響を与えません。オブザベーション境界は、TABLE-PATH要素により決定されます。
ヒント 処理を停止する場所を指定すると、階層構造は持っているが、反復インスタンスデータには一般に適していないXMLドキュメントを処理する場合に役立ちます。
XMLMapを使用し、XMLドキュメントを複数のSASデータセットとしてインポートする

TABLE-DESCRIPTION

オプションの要素であり、SASデータセットの説明を最大256文字で指定します。たとえば、<TABLE-DESCRIPTION> Data Set contains TV channel information </TABLE-DESCRIPTION>のように指定します。

前のページ|次のページ|ページの先頭へ