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文書の作成
© Copyright 2024 ExpyDoc