3.1.3 情報リクエストDTD

マップ・リクエスト(「マップ・リクエストDTD」を参照)および管理リクエストの発行の他に、MapViewerに対して情報リクエストを発行できます。情報リクエストはXMLリクエスト文字列であり、これを使用してSQL問合せを実行し、文字列の配列またはXML文書の形で結果を取得できます。SQL問合せはSELECT文である必要があり、SQLの基本型(非LOB型またはユーザー定義オブジェクト型など)のみを選択する必要があります。

MapViewerの情報リクエストのDTDは次のとおりです。

<!ELEMENT info_request (#PCDATA) >
<!ATTLIST info_request
  datasource CDATA #REQUIRED
  format (strict | non-strict) "strict"
>

datasourceは、情報を取得するデータソースを指定する必須属性です。

formatはオプション属性です。この属性がstrict(デフォルト)である場合、すべての行が書式設定され、XML文書の形で返されます。formatnon-strictに設定されている場合、すべての行および列見出しリストがカンマ区切りのテキスト文字列で返されます。

例3-24は、都市、1990年の人口およびCITIES表の州の略記を選択するための情報リクエストを示しています。このリクエストでは、データソースmvdemoの接続情報が使用され、情報がXML文書((format="strict"))で返されます。

例3-24 MapViewer情報リクエスト

<?xml version="1.0" standalone="yes"?>
<info_request datasource="mvdemo"
              format="strict">    
    SELECT city, pop90 population, state_abrv state FROM cities
</info_request>

例3-24では、次の内容を含むXML文書が返されます:

<?xml version="1.0" encoding="UTF-8"?>
<ROWSET>
    <ROW num="1">
        <CITY>New York</CITY>
        <POPULATION>7322564</POPULATION>
        <STATE>NY</STATE>
    </ROW>
    <ROW num="2">
        <CITY>Los Angeles</CITY>
        <POPULATION>3485398</POPULATION>
        <STATE>CA</STATE>
    </ROW>
    <ROW num="3">
        <CITY>Chicago</CITY>
        <POPULATION>2783726</POPULATION>
        <STATE>IL</STATE>
    </ROW>
    <ROW num="4">
        <CITY>Houston</CITY>
        <POPULATION>1630553</POPULATION>
        <STATE>TX</STATE>
    </ROW>        
        . . .
    </ROWSET>