中の技術日誌
 

XMLってなぁに? 初級編 第3回

2005/01/26

この文書は執筆時点(2004/後半)での知識を基にしており、現状とあっていない可能性があります。

第3回

XSLやXSLTとはeXtensible Stylesheet Languageと言ってXMLを好きな形に整形することである。
一般的にXML->HTML, XML->XML, XML->Textという3形式がある。

#XSL-FOなんていう双子もいる

一番最初はXML->HTMLから説明しよう。

<?xml version="1.0" encoding="utf-8"?>
<商品一覧>
 <商品>
  <品名>CDRメディア</品名>
  <値段>2000</値段>
 </商品>
 <商品>
  <品名>DVDメディア</品名>
  <値段>5000</値段>
 </商品>
 <商品>
  <品名>FDメディア</品名>
  <値段>1000</値段>
 </商品>
</商品一覧>

以前使ったこのXMLを

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="a.xsl"?>
<商品一覧>
 <商品>
  <品名>CDRメディア</品名>
  <値段>2000</値段>
 </商品>
 <商品>
  <品名>DVDメディア</品名>
  <値段>5000</値段>
 </商品>
 <商品>
  <品名>FDメディア</品名>
  <値段>1000</値段>
 </商品>
</商品一覧>

このように

<?xml-stylesheet type="text/xsl" href="a.xsl"?>

という行を追加してほしい。

さらに、a.xslというXSLファイルを以下のように

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
 <html>
  <head>
   <title>TITLE</title>
  </head>
  <body>
   ヘッダ
   <xsl:apply-templates />
   フッタ
  </body>
 </html>
</xsl:template>

<xsl:template match="商品一覧">
 <table border="1">
 <tbody>
  <xsl:apply-templates />
 </tbody>
 </table>
</xsl:template>

<xsl:template match="商品">
 <tr><xsl:apply-templates /></tr>
</xsl:template>

<xsl:template match="品名">
 <td><xsl:apply-templates /></td>
</xsl:template>

<xsl:template match="値段">
 <td><xsl:apply-templates /></td>
</xsl:template>

</xsl:stylesheet>

用意した上でXMLファイルを開いてみてほしい。



勉強会: 05/18 大阪 登録受付中

中の技術日誌
コンテンツ
わんくま同盟
わんくま同盟
わんくま同盟
広告
バナー
MVP LOGO
MSMVP Visual C# Since 2004/04-2007/03
MCP LOGO
070-316
姉妹サイト
姉妹サイト:じゃんぬのC#, VB.NET 入門
じゃんぬの
C#, VB.NET 入門
検索
Google

ブログ本家
広告