ホーム > X-Plus > XML Square >  デベロッパーズコーナー  >  XMLとデータベース

この記事を送る はてなブックマークに追加する BuzzurlにブックマークBuzzurlにブックマーク Yahoo!ブックマークに登録
テキストリンクコードを取得する

デベロッパーズコーナー:XMLとデータベース I(9)

2002年01月01日作成 

XMLとデータベース
ADO、ASPとの連携について
(株)日本ユニテック
竹内 理


目次<全10ページ>

2.準備
9.STEP7:応用1、レコードセットを表示する
    おわりに



STEP7:応用1、レコードセットを表示する

ここからは、ここまでで考えてきたことをもとにして、さらに実用性のあるスクリプトを作っていきましょう。

最初に、レコードセットを表示する処理を行ってみましょう。

STEP6で行ったようにレコードセットをResponseオブジェトに永続化しますが、その際にrsdisp.xslというXSLファイルと関連付けます。ブラウザ側でレコードセットの内容を整形して出力します。

STEP2でもレコードセットの内容をHTMLに整形して出力していますが、XSLを使えば同じことをさらに簡単に実現できます。

使用するrsdis.xslファイルは次のようなXSLファイルです。

<?xml version="1.0" encoding="shift_jis"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/" xml:space="preserve">
<HTML><BODY>
   <xsl:apply-templates select="xml"/>
</BODY></HTML>
</xsl:template>
<xsl:template match="xml">
<xsl:for-each select="rs:data">
   <TABLE border="1">
   <TR><TD>NAME</TD><TD>AGE</TD></TR>
   <xsl:for-each select="z:row">
       <TR>
           <TD><xsl:value-of select="@Name"/></TD>
           <TD><xsl:value-of select="@Age"/></TD>
       </TR>
   </xsl:for-each>
   </TABLE>
</xsl:for-each>
</xsl:template>

</xsl:stylesheet >
<リスト8. Rsdisp.xsl>

では次のSample6.aspを実行してください。
<%@ language="VBscript" %>
<object id="rs" progid="ADODB.Recordset" runat="Server"></object>
<%
       Option Explicit
       Response.Buffer = true

       Dim strSQL,strConn

       Response.ContentType="text/xml"
       Response.write "<?xml version='1.0' encoding='UTF-8'?>"
       Response.write "<?xml-stylesheet type='text/xsl' href='rsdisp.xsl'?>"    '①XSLファイルと関連付ける
       Response.Expires= 0

       strSQL = "select * from person"
       strConn = "DSN=adotest;UID=;PWD=;DATABASE="
       rs.Open strSQL,strConn

       rs.Save Response,1
       rs.Close
%>
<リスト9. Sample6.asp>

Sample6.aspは実際にはほとんどSample5.aspと変わらないことに気づかれるでしょう。Sample5.aspに書き加えたのは①の行だけです。ここではResponse.writeでXSLファイルとの関連付けを出力しています。

ブラウザ側で次のように表示されれば成功です。


<図3.XSLを使って表示されたレコードセット>

このようにADO、IIS、XSLを組み合わせれば、非常に簡単な方法でデータベースの内容を表示させることができます。

サーバ側でXMLをHTMLに整形するというような処理がいらず、またXSLを処理するのはブラウザですからサーバへの負担もかかりません。



この記事と関連の高い記事

関連キーワード:ADO


関連キーワード:ASP


関連キーワード:データベース




ページトップへ戻る