2013-02-15 5 views
1

У меня есть sevlet в Java, который создает модель RDF/XML-ABBREV. Моя проблема в том, что ответ не содержит тега версии xml.Отсутствует ответ RDF + XML - тег версии 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"); 

благодаря

ответ

2

Декларация не является обязательным, но вы можете требовать его.

По the XML writer documentation:

поведение по умолчанию дает лишь XML-декларации, когда попросили написать на OutputStreamWriter, который использует некоторую кодировку, кроме UTF-8 или UTF-16.

Для настройки вывода попробовать:

... 
RDFWriter writer = model.getWriter("RDF/XML-ABBREV"); 
writer.setProperty("showXmlDeclaration","true"); 
writer.write(model, resp.getWriter(), null); 
Смежные вопросы