Sablotron errorについて

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
ちょむん
アクティブユーザー
記事: 10
登録日時: 2007年3月29日(木) 09:33

Sablotron errorについて

投稿記事 by ちょむん » 2007年6月23日(土) 19:58

こんばんは!ちょむんと申します。
このたびは、皆様のご協力を頂きたく、トピックを作成させていただきました。

今、つまづいているのが、タイトルにもなっている「Sablotron error」です。
Warning: Sablotron error on line 6: XML parser error 7: mismatched tag in /virtual/kagulart/public_html/cmsdesigner/include/xmlutil.php.inc on line 201
とタグの記入ミスのエラーが表示されてしまいます。
他のトピックを参考にデザインエラー潰しを行ったのですが、原因がわかりません。

エラーの出ているデザイン定義ファイルは下記になります。

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="EUC-JP" omit-xml-declaration="yes" />
<xsl:template match="/entry">
<div id="top_topic">
<a href="topic/{url}"><h2><img src="images/top_title_topic.gif" alt="***"></h2></a>
<table cellspacing="0">
<tr>
<td class="top_topictdl">
<a href="topic/{url}"><img src="{photo}"/></a>
</td>
<td>
<h3><a href="topic/{url}">第<xsl:value-of select="number" />回<br>
<xsl:value-of select="job" /> <xsl:value-of select="artist" /></a></h3>
<xsl:value-of select="comment" disable-output-escaping="yes" />
<br>
<span class="readmore"><a href="topic/{url}">→特集を読む</a></span><br>
<span class="readmore"><a href="topic/topics.php">→過去の特集記事へ</a></span>
</td>
</tr>
</table>
</div>
</xsl:template>
</xsl:stylesheet>

どなたか、アドバイスをお願いします<(_ _)>

tsu
パワーユーザー
記事: 208
登録日時: 2006年1月16日(月) 12:00
お住まい: さいたま

投稿記事 by tsu » 2007年6月25日(月) 09:12

そのエラーはタグの閉じ忘れなどで起きるエラーです。
今回の場合はimgタグでしょうか。

通常HTMLでは

コード: 全て選択

<img src="xxx" alt="xxx">
と書いても表示することは可能ですが、XSLTでは

コード: 全て選択

<img src="xxx" alt="xxx" />
と閉じないとエラーになります。

同様に<br>も<br />と書いた方がいいと思います。

見た感じはコレかなと思います。

ちょむん
アクティブユーザー
記事: 10
登録日時: 2007年3月29日(木) 09:33

ありがとうございます。

投稿記事 by ちょむん » 2007年6月26日(火) 00:52

>tsuさま

アドバイスありがとうございます!
早速、imgタグとbrタグを修正し、アップしてみました。
そうすると、今度は
Warning: Sablotron error on line 19: XML parser error 7: mismatched tag in /virtual/kagulart/public_html/cmsdesigner/include/xmlutil.php.inc on line 201

と19行目付近が怪しいと警告が出てしまいました。
同じようなことが原因かと、19行目付近を調べてみましたが、19行目は</td>だけなんです。
imgやbrのように、特有の閉じ方が</td>にもあるのでしょうか?

たびたび質問してしまい、申し訳ありませんが、お力を貸していただけますでしょうか?

tsu
パワーユーザー
記事: 208
登録日時: 2006年1月16日(月) 12:00
お住まい: さいたま

投稿記事 by tsu » 2007年6月26日(火) 10:08

ちょむんさん

ぱっと見た感じ問題ないと思うんですけどねぇ、、、。
閉じタグについてはIMGタグ以外はあまり影響はないと思いますし。

コード: 全て選択

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="EUC-JP" omit-xml-declaration="yes" />
<xsl:template match="/entry">

<div id="top_topic">

	<a href="topic/{url}">
		<h2>
			<img src="images/top_title_topic.gif" alt="***" />
		</h2>
	</a>

<table cellspacing="0">
	<tr>

		<td class="top_topictdl">
			<a href="topic/{url}">
				<img src="{photo}" />
			</a>
		</td>

		<td>
			<h3>
				<a href="topic/{url}">
					第<xsl:value-of select="number" />回
					<br  />
					<xsl:value-of select="job" />
					<xsl:value-of select="artist" />
				</a>
			</h3>

			<xsl:value-of select="comment" disable-output-escaping="yes" />
			<br  />
			
			<span class="readmore">
				<a href="topic/{url}">→特集を読む</a>
			</span>
			<br  />
			
			<span class="readmore">
				<a href="topic/topics.php">→過去の特集記事へ</a>
			</span>
		</td>
	</tr>
</table>

</div>

</xsl:template>
</xsl:stylesheet>
一度コレ↓でちゃんと表示されるか試してみて下さい。

コード: 全て選択

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="EUC-JP" omit-xml-declaration="yes" />
<xsl:template match="/entry">

<div id="top_topic">

	<h2>
		<a href="topic/{url}">
			<img src="images/top_title_topic.gif" alt="***" />
		</a>
	</h2>

<table cellspacing="0">
	<tr>

		<td class="top_topictdl">
			<a href="topic/{url}">
				<img src="{photo}" />
			</a>
		</td>

		<td>
			<p>number:<xsl:value-of select="number" /></p>
			<p>jod:<xsl:value-of select="job" /></p>
			<p>artist:<xsl:value-of select="artist" /></p>
			<p>comment:<xsl:value-of select="comment" disable-output-escaping="yes" /></p>
			<p>url:<xsl:value-of select="url" /></p>
		</td>
	</tr>
</table>

</div>

</xsl:template>
</xsl:stylesheet>

ちょむん
アクティブユーザー
記事: 10
登録日時: 2007年3月29日(木) 09:33

ありがとうございます!

投稿記事 by ちょむん » 2007年6月27日(水) 00:09

>tsuさま

ご丁寧にありがとうございます!
無事、正常に動くようになりました<(_ _)>
本当にありがとうございました。

返信