ここでは、データベース → データセット → XML+XSLT → HTMLの一連の作業を行ってみます。
一応、以下で扱うファイルを用意しておきます。
Customers.xml
Customers.xslt
(1)データベース → データセット
SQLサーバーのサンプルデータベースをデータセットに読み込み、データセットからXMLに変換する。DataSet
のWriteXml(), WriteXmlSchema でデータ、およびスキーマをXMLファイルに変換することができる。実際に
Northwind のCustomers
テーブルをデータセットに読み込み、そこからXMLファイルを生成すると次のようなXMLファイルが生成されます。
NorthwindのCustomersテーブルのデータセット |
<?xml version="1.0" standalone="yes"?>
<NorthwindDataSet1 xmlns="http://tempuri.org/NorthwindDataSet1.xsd">
<Customers>
<CustomerID>ALFKI</CustomerID>
<CompanyName>Alfreds Futterkiste</CompanyName>
<ContactName>Maria Anders</ContactName>
<ContactTitle>Sales Representative</ContactTitle>
<Address>Obere Str. 57</Address>
<City>Berlin</City>
<PostalCode>12209</PostalCode>
<Country>Germany</Country>
<Phone>030-0074321</Phone>
<Fax>030-0076545</Fax>
</Customers>
<Customers>
<CustomerID>ANATR</CustomerID>
...
</Customers>
</NorthwindDataSet1>
|
Visual Studio 2005 Beta-1では、XML、XSLTを扱う機能が追加されている。
先ほど作成したCustomers.xml を Visual Studio 2005
Beta-1で開くと次のようになります。また、インテリセンスが効いて、手での修正も楽になっています。
(2) XSLTを作成する。
ここでは、Customers.xml を
HTMLに変換するためのXSLTを作成します。XSLTやXPATHについては、それだけで本がかけるほどの内容なので、参考文献をあさってください。
Customers.xml を HTMLに変換するためのXSLT |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="NorthwindDataSet1">
<HTML>
<STYLE>
BODY {font-family:verdana;font-size:9pt}
TD {font-size:8pt}
</STYLE>
<BODY>
<TABLE BORDER="1">
<xsl:apply-templates select="Customers"/>
</TABLE>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="Customers">
<TR>
<TD>
<xsl:value-of select="ContactName"/>
</TD>
<TD>
<xsl:value-of select="Phone"/>
</TD>
</TR>
</xsl:template>
</xsl:stylesheet>
|
(3) Customers.xml のStylesheetプロパティで、Customers.xslt を指定する
プログラムからではなく、xml と xslt を結びつけることにより、XSLT を行うようにします。
(4)XMLをXSLTでHTMLに変換する
ツールバーのShow XSL Output、またはメインメニュー→XML→Show XML Outputを選択します。
XMLメニューでは、Create Schema(XMLからスキーマを自動生成)、Reformat
Selection(XMLファイルの選択部分を整形)、Show XSL Output(XMLにXSLTを適用する)の3つが用意されています。
これで、Customers.htm が生成されて、下図のように表形式で表示することができます。