スライド 1

XMLゼミ
5.4 XSLT (P118~P134)
兒玉 光太郎
XSLTとは?
 XML文書のスタイルシート言語仕様であるXSLの一
部として使用するために設計された
 さまざまな用途に活用できるXML変換仕様として利
用できるようになった
 XSLから独立した1つの仕様、XSLTとして勧告され
た
XSLTスタイルシート
 XSLT文書の典型的なスケルトン
<xsl:stylesheet version="1.0"
version="1.0"
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
(スタイル内容)
(スタイル内容)
<xsl:stylesheet>
<xsl:stylesheet>
 XML文書をHTML文書に変換するXSLT文書
<?xml version="1.0" encoding="UTF-16"?>
<!-- members-a.xsl -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="shift_jis"/>
<xsl:template match="/">
<html>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="supplier">
<h1><xsl:value-of select="."/></h1>
</xsl:template>
</xsl:stylesheet>
 XML文書にXSLT文書を適用する
<?xml version="1.0" encoding="UTF-16"?>
<!-- members.xml -->
<?xml-stylesheet type="text/xsl" href="members-a.xsl"?>
<memberlist>
<member>
<Name CODE='002525' IMG='niko.gif'>二戸丹子</Name>
<TEL>2525-0110</TEL>
<FAX>2525-0111</FAX>
</member>
<member>
<Name CODE='001234' IMG='bassman.gif'>低音 出留蔵</Name>
<TEL>0301-0110</TEL>
<FAX>0301-0111</FAX>
適用する
</member>
実行結果(1)
XSLT文書(1)
</memberlist>
<?xml version="1.0" encoding="UTF-16"?>
<!-- members.xml -->
<?xml-stylesheet type="text/xsl" href="members-a.xsl"?>
<memberlist>
<member>
<Name CODE='002525' IMG='niko.gif'>二戸丹子</Name>
<TEL>2525-0110</TEL>
<FAX>2525-0111</FAX>
</member>
<member>
<Name CODE='001234' IMG='bassman.gif'>低音 出留蔵</Name>
<TEL>0301-0110</TEL>
<FAX>0301-0111</FAX>
</member>
適用する
実行結果(2)
</memberlist>
XSLT文書(2)
XSLTスタイルシートの要素
・xsl:apply-templates
・テンプレートを適用する。子要素も再帰的に処理する
<xsl:template match="*">
<fo:block font-weight="bold">
<xsl:applytemplates/></fo:block>
</xsl:template>
・xsl:for-each
・テンプレートのルールを、指定した各要素に対して適用する
<xsl:for-each select = node-set-expression>
(各要素に対して適用するテンプレートの内容)
</xsl:for-each>
ほかのスタイルシートの利用
 XSLTでスタイルシートを結合する方法は以下の2種類
・インクルード
<xsl:include href='インクルードするスタイルシートのURI' />
・インポート
<xsl:import href='インポートするスタイルシートのURI'/>
スタイルシートの埋め込み
 XSLTスタイルシートは、それを適用するXML文書とは別のド
キュメントとして作成する
<?xml version="1.0" encoding="Unicode"?>
<?xml:stylesheet type="text/xsl" href="member.xsl"?>
(XML文書のインスタンス)
*この操作によって、XMLドキュメントの中でスタイルシートは
xsl:stylesheet要素として表される
課題
 XML文書とXSLT文書の作成