我正在使用 TopBraid Composer Maestro Edition 学习 SWP(SPARQL 网页),并且能够创建 SWP 文件。此 SWP 文件使用 SPARQL 查询示例数据集以将结果作为 HTML 返回。这是我在项目中的代码片段:
<!-- Navigate to http://localhost:8083/tbl/tutorial.swp?test=Mate in a web browser -->
<ui:setContext
xmlns:kennedys="http://topbraid.org/examples/kennedys#"
ui:queryGraph="<http://topbraid.org/examples/kennedys>"
let:test="{= ui:param('test', xsd:string) }">
<h1>G'day, {= ?test }!</h1>
<ul>
<ui:forEach ui:resultSet="{#
SELECT *
WHERE {
<http://topbraid.org/examples/kennedys#AlfredTucker> ?property ?value .
}
}">
<li>{= ui:label(?value) }</li>
</ui:forEach>
</ul>
</ui:setContext>
这个 SWP 片段就像一个魅力,显示了我需要的东西。但是,我怎样才能获得 XML 而不是 HTML?
编辑:
这是返回的 HTML:
<!DOCTYPE html>
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<data>
<entry>
<property>year of birth</property>
<value>1967</value>
</entry>
<entry>
<property>first name</property>
<value>Alfred</value>
</entry>
<entry>
<property>has gender</property>
<value>male</value>
</entry>
<entry>
<property>last name</property>
<value>Tucker</value>
</entry>
<entry>
<property>name</property>
<value>Alfred Tucker</value>
</entry>
<entry>
<property>has spouse</property>
<value>Kym Smith</value>
</entry>
<entry>
<property>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</property>
<value>Person</value>
</entry>
</data>
</body>
</html>
取而代之的是,我只希望它也使用 xml 标头返回它:
<data>
<entry>
<property>year of birth</property>
<value>1967</value>
</entry>
<entry>
<property>first name</property>
<value>Alfred</value>
</entry>
<entry>
<property>has gender</property>
<value>male</value>
</entry>
<entry>
<property>last name</property>
<value>Tucker</value>
</entry>
<entry>
<property>name</property>
<value>Alfred Tucker</value>
</entry>
<entry>
<property>has spouse</property>
<value>Kym Smith</value>
</entry>
<entry>
<property>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</property>
<value>Person</value>
</entry>
</data>