中の技術日誌
 ホーム / 上へ

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

2005/08/14

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

第15回

ちょっとHTMLに戻ってみよう。

HTMLでリンクを表すのはAタグを利用する。
<a href="xxx.example.com">xxx.example.com</a>このように記述する。

では、これをXSLで行ってみよう。

a.xml
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="a.xsl"?>
<ROOT>
 <会社 link="http://example.com">example.com商社</会社>
</ROOT>
a.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="会社">
 <a href="<xsl:value-of select="@link" />"><xsl:value-of select="." /></a>
</xsl:template>
</xsl:stylesheet>

これをIEで開いてみよう。

文字 '< ' は、属性値内に使用できません。

というエラーが表示される。
それもそのはずこれではウェルフォームドなXMLにXSLがなっていないからである。

では<>などを文字実体参照に置き換えてみよう。

a.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="会社">
 <a href="&lt;xsl:value-of select="@link" /&gt;"><xsl:value-of select="." /></a>
</xsl:template>
</xsl:stylesheet>

a.xslをIEで開いてみよう

要求したスペースが見つかりません。

ますますおかしなエラーになってしまった。

次回へ続く

[戻る] [進む]


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

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

ブログ本家
広告