XML テンプレートの構造

XMLを出力タイプにした場合、XMLテンプレートにデータをマージして出力します。XMLテンプレートは、<Print_data>タグと</Print_data>タグの間にテキストを記述しないXMLファイルです。Magic xpaは、このタグの間に<Record> タグを使用してレコードデータをマージします。

テンプレートの使用は必須ではありません。テンプレートに、以下のようにXSLスタイルシートを指定することにより表示内容をカスタマイズすることができます。

<?xml version="1.0" encoding="utf-8" ?>

<?xml:stylesheet type="text/xsl" href="Sample.xsl" ?>

<Print_data>

</Print_data>

この場合、データ出力ウィザードは、以下のように <Print_data> タグ の間に<Record> タグとレコードのデータを挿入します。

<?xml version="1.0" encoding="utf-8" ?>

<?xml:stylesheet type="text/xsl" href="Sample.xsl" ?>

<Print_data>

   <Record><Code>S001</Code>

      <Name>Twentieth Century Fox Home Video</Name>

      <Number_of_Titles>143</Number_of_Titles>

   </Record>

   <Record>

      <Code>S002</Code>

      <Name>Buena Vista Home Video</Name>

      <Number_of_Titles>232</Number_of_Titles>

   </Record>

   <Record><Code>S003</Code>

      <Name>Universal Studios</Name>

      <Number_of_Titles>132</Number_of_Titles>

   </Record>

   <Record>

      <Code>S004</Code>

      <Name>Paramount</Name>

      <Number_of_Titles>123</Number_of_Titles>

   </Record>

   <Record>

      <Code>S005</Code>

      <Name>Warner Home Video</Name>

      <Number_of_Titles>422</Number_of_Titles>

   </Record>

   <Record>

      <Code>S006</Code>

      <Name>New Line Home Entertainment</Name>

      <Number_of_Titles>54</Number_of_Titles>

   </Record>

</Print_data>

 

スタイルシート「Sample.xsl」を以下のようjに作成した場合

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
 <head>
   <title>スタジオ</title>
 </head>
 

      <body>
 <h1>スタジオ</h1>
   <table>
     <tr>
       <th>コード</th>
       <th>名前</th>
       <th>タイトル数</th>
     </tr>
     <xsl:apply-templates select="Print_data/Record"/>
   </table>
 </body>
</html>    

  </xsl:template>

  <xsl:template match="Record">
<tr>
 <td><xsl:value-of select="Code"/></td>
 <td><xsl:value-of select="Name"/></td>
 <td><xsl:value-of select="Number_of_Titles"/></td>
</tr>
</xsl:template>

</xsl:stylesheet>

 

ブラウザで以下のように表示させることができます。