如何更改XQuery响应的内容类型?
添加图像而不是代码,因为它不会显示如何更改XQuery响应的内容类型?,xquery,xforms,exist-db,Xquery,Xforms,Exist Db,添加图像而不是代码,因为它不会显示 我有一个形成网页的xquery。它在existdb上运行 此xquery调用另一个使用xforms提交的xquery: 当直接从浏览器运行时,returnTable.xq返回HTML表 在这种情况下,响应中的内容类型为: 您可以从提交中看到,这个HTML表应该替换“table”实例中的数据 它确实替换了数据,但我得到的不是HTML表,而是纯文本。 我用 在网页上显示表格。我尝试了mediatype xml、text/xml和其他 所以,当它被替换时,我
在网页上显示表格。我尝试了mediatype xml、text/xml和其他Content-Type=text/javascript
instaed ofContent-Type=text/xml
:
declare option exist:serialize "method=xml media-type=application/xhtml+xml";
您知道如何更改此选项吗?您正在寻找XQuery序列化选项,这些选项在XQuery 1.0和XQuery 3.0之间是不同的 XQuery 1.0选项将内容类型设置为
application/xhtml+xml
:
declare option exist:serialize "method=xml media-type=application/xhtml+xml";
对于XQuery 3.0,您可以使用标准XQuery序列化选项:
declare namespace output = "http://www.w3.org/2010/xslt-xquery-serialization";
declare option output:method "xml";
declare option output:media-type "application/xhtml+xml";
非常感谢。问题是,当我调用直接在浏览器中返回表的查询时,它返回正确的XML,返回类型为text/XML,但当我从另一个使用http POST的查询调用此查询时,它返回类型text/javascript,并且XML标记从响应体中移除。添加这些选项不会改变此行为。在您现在编写
的地方,您可能应该编写
。若要使代码显示在列表中,请将其缩进比已有的多四个空格。要做到这一点,您可以将一个字母(我喜欢!
)直接放在已经缩进的块前面的行上,不缩进,然后选择整个块和编码>并按CTRL+K或带大括号的按钮。