表A:
1-0-1,this is a test 3-1-1,this is a test 4-3-1,this is a test 5-3-1,this is a test 2-0-2,this is a test
上記はBBSトピックリストの例です。一般的に、Oracle を使用していない場合 (Oracle には家系図を自動的に生成できるクエリ ステートメントがあります。Select ... startwith ... connect by ... ステートメントを確認してください)、次に、上の例は面倒な作業です (多くのプログラマがこれを書いていると思います)。
代わりにxmlを使うと結果はどうなるでしょうか?
ここで、「Select * from bbs」を使用してデータベースから投稿をクエリし、XML 形式で返します (ADO を使用している場合は、その RecordSet.Save... adPersistXML を使用して直接生成できます。もちろん、 ADO 生成は好きではありません。この例のように、形式はプログラムによって生成できます):
表 B:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="b.xsl"?> <bbs> <post sid="4" pid="3" aid="1"> <title>4-3-1,this is a test</title> <content>slddfjslajfsdljf</content> </post> <post sid="5" pid="3" aid="1"> <title>5-3-1,this is a test</title> <content>slddfjslajfsdljf</content> </post> <post sid="3" pid="1" aid="1"> <title>3-1-1,this is a test</title> <content>slddfjslajfsdljf</content> </post> <post sid="1" pid="0" aid="1"> <title>1-0-1,this is a test</title> <content>slddfjslajfsdljf</content> </post> <post sid="2" pid="0" aid="2"> <title>2-0-2,this is a test</title> <content>slddfjslajfsdljf</content> </post> </bbs>
説明: ここで、sid は投稿の ID 番号、pid は投稿の親 ID 番号です。役職。 title はタイトル、content は投稿の内容です。
上記の表の 2 行目は、XML コンテンツを変換するために b.XSL を使用することを指定しています。これは IE5 に提供される情報です。 XMLDOM を使用する場合、このメッセージは必要ありません。
上記のテーブルの XML コンテンツを XSL ファイルにテーブル A の形式で表示する方法を見てみましょう:
テーブル C: b. テーブル C のコンテンツは b.xsl として保存され、IE5 で開かれます。 , 表Aと同じ内容が表示されます。
つまり、XSLファイルが最終的な表示結果を決定していることがわかります。複数のサブフォーラムがある場合は、フォーラムプログラムを変更する必要はなく、サブフォーラムごとに異なるXSLファイルを用意すれば、スタイル、画面、形式に関係なく、サブフォーラムごとに独自のパフォーマンスを持たせることができます。テーマアレンジメント。無料のフォーラム サービスが提供されている場合は、フォーラムの参加者が独自の XSL ファイルをカスタマイズできるようにするのが良い選択でしょう。
今度は IIS4/5+IE5+asp を使用してこの例を実装します (サーバーには IE5 がインストールされている必要があります):
<?xml version=''1.0''?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <html> <body> <xsl:apply-templates select="*"/> </body> </html> </xsl:template> <xsl:template match="post"> <li> <div> <xsl:attribute name="title"><xsl:value-of select="content"/></xsl:attribute> <xsl:value-of select="title"/> <xsl:if test="/bbs/post[@pid=context()/@sid]"> <xsl:element name="ul"> <xsl:apply-templates select="/bbs/post[@pid=context()/@sid]"/> </xsl:element> </xsl:if> </div> </li> </xsl:template> <xsl:template match="bbs"> <ul> <xsl:apply-templates select="post[@pid=0]"/> </ul> </xsl:template> </xsl:stylesheet>
上記は、XML を使用して BBS (トピック リスト) を実装する方法の詳細な紹介です。さらに関連するコンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。