echo "<li>href = . $item["link"] . ">" .
$item["title"] . "",
}
}
? >
ul>
上記のスクリプトをリロードするたびに、対応する RDFファイルは特定の場所から取得され、分析されて、必要な形式で表示されます。
サイトのトラフィックが多い場合、特に RDFを使用する場合、私たちの努力が無意味であると感じるかもしれません。データがそれほど速く更新されない場合、状況はさらに悪化します。 この場合、RDF データをローカルでキャッシュすることを検討する方が賢明かもしれません。上記のサンプル プログラムを拡張するか、キャッシュ機能を追加します。または、数時間ごとに長い時間をかけて、最新の RDF ファイルのローカル コピーをサーバー上の Web にダウンロードします。 "live"( 「live」) の代わりにこのローカル コピーを使用します。 1 つ)。
8)無料ランチ (無料ランチ)
上で書いたクラスも非常に基本的なもので、トラフィック量が少ないサイトにも使用される可能性があります。より専門的なものをお探しの場合は、オンラインにアクセスしてください。そこには、さまざまな追加機能 (キャッシュを含む) を備えたオープンソースの RDF パーサーが数多くあります。 それでは、これらのアナライザーの使用方法の例をいくつか見てみましょう。
最初に説明するものは、Stefan Saasen によって fase4 用に開発されました。 RDF アナライザー クラスは、http://www.fase4.com/rdf/ から無料でダウンロードできます。これは、プロキシ経由のキャッシュと認証をサポートする、非常にフル機能の RDF パーサーです。使用方法の例を次に示します。
// include class
include(" rdf .class.php"),
// オブジェクトをインスタンス化
$rdf = new fase4_rdf,
// 表示する項目の数を設定
$rdf->set_max_item(5),
// RDF エンジン オプションを設定します
$rdf-> ; use_dynamic_display(true),
$rdf->set_Options( array("image"=>"hidden", " textinput "=>"hidden") ),
// データを解析して表示します
$rdf->parse_RDF("http : //www.freshmeat.net/backend/fm-releases.rdf"),
$rdf->finish(),
?>
< / html>
もう 1 つ紹介するのは、Jason WilliamsPHP RDF によって開発されたものです。アナライザーは http://www.nerdzine.net/php_rdf/ からダウンロードできます。これはレンダリングを行わない PHP クラスであり、いくつかの基本的なメソッドを実装します。ただし、満足のいくまで処理されたデータを配置するために使用できるプロパティが多数含まれています。
<basefont face="Verdana">
vlink="赤" alink="赤">
include(" rdf_class.php"),
// これはローカル ファイルである必要があります
$f = new rdfFile("./fm-releases.rdf ")、
$f->parse(True)、
$f->ReturnTable(True、"黒"、"白"、"100%") 、
?>
これらのクラスに関するドキュメントは、それぞれの Web サイトで入手できます。
9)ちょっとしたスタイルを追加する (ちょっとしたスタイルを追加する)
PHP 配列をループして HTML でマークアップするのが嫌いな場合は、 XSLT スタイルシートを使用して、このデータを書式設定して表示することも選択できます。 PHP4.1 は、新しい XSLT APISablotron XML ドキュメント (この場合、RDF ファイル)。 の変換が非常に簡単になります。 XML タグは、ブラウザで読み取り可能な HTML タグに変換されます。 これについてはあまり詳しく説明しません。PHP マニュアルを参照してください。 、または詳細については、この記事のリンクの後半に注目してください。ただし、この問題を説明するために簡単な例を示します。まず、スタイルシート ファイルを指定します:
<xsl:stylesheet xmlns : xsl="http://www.w3.org/1999/XSL/Transform"xmlns:rdf="http://www.w3.org/1999/02 / 22-rdf-syntax-ns#"xmlns:rss="http://purl.org/rss/1.0/"
xmlns:dc="http://purl.org/dc/elements/ 1.1/" version="1.0">
<xsl:template match="/rdf: RDF">
<basefont face="Arial" size="2"/>
< ;/head>
<xsl:apply-templates select="rss:channel" />
<ul>
<xsl:apply-templates select="rss:item" />
ul>
xsl:template>
<xsl:template match="rss:item">
<li />
<xsl:attribute name="href">xsl:value-of select="rss:link "
/>/>/xsl:attribute>
<xsl:value-of select="rss:title" />
<br />
<xsl:value-of select="rss:description" />
xsl:template>
xsl:stylesheet>
下はPHPスクリプト、上面の样式单和讲を制御するための“鲜肉”RDF文档合并起来,生成一HTML页面:
php
// XML ファイル
// これはローカル ファイルである必要があります
$xml = "fm-releases.rdf",
// XSLT ファイル
$xslt = "fm.xsl",
// 新しい XSLT プロセッサを作成します
$xp = xslt_create(),
// XSLT に従って XML ファイルを変換します stylesheet
// 結果を $result
$result に返します= xslt_process($xp, $xml, $xslt),
if ($result)
{
// 出力します
echo $result,
}
// クリーンアップ
xslt_free($xp),
?> ;
これは非常に簡単なので、これ以上の説明は必要ないと思います。 2 つのドキュメントがマージされ、次のような結果が得られます。"composition":
これは、 RDF データをブラウザで読み取り可能な HTML に変換する別の方法であり、おそらくより単純です (ただし、そうではありません)理想的)。ただし、PHP XSLTRDF ファイルのローカル コピーを定期的に更新するには外部プログラムを実行する必要があることに注意してください。 🎜> プロセッサがリモート ファイルにアクセスできない可能性があります。
10)
宿題 (宿題)
これらの記事で言及されているテクノロジーと言及されていないテクノロジーについて詳しく知りたい場合は、次のリンクにアクセスすることを検討してください: RSS 1.0
仕様: http://www.purl.org/rss/1.0/
RSS
開発履歴: http://バックエンド。 userland.com/stories/rss091
W3C
RDF に関する Web サイトのコンテンツ: http:// www.w3.org/RDF/
PHP
SAX および DOM プログラミングについてディスカッション:http://www.devshed.com/Server_Side/XML/XMLwithPHP
PHP を使用した XSLT 変換の実装に関するディスカッション:
http: / /www.devshed.com/Server_Side/XML/XSLTrans
PHP クラスに関するディスカッション:
http://www.devshed.com/Server_Side/PHP/BackToClass