お知らせ

Movable Type プロフェッショナル・スタイル MT4.1対応 2008年4月8日

Movable Typeプロフェッショナル・スタイル」が発売されました。
Movable Typeの第一線に関わる人々の共著で、Movable Typeをビジネスサイト構築に活かすテクニックが満載です。
Movable Typeでサイト構築を行っているWeb制作会社等の方々にお勧めです。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

エントリーにXMLでデータを埋め込むプラグイン(その2)

| コメント(0) | トラックバック(0)

昨日の続きで、エントリーにXMLでデータを埋め込むプラグインを紹介します。
今日は、このプラグインで追加されるテンプレートタグの書き方です。

MTEntryXMLタグ/MTEntryIfXMLタグ

MTEntryXMLタグは、エントリーに入れたXMLの全体を表すコンテナタグです。
このコンテナの中に、データを取り出すためのタグを入れます。
また、MTEntryIfXMLタグは、エントリーにXMLのデータが含まれるかどうか(<XMLRecord>~</XMLRecord>)を調べる条件タグです。
エントリーからXMLのデータを取り出したいときには、まずこれらのタグを以下のように組み合わせます。

<MTEntryIfXML>
<MTEntryXML>
データを取り出すタグ
</MTEntryXML>
</MTEntryIfXML>

MTEntryXMLValueタグ

XML内の特定の要素の値を取り出すタグです。
nameアトリビュートで要素の値を指定します。

例えば、エントリーの中に以下のようにXMLを入れたとします。

<!--
<XMLRecord>
<width>150</width>
<height>100</height>
</XMLRecord>
-->

この場合、「<$MTEntryXMLValue name="width"$>」とすると、XML内のwidth要素の値(150)が出力されます。
同様に、「<$MTEntryXMLValue name="height"$>」とすると、「100」が出力されます。

MTEntryXMLFieldsタグ

XML内で要素が階層化されているときに、ある要素を基準に、その下の階層にあるすべての要素を取り出すためのコンテナタグです。
基準となる要素の名前は、nameアトリビュートで指定します。

例えば、エントリーに以下のようにXMLを入れたとします。

<!--
<XMLRecord>
<productinfo>
  <name>foo</name>
  <price>1500</price>
</productinfo>
<size>
  <width>150</width>
  <height>100</height>
</size>
</XMLRecord>
-->

上記のXML内の各要素を取り出すには、以下のようにタグを組みます。

<MTEntryIfXML>
<MTEntryXML>
<MTEntryXMLFields name="productinfo">
Name : <MTEntryXMLValue name="name"><br />
Price : <MTEntryXMLValue name="price"><br />
</MTEntryXMLFields>
<MTEntryXMLFields name="size">
WIdth : <MTEntryXMLValue name="width"><br />
Height : <MTEntryXMLValue name="height"><br />
</MTEntryXMLFields>
</MTEntryXML>
</MTEntryIfXML>

MTEntryXMLIfFieldsタグ

XML内に、指定した名前の要素があるかどうかを調べる条件タグです。
要素の名前はnameアトリビュートで指定します。

例えば、「width」という名前の要素があるときだけ何かを出力する場合は、以下のようにタグを組みます。

<MTEntryIfXML>
<MTEntryXML>
<MTEntryXMLIfFields name="width">
出力する内容
</MTEntryXMLIfFields>
</MTEntryXML>
</MTEntryIfXML>

ただし、要素は現在処理中の階層からのみ検索されます。
ある階層の直下に、特定の要素があるかどうかを調べたい場合は、まずMTEntryXMLFieldsタグを使ってその階層の要素を取り出し、そのコンテナの中でMTEntryXMLIfFieldsタグを使います。

MTEntryXMLFieldCountタグ

特定の名前の要素がいくつあるかを出力する変数タグです。
要素を配列化した際に利用します。
なお、要素の配列化については明日解説します。

MTEntryBodyCutCommentタグ

このプラグインではエントリーにXMLを入れますが、そのままだとMTEntryBodyタグの出力にXMLがそのまま含まれてしまいます。
以下のように、MTEntryBodyタグをMTEntryBodyCutCommentタグのコンテナで囲むと、MTEntryBodyタグの出力から、XMLとその前後のコメントタグが取り除かれます。

<MTEntryBodyCutComment><$MTEntryBody$></MTEntryBodyCutComment>

トラックバック(0件)

このブログ記事を参照しているブログ一覧: エントリーにXMLでデータを埋め込むプラグイン(その2)

このブログ記事に対するトラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/754.

コメントする

管理者のみにコメントを送信したい場合は、「コメントを秘密にする」のチェックをオンにしてコメントを送信するか、メールフォームからメールをお送りください。

ブログ全体の感想など、この記事に直接に関係しないコメントは、ゲストブックにお気軽に投稿してください。


アーカイブ

ブログパーツ

ステータス