スタイルシートファイル

 XML棋譜データは、2行目で指定されたスタイルシートファイルに記述されているレイアウトに従って石葉碁盤を表示します。
 スタイルシートの一例として手順データベース用スタイルシートのソースを下表に示します。

<?xml version="1.0" encoding="shift_jis" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="shift_jis" />

 スタイルシートファイルの開始宣言
 xmln:xsl="の後に記載されているURLは名前空間と言われるもので実際にファイルを読みに行くわけではなさそうです。
 オフラインでもスタイルシートが記載されているXML棋譜を開くことができます。
<html>
<head>
<title> 石葉2 - LeafShow </title>
</head>

<body bgcolor="#ddfdbd">
<center>

<script type = "text/JavaScript">
<xsl:comment>
<![CDATA[

function getAdv()
{
if(location.search)
{
tmp = location.search.indexOf("@");
if(tmp > -1) { return location.search.substring(tmp); }
}
return "";
}

document.write('<applet codebase=../../MyLeaf code=KifuShow.LeafShow.class name=LeafShow width=413 height=640 archive=LeafShow2.jar >');
document.write('<param name="advancemoves" value="' + getAdv() + '" />');

]]>

</xsl:comment>
</script>

<base target="new" />
 XML棋譜ファイル名の後ろに疑問符(?)に続けて着手IDを記入すると、その着手IDが打たれた局面を表示するスクリプトです。
例:
./qin/MyLeaf
/kifu/ryougakari001.xml?@102
  1.  document.writeの()の中は石葉アプレットの定義文です。
     document.writeの()の中では改行してはいけません。
  2.  codebaseでフォルダを相対指定する場合は、棋譜ファイル保存フォルダからの相対指定です。
     このスタイルシート保存フォルダからの相対指定ではありません。
<br />
<param name="layout" value="./qa/dblayout.xml" />
<param name="leafhint" value="true,tanabata" />
<param name="gobanxy" value="1-1" />
<param name="advancemoves" />
<param name="out___" value="true" />
<param name="number" value="true" />
<param name="salala" value="true,flow" />
<param name="speed" value="1" />
<param name="xslpath" value="../dblayout.xsl" />
 石葉のアプレットのパラメータを記載します。
  1.  パラメータを閉じる記号は > ではなく /> です。
  2.  XML棋譜は、ここに記述したHTMLに変わりますから、URLを相対指定した場合はフォルダの位置に注意する必要があります。
  3.  param name="xslpath"のvalu=で指定しているパスはXML棋譜ファイルの2行目に記すパスですから、XML棋譜ファイル保存フォルダからの相対パスを記入します。
     codebaseで指定したフォルダからの相対パスではありません。
<param name="moves" >
<xsl:attribute name="value">
<xsl:apply-templates select="igo/kifu" />
</xsl:attribute>
</param>
<script type = "text/JavaScript">
<xsl:comment>
<![CDATA[ document.write("</applet>"); ]]>
</xsl:comment>
</script>


</center>
</body>
</html>

<!-- HTML_END -->
 石葉アプレットの棋譜読み込み部分です。
 変更してはいけません。
</xsl:template>


<xsl:template match="igo/mese">
<xsl:value-of select="name()" />
<xsl:value-of select="." />
</xsl:template>

<xsl:template match="*">

<xsl:text><</xsl:text>
<xsl:value-of select="name()" />

<xsl:for-each select="@*">
<xsl:text> </xsl:text>
<xsl:value-of select="name()" />
<xsl:text>="</xsl:text>
<xsl:value-of select="." />
<xsl:text>"</xsl:text>
</xsl:for-each>

<xsl:if test="count(child::*) = 0">
<xsl:text> /></xsl:text>
</xsl:if>

<xsl:if test="count(child::*) > 0">
<xsl:text>></xsl:text>
<xsl:apply-templates />
<xsl:text></</xsl:text>
<xsl:value-of select="name()" />
<xsl:text>></xsl:text>
</xsl:if>

</xsl:template>

</xsl:stylesheet>
 変更してはいけません。
inserted by FC2 system