0

コンテンツ ネゴシエーションを使用して、HTTP サーバー上のリソースの HTML 表現と RDF/XML 表現の両方を提供しようとしています。サーバー側では、これは機能します。

curl -H "Accept: application/rdf+xml" http://localhost:8182/ontologies/1

正しいバージョンを取得します。JavaScript/Dojo でも同じことができます。

function downloadOntologyRDF(ontologyId) {
    dojo.xhrGet( {
        url:"${baseUrl}/ontologies/" + ontologyId,
        headers: {"Accept": "application/rdf+xml"},
        timeout: 5000,
        load: function(response, ioArgs) {
            var preNode = document.createElement("pre");
            preNode.appendChild(document.createTextNode(response));
            var foo = new dijit.Dialog({
                title: "RDF",
                content: preNode,
                style: "overflow: auto;"
            });
            foo.show();
            return response;
        },
        error: function(response, ioArgs) {
            alert("Retrieving the RDF version failed: " + response);
            return response;
        }
    });
}

ポップアップ ダイアログに結果が表示されます。私が立ち往生しているポイントは、このバージョンをダウンロードする方法をユーザーに提供することです。ブラウザーで RDF をページとして表示するか、保存ダイアログを直接開くページにリンクを設定したいと考えています。クエリ パラメータやその他のトリックに頼ることなく、これはまったく可能ですか?

4

2 に答える 2

0

このページでは、ブラウザーで RDF を表示する aspx ページをセットアップする方法について説明します。それはあなたを助けるかもしれません。サーバーで実行しているものを指定していないため、わかりませんが。

RSS フィードの作成が簡単に

于 2009-03-20T05:27:34.823 に答える
0

コバル メンションと同様に、URL 自体に Accept ヘッダーを設定できないため、追加のコンテンツ ネゴシエーション メカニズムが必要です。一部のフレームワークでは、コンテンツ タイプをフォームに設定できます。

http://example.com/resource;format

formatURL の末尾に を付け、セミコロンで区切ります。次に、リクエストを処理するときに、フォーマット部分を解析します。

あなたの場合、それは次のようなものかもしれません

http://localhost:8182/ontologies/1;rdf

サーバーrdfに送信し、acceptヘッダーにあるものを提供するための形式は指定されていません。

于 2009-05-07T12:27:57.033 に答える