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="<xsl:value-of select="@link" />"><xsl:value-of select="." /></a>
</xsl:template>
</xsl:stylesheet>
a.xslをIEで開いてみよう
要求したスペースが見つかりません。
ますますおかしなエラーになってしまった。
次回へ続く