コンテンツネゴシエーションを使用して、HTTPサーバー上のリソースのHTMLとRDF/XML表現の両方を提供しようとしています。サーバ側では、これは動作します。すなわち、ブラウザ内から非HTMLコンテンツタイプのファイルをダウンロードするにはどうすればよいですか?
curl -H "Accept: application/rdf+xml" http://localhost:8182/ontologies/1
が正しいバージョンを取得します。
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をブラウザのページとして表示するか、または保存ダイアログを直接開くかのいずれかのページにリンクが必要です。これは、クエリパラメータや他のトリックに頼らずに可能ですか?
クエリパラメータのようなサーバー側のもの以外の方法がないと思われます。 – cobbal