<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:jsp="http://java.sun.com/JSP/Page"
	xmlns:java="http://xml.apache.org/xalan/java"
	xmlns:og="hybs-taglib.tld"
	exclude-result-prefixes="xsl jsp java og" >

  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
			  omit-xml-declaration="yes"   />

  <xsl:param name="SYSTEM_ID" select="" />
  <xsl:param name="FILEPATH"  select="" />
  <xsl:param name="ADDRESS"   select="" />
  <xsl:param name="FILENAME"  select="" />
  <xsl:param name="MODIFIED"  select="" />
<!--
  <xsl:param name="DYSET"	  select='java:org.opengion.fukurou.tools.util.DateSet.getDate( "yyyyMMddHHmmss" )' />
-->

  <xsl:param name="row_header" >
	 <SYSTEM_ID ><xsl:value-of select="$SYSTEM_ID" /></SYSTEM_ID>
	 <ADDRESS	><xsl:value-of select="$ADDRESS"   /></ADDRESS>
	 <FILENAME	><xsl:value-of select="$FILENAME"  /></FILENAME>
	 <FILEPATH	><xsl:value-of select="$FILEPATH"  /></FILEPATH>
	 <MODIFIED	><xsl:value-of select="$MODIFIED"  /></MODIFIED>
  </xsl:param>

  <xsl:template match="jsp:root" >
<!--
	 <xsl:if test="not(@version='2.0')" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR01</MSGCD>
		 <MSGTXT >jsp:root タグのversion属性は、2.0 を指定してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
-->

	<xsl:apply-templates select="//og:link" />
	<xsl:apply-templates select="//og:sql | //og:update" />
	<xsl:apply-templates select="//og:option" />
	<xsl:apply-templates select="//og:query" />
	<xsl:apply-templates select="//og:userInfo" />
	<xsl:apply-templates select="//og:view" />
	<xsl:apply-templates select="//og:submit" />
	<xsl:apply-templates select="//og:equals" />
	<xsl:apply-templates select="//og:value" />
	<xsl:apply-templates select="//og:entry" />
	<xsl:apply-templates select="//og:viewLink" />
	<xsl:apply-templates select="//og:viewMarker" />
	<xsl:apply-templates select="//og:writeCheck" />
	<xsl:apply-templates select="//og:input" />
	<xsl:apply-templates select="//*[starts-with( @onClick ,'window_open' )]" />
	<xsl:apply-templates select="//*[@tableId]" />
	<xsl:apply-templates select="//og:columnCheck" />
	<xsl:apply-templates select="//og:column | //og:input | //og:select | //og:hidden | //og:submit | //og:textarea | //input | //select | //textarea"
						 mode="form-in" />
	<xsl:apply-templates select="//og:hidden" />
	<xsl:apply-templates select="//form" />
	<xsl:apply-templates select="//frameset" />
	<xsl:apply-templates select="//og:frame" />
	<xsl:apply-templates select="//*[@width] | //*[@height]" />
	<xsl:apply-templates select="//og:message" />
	<xsl:apply-templates select="//og:appear" />
	<xsl:apply-templates select="//og:forward" />
	<xsl:apply-templates select="//og:comment" />
	<xsl:apply-templates select="//og:button" />

<!--
	<xsl:if test="not( starts-with( $FILENAME ,'forward' ) or starts-with( $FILENAME ,'index' ) ) and not(//og:comment)" >
-->
	<xsl:if test="(starts-with( $FILENAME ,'query' ) or starts-with( $FILENAME ,'result' ) or starts-with( $FILENAME ,'update' ) or starts-with( $FILENAME ,'entry' ) ) and not(//og:comment)" >
	  <ROW>
		<xsl:copy-of select="$row_header" />
		<TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		<MSGCD	>ERROR23</MSGCD>
		<MSGTXT >og:comment タグを記述して下さい。</MSGTXT>
		<TEXT	><xsl:copy-of select="." /></TEXT>
	  </ROW>
	</xsl:if>

	<xsl:if test="starts-with( $FILENAME ,'result' ) and not(//og:errorMessage) and (//og:writeCheck)" >
	  <ROW>
		<xsl:copy-of select="$row_header" />
		<TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		<MSGCD  >WARNING16</MSGCD>
		<MSGTXT >og:errorMessage タグを記述して下さい。</MSGTXT>
		<TEXT	><xsl:copy-of select="." /></TEXT>
	  </ROW>
	</xsl:if>

  </xsl:template>

  <xsl:template match="og:link" >
	 <xsl:if test="@value and not(preceding::og:link)" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR02</MSGCD>
		 <MSGTXT >og:link タグのvalue属性は廃止属性です。vals 属性を使用してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="not(@keys) and ( @value | @vals )" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR03</MSGCD>
		 <MSGTXT >og:link タグのvals 属性とペアの keys属性が存在しません。keys,vals 属性はセットで使用してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="not(@gamenId) and starts-with( @href ,'../' ) and not(@useGamenId='false')" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR04</MSGCD>
		 <MSGTXT >og:link タグで別画面へ飛ばす場合は、gamenId 属性を使用してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="not(@keys) and contains( @href ,'?' )" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR05</MSGCD>
		 <MSGTXT >og:link タグの href でパラメータを渡す場合、keys,vals 属性を使用してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:sql | og:update" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR06</MSGCD>
		 <MSGTXT ><xsl:value-of select="name()" /> タグは廃止クラスです。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
  </xsl:template>

  <xsl:template match="og:option" >
	 <xsl:if test="@code" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR07</MSGCD>
		 <MSGTXT >og:option タグのcode属性は廃止属性です。カラムリソースで、コードカラム属性を定義して使用してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="ancestor::og:queryOption" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING18</MSGCD>
		 <MSGTXT >og:option タグは、og:queryOption タグのBODY部に入れずに、select タグの直下に配置してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:query" >
	 <xsl:if test="string-length( . ) &gt; 1000" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING01</MSGCD>
		 <MSGTXT >og:query タグの設定文字数が多すぎます(制限1000文字)。QUERY文を見直してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:userInfo" >
	 <xsl:if test="@query" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR08</MSGCD>
		 <MSGTXT >og:userInfo タグのquery属性は廃止属性です。属性そのものを削除可能です。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="@nullSet" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR09</MSGCD>
		 <MSGTXT >og:userInfo タグのnullSet属性は廃止属性です。og:value タグの使用を検討願います。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="last() &gt; 10 and position() = last()" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING02</MSGCD>
		 <MSGTXT >og:userInfo タグを使いすぎです(制限10個)。ソースを見直してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:view" >
	 <xsl:if test="@changeLabelKeys | @changeLabelVals" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR10</MSGCD>
		 <MSGTXT >og:view タグのchangeLabel***属性は廃止属性です。columnEditor タグで、ラベルを入れ替える方法で代替してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="descendant::og:message" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING03</MSGCD>
		 <MSGTXT >og:message タグは、{@LBL.XXXX} に置き換え可能です。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:submit" >
	 <xsl:if test="not(//og:writeCheck)" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR11</MSGCD>
		 <MSGTXT >og:submit タグは、og:writeCheck タグの子要素として使用してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="(starts-with( $FILENAME ,'query' ) and not(//og:queryButton))" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING19</MSGCD>
		 <MSGTXT >og:submit タグが、og:queryButton タグに置き換え可能か検討してしてください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:button" >
	 <xsl:if test="(starts-with( $FILENAME ,'query' ) and @type='submit' and not(//og:queryButton))" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING20</MSGCD>
		 <MSGTXT >og:button タグが、og:queryButton タグに置き換え可能か検討してしてください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:equals" >
	 <xsl:if test="last() &gt; 10 and position() = last()" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING04</MSGCD>
		 <MSGTXT >og:equals タグを使いすぎです(制限10個)。ソースを見直してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:value" >
	 <xsl:if test="last() &gt; 10 and position() = last()" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING05</MSGCD>
		 <MSGTXT >og:value タグを使いすぎです(制限10個)。ソースを見直してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
<!--
	 <xsl:if test="count( //og:value[@command='SQL' and contains( * ,'DUAL')] ) &gt; 1" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING06</MSGCD>
		 <MSGTXT >og:value タグの SQL 構文で、DUAL を複数使用しています。まとめる事が可能か検討してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
-->
  </xsl:template>

  <xsl:template match="og:entry" >
<!--
	 <xsl:if test="last() &gt; 1 and not(ancestor::og:equals)" >
-->
	 <xsl:if test="(position() = last()) and count( //og:entry[not(ancestor::og:equals)] ) &gt; 1" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR12</MSGCD>
		 <MSGTXT >og:entry タグが複数存在しています。これはエラーの可能性があります。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:viewLink" >
	 <xsl:if test="last() &gt; 1 and not(ancestor::og:equals)" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR13</MSGCD>
		 <MSGTXT >og:viewLink タグが複数存在しています。これはエラーの可能性があります。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:viewMarker" >
	 <xsl:if test="last() &gt; 1 and not(ancestor::og:equals)" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR14</MSGCD>
		 <MSGTXT >og:viewMarker タグが複数存在しています。これはエラーの可能性があります。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:writeCheck" >
	 <xsl:if test="last() &gt; 1 and not(ancestor::og:equals)" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING07</MSGCD>
		 <MSGTXT >og:writeCheck タグが複数存在しています。これはエラーの可能性があります。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="not(descendant::og:submit)" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR11B</MSGCD>
		 <MSGTXT >og:writeCheck タグの子要素には、og:submit タグを使用してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:input" >
	 <xsl:if test="(//og:writeCheck) and (@type='submit')" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING08</MSGCD>
		 <MSGTXT >og:input タグは、og:writeCheck タグの子要素として使用しないでください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="*[starts-with( @onClick ,'window_open' )]" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING09</MSGCD>
		 <MSGTXT >window_open の代わりに、og:popup タグの使用を検討してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
  </xsl:template>

  <xsl:template match="og:columnCheck" >
	 <xsl:if test="preceding-sibling::og:entry" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR15A</MSGCD>
		 <MSGTXT >og:columnCheck タグでチェックする前に、og:entry タグがあります。エラーの可能性があります。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="not(following-sibling::og:entry) and starts-with( $FILENAME ,'result' ) and (//og:writeCheck)" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR15B</MSGCD>
		 <MSGTXT >og:columnCheck タグのチェック後に、og:entry タグありません。エラーの可能性があります。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="(@nullCheck or @mustAnyCheck)" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING17</MSGCD>
		 <MSGTXT >og:columnCheck タグのnullCheck属性とmustAnyCheck属性は自動チェックされます。設定不要です。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="*[@tableId]" >
	 <xsl:if test="last() &gt; 3 and position() = last()" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING10</MSGCD>
		 <MSGTXT >tableId 属性を使いすぎです(制限3個)。ソースを見直してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:column | og:input | og:select | og:hidden | og:submit | og:textarea | input | select | textarea"
				mode="form-in" >
	 <xsl:if test="not(@writable='false' or @writable='FALSE') and not(ancestor::form) and not(ancestor::og:viewMarker) and (following::form | preceding::form)" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR16</MSGCD>
		 <MSGTXT ><xsl:value-of select="name()" /> タグが、form タグの中にありません。これはエラーの可能性があります。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:hidden" >
	 <xsl:if test="@names" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR17</MSGCD>
		 <MSGTXT >og:hidden タグのnames属性は廃止属性です。keys 属性を使用してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="(@name and @keys) or (@value and @vals) or (@name and @vals) or (@keys and @value)" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR18</MSGCD>
		 <MSGTXT >og:hidden タグは、name,value属性のペアか、keys,valsのペアで指定してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="form" >
	 <xsl:if test="descendant::og:view and not(@method='POST')" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING11</MSGCD>
		 <MSGTXT >テーブル登録時の form タグには、method="POST" を使用することを検討してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="descendant::og:view and not(starts-with( @onSubmit ,'return oneClick' ) )" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING12</MSGCD>
		 <MSGTXT >テーブル登録時の form タグには、２度押し防止JavaScript( return oneClick(); )の使用を検討してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
	 <xsl:if test="starts-with( @action ,'../' )" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR19</MSGCD>
		 <MSGTXT >form タグの action 属性に、相対パスを使用するのは避けてください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="frameset" >
	 <xsl:if test="not(@name='SUB_FRAME') and not(@name='TOP_FRAME')" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING13</MSGCD>
		 <MSGTXT >フレーム分割(frameset)時の自動調整機能を有効にするには、name="SUB_FRAME" が必要です。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:frame" >
	 <xsl:if test="starts-with( @src ,'../' )" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR20</MSGCD>
		 <MSGTXT >og:frame タグの src 属性に、相対パスを指定するのは、良くない慣習です。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="*[@width] | *[@height]" >
	 <xsl:if test="not( string(number( @width | @height ) ) = 'NaN' ) and not(name() = 'og:chartCreate')">
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR21</MSGCD>
		 <MSGTXT >width や height 属性 を指定する場合は、単位(pt,px,%)が必要です。(IE7 必須)</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:message" >
	 <xsl:if test="last() &gt; 10 and position() = last()" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING14</MSGCD>
		 <MSGTXT >og:message タグを使いすぎです(制限10個)。ソースを見直してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:appear" >
	 <xsl:if test="not(@defaultVal)" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >WARNING15</MSGCD>
		 <MSGTXT >og:appear タグで、defaultVal 属性を指定しないと、SQL構文エラーになる可能性があります。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:forward" >
	 <xsl:if test="not(@gamenId) and starts-with( @page ,'../' )" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR22</MSGCD>
		 <MSGTXT >og:forward タグで別画面へ飛ばす場合は、gamenId 属性を使用してください。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

  <xsl:template match="og:comment" >
	 <xsl:if test="not(@system) or not(@pgid)" >
	   <ROW>
		 <xsl:copy-of select="$row_header" />
		 <TAGNAME><xsl:value-of select="name()" /></TAGNAME>
		 <MSGCD  >ERROR24</MSGCD>
		 <MSGTXT >og:comment タグにシステム名、(system,pgid)を指定して下さい。</MSGTXT>
		 <TEXT	 ><xsl:copy-of select="." /></TEXT>
	   </ROW>
	 </xsl:if>
  </xsl:template>

</xsl:stylesheet>
