XML、XSL、XSLTの実装・開発記録、サンプルあり。。。

XMLやXSL、XSLTの実装で苦労した開発記録です。サンプルも少しあります。。。

 

WEB開発で疲れたこのごろ、どうにか開発を楽にできないかと。。。
なんだかそればかり考えて開発してますね。。。;

そういえば、お客様提供の取扱い説明書(取説)をHTMLで作っていましたが
これもシステム化しちゃえと、ゴリゴリ開発していたのです。

ヒョンなことから「XSLT」と出会い、試行錯誤しXSLT開発してみました。

なかなか使えそうです。。。

XMLに必要な情報、データなどを作り、デザインテンプレートとしてXSLTを使う
といった具合に動作します。
(奥が深いのでこんな適当ーな感じで説明しちゃいます)

とりあえずはじめに作ったサンプルです、ここから改造してゆきました。

■XSLT(sample1.xsl)
<?xml version=”1.0″ encoding=”utf-8″?>
<?xml-stylesheet type=”text/xml”?>
<xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>

<xsl:template match=”/”>
<html>
<body>

<div>
<xsl:apply-templates select=”/rss/channel/item” />
</div>

<div>XHTMLについて</div>

</body>
</html>
</xsl:template>
<xsl:template match=”item”>
<xsl:element name=”a”>
<xsl:attribute name=”href”>
<xsl:value-of select=”link”/>
</xsl:attribute>
<xsl:attribute name=”target”>
_blank
</xsl:attribute>
<xsl:value-of select=”title”/>
</xsl:element>
<br />
<xsl:value-of select=”description”/>
<br />
<br />
</xsl:template>

</xsl:stylesheet>

■XSLT(sample1.xml)
<?xml version=”1.0″ encoding=”UTF-8″?>
<?xml-stylesheet type=”text/xsl” href=”sample1.xsl”?>
<rss>
<channel>
<item>
<title>TOP</title>
<link>index.htm</link>
<description>TOPページに行く</description>
</item>
<item>
<title>ページ1</title>
<link>X1.htm</link>
<description>HTMLからXHTMLへ XHTML、UTF-8(UNICODE)対応のホームページにする(文字化け対策)</description>
</item>
<item>
<title>ページ2</title>
<link>X2.htm</link>
<description>HTMLからCSSへ &lt;table&gt;をfloatに変える</description>
</item>
<item>
<title>サンプルダウンロード</title>
<link>X3.htm</link>
<description>HTMLからCSSへ リスト(&lt;ul&gt;,&lt;li&gt;)を横に並べ、ページタグのようなリンクボタンの作成</description>
</item>
</channel>
</rss>

 

とにかくですね、XSLTにテンプレートを作っておけば、
あとは、XMLデータを変えるだけで中身が変わります。

とっても便利ですよね、取説なんかはデザインや構造が一緒で文面が違うだけですから。
中身の文字データだけ変更すればいいだけ、なんて便利なんでしょうか。

もっとできることがありそうですね。

■先ずはXMLの基本、XSLTを基本から勉強しましょう↓
<a target=”_blank” href=”http://www.atmarkit.co.jp/fxml/rensai2/xmlmaster10/master10.html”>http://www.atmarkit.co.jp/fxml/rensai2/xmlmaster10/master10.html</a>

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です