1

RDF/XML-ABBREVモデルを作成するJavaのsevletがあります。私の問題は、応答にxmlバージョンタグが含まれていないことです。

現在の対応:

<rdf:RDF
    xmlns:myNS="http://www.sap.de/research/BusinessObjectOntology#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  <myNS:Resource rdf:about="http://localhost/myResource">
    ...
  </myNS:Resource>
</rdf:RDF>

<?xml version="1.0"?>しかし、モデルの最初にが必要です。コードに何かを追加する必要がありますか、それともxmlバージョンタグが表示されないのはなぜですか?

resp.setCharacterEncoding(CHARSET);
resp.setContentType("application/rdf+xml");
resp.setStatus(HttpStatus.OK_200);
model.write(resp.getWriter(), "RDF/XML-ABBREV");

ありがとう

4

1 に答える 1

2

宣言はオプションですが、必須にすることができます。

XMLライターのドキュメントによると:

デフォルトの動作では、UTF-8またはUTF-16以外のエンコーディングを使用するOutputStreamWriterに書き込むように要求された場合にのみ、XML宣言が提供されます。

出力をカスタマイズするには、次のことを試してください。

...
RDFWriter writer = model.getWriter("RDF/XML-ABBREV");
writer.setProperty("showXmlDeclaration","true");
writer.write(model, resp.getWriter(), null);
于 2013-02-15T11:14:58.990 に答える