しばらく前に、私は誤ってXSL形式で出力され、Firefoxで閲覧できるブログのRSSを見ました。以前に書いたXMLゲストブックは、Firefoxと互換性がないため、解決されていないままになっていると思いました。今、私は彼のゲストブックがFirefoxで閲覧できることを見ました。コードを見て、文で文を比較しました。最後に、ついに理由を見つけて、ゲストブックを完成させました。シンプルなXMLゲストブックであるため、SXGB(Simple XML GuestBook)と名付けられています。
メッセージブックのデモンストレーションを残してください、管理パスワードはテストです:http://home.goofar.com/hotheart/gbook/gbook.asp
まず、GuestBookのXMLドキュメントの形式を定義します。ゲストブックとして、複雑なコンテンツは必要ありません。そのため、メッセージコンテンツを3つの部分に分割しました。コメンテーターの名前、コメンテーターのホームページ、メッセージの内容です。さらに、ゲストブックでは、ユーザー名やユーザーのホームページなど、ユーザーに関する情報も必要です。さらに、より多くのメッセージを残す場合、情報をページングする必要があります。大まかな構造が完了したら、XMLドキュメントテンプレートの書き込みを開始できます。
XMLドキュメントのルート要素はGBookとして定義されます
XMLドキュメントテンプレートgbook.xml
コード:
XMLバージョン= "1.0"エンコード= "utf-8"?>
<!-DTDファイル - >
<!doctype gbookシステム "sxgb.dtd">
<! - XSLファイル - >
<?xml-stylesheet type = "text/xsl" href = "gbook.xsl"?>
<GBook>
<! - ゲストブックの関連情報 - >
<情報>
<! - username->
<ユーザー> hotheart </user>
<! - ユーザーホームページ - >
<HOME> http://www.xujiwei.cn </home>
<! - ページ情報は現在のページ、ページの総数、前のページ、次のページです - >
<Pagenow> 1 </Pagenow>
<pagetotal> 1 </pagetotal>
<PagePrev> 1 </PagePrev>
<PageNext> 2 </pagenext>
<! - ログインしているかどうか、ログインボックスを表示するかどうかを処理するために使用されます - >
<Logined> no </logined>
</info>
<! - メッセージリスト - >
<メッセージ>
<! - メッセージ - >
<メッセージ>
<! - メッセージID->
<id> 1 </id>
<! - コメンターの名前 - >
<username> admin </username>
<! - メッセージ時間 - >
<time> 2005-08-09 12:00 </time>
<! - Messagerのホームページ - >
<HomePage> http://www.xujiwei.cn/ </homepage>
<! - メッセージコンテンツ - >
<content> <![cdata [message content]]> </content>
</メッセージ>
</メッセージ>
</gbook>
XSLを参照するときは使用しないように注意してください
<?xml:styleSheet type = "text/xsl" href = "gbook.xsl"?>
コロン(:)の代わりにXMLとStyleSheetの間でバー( - )を使用する必要があります。コロンはFirefoxではサポートされていません。
優れたXMLドキュメントは、構造だけでなく、有効である必要があります。したがって、ドキュメントタイプ定義(DTD)SXGB.DTDは、XMLドキュメントの先頭で定義されます。このドキュメントタイプの定義を完了しましょう。 GuestBook XMLドキュメントの構造が設計されているため、DTDを作成するのは非常に便利です。
ドキュメントタイプ定義sxgb.dtd
コード:
<?xmlバージョン= "1.0" encoding = "utf-8"?>
<!要素gbook(情報、メッセージ)>
<!要素情報(ユーザー、ホーム、msgtotal、pagenow、pagetotal、pageprev、pagenext、logined)>