XMLテンプレートを定義することで、オリジナルコンテンツ内のHTMLのテーブルやリストをXML形式に変換して切り出すことができます。
XMLテンプレートファイル(templates.xml)は、以下のフォルダに格納されます。
[Portalworksインストールフォルダ]/xsl/conf/templates.xml
XMLテンプレートに記述する内容を、以下に示します。
<xslauthor-templates> <テンプレート名1> 変換するXMLの雛形を記述 </テンプレート名1> <テンプレート名2> 変換するXMLの雛形を記述 <テンプレート名2> </xslauthor-templates>
XMLテンプレートファイルには、<xslauthor-templates>をルートノード、その子ノードをテンプレート名とし、その配下に元のHTML中のノード構成と同じ部分を置き換えるXMLを記述します。
テンプレート名は、このファイル内に複数記述することができます。
以下にHTMLテーブルをXMLに変換する例を示します。
ID | 名前 | 電話番号 | 年齢 |
---|---|---|---|
1 | 鈴木 | 03-1111-2222 | 30 |
2 | 田中 | 045-111-2222 | 35 |
[HTMLソース]
<html> <body> <table> <tr> <th>ID</th> <th>名前</th> <th>電話番号</th> <th>年齢</th> </tr> <tr> <td>1</td> <td>鈴木</td> <td>03-1111-2222</td> <td>30</td> </tr> <tr> <td>2</td> <td>田中</td> <td>045-111-2222</td> <td>35</td> </tr> </table> </body> </html>
[定義すべきXMLテンプレートの例]
<xslauthor-templates> <sample> <user-list> <user> <ID/> <名前/> <電話番号/> <年齢/> </user> </user-list> </sample> </xslauthor-templates>
[実行結果]
<sample> <user-list> <user> <ID>1</ID> <名前>鈴木</名前> <電話番号>03-1111-2222</電話番号> <年齢>30</年齢> </user> <user> <ID>2</ID> <名前>田中</名前> <電話番号>045-111-2222</電話番号> <年齢>35</年齢> </user> </user-list > </sample>
この定義では、HTMLにおけるテーブルの4つの<td>タグが、上から順にXMLの<ID>タグ、<名前>タグ、<電話番号>タグ、<年齢>タグにマッピングされ、各<tr>タグがXMLの<user>タグ、<table>タグがXMLの<user-list>タグにマッピングされます。また出力されるXMLのルートノードは、XMLテンプレートの名前になります。
|