eXist-db在.xq数据中包含html模板

eXist-db在.xq数据中包含html模板,第1张

概述我有一个index.html数据,我通过以下方式包含模板: <div xmlns="http://www.w3.org/1999/xhtml" data-template="templates:surround" data-template-with="templates/page.html" data-template-at="content"> 在索引html网站上我添加了一个关键字搜索表单, 我有一个index.HTML数据,我通过以下方式包含模板

<div xmlns="http://www.w3.org/1999/xhtml" data-template="templates:surround" data-template-with="templates/page.HTML" data-template-at="content">

在索引HTML网站上我添加了一个关键字搜索表单,我的想法是,当我点击搜索按钮时,它应该调用.xq文件来请求搜索结果:

<form method="GET" action="ksearch.xq">

当我提交表单时,会打开ksearch.xq页面,但即使我包含与上面相同的模板div:

<div xmlns="http://www.w3.org/1999/xhtml" data-template="templates:surround" data-template-with="templates/page.HTML" data-template-at="content">

ksearch.xq页面没有应用模板.

似乎当我调用.xq文件时,模板未应用,但是当我调用纯HTML文件时,模板将被应用.

所以问题是如何在.xq文件的输出中使用此模板?

提前致谢.

解决方法 默认情况下,eXist-db的模板框架对具有.HTML文件扩展名的文件的请求进行 *** 作,而不是对.xq文件.正如您所发现的,模板框架将非.HTML文件的结果传递给未更改的文件. (如果在应用程序的集合中打开controller.xql文件,您将看到.HTML文件的特殊处理.)因此,您的表单将搜索参数提交给使用模板框架的.HTML文件,而不是ksearch.xq.调用Xquery代码的约定,例如,

<div xmlns="http://www.w3.org/1999/xhtml" data-template="templates:surround" data-template-with="templates/page.HTML" data-template-at="content">    <div /></div>

这个应用程序:show-search-results类(我编写的)会指向app模块中的一个函数(在/db/apps/myapp/modules/app.xqm中),名为show-search-results(),模板函数中其他地方使用的常规参数.这是您放置搜索Xquery代码的地方.

总结

以上是内存溢出为你收集整理的eXist-db在.xq数据中包含html模板全部内容,希望文章能够帮你解决eXist-db在.xq数据中包含html模板所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1043343.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存