web-applications - 在 XQuery Basex Web 应用程序中转义“<\”
问题描述
我想开发一个使用 Basex 作为后端和 Bootstrap HTML 框架作为前端的 Web 应用程序。Bootstrap 的示例“navbar-fixed”表明网页应该在其源代码中包含片段:
<script>window.jQuery || document.write('<script src="/docs/4.5/assets/js/vendor/jquery.slim.min.js"><\/script>')</script>
我尝试了很多方法从 XQuery 函数返回这样的字符串,但都失败了。例如:
declare function template:page() {
<script>window.jQuery || document.write( '<script src="/docs/4.5/assets/js/vendor/jquery.slim.min.js"><\/script>' )</script>
};
不编译并给出错误“期望元素名称,找到'<'”。另一方面:
declare function template:page() {
<script>window.jQuery || document.write( { '<script src="/docs/4.5/assets/js/vendor/jquery.slim.min.js"><\/script>' } )</script>
};
转义字符并给出错误的输出:
<script>window.jQuery || document.write( <script src="/docs/4.5/assets/js/vendor/jquery.slim.min.js"><\/script> )</script>
有没有办法达到所需的效果?
此致
解决方案
在 XML 中,您可以使用 CDATA 部分,例如
declare namespace output = "http://www.w3.org/2010/xslt-xquery-serialization";
declare option output:method 'html';
declare option output:html-version '5.0';
<script><![CDATA[window.jQuery || document.write( '<script src="/docs/4.5/assets/js/vendor/jquery.slim.min.js"><\/script>' )]]></script>
推荐阅读
- leveldb - LMDB 是否支持多个键到相同的值映射?
- python - 如何使用python在圆圈中移动鼠标
- antlr - 在 antlr 中解析类似 Haskell 的 lambda
- python - 字符串输入的反斜杠
- apache-nifi - 3个属性之间的最小值
- docker - 使用 HAProxy 的 Docker 覆盖
- python - Django - 没有这样的表:main.auth_user__old
- batch-processing - SLURM 使用 scontrol 更新释放资源导致未知结束时间
- oracle - Oracle 过程(失败 od 日期格式)
- python - 托管在 azure 上的 Flask Web 应用程序在 POST 和 DB 活动期间出现 500 错误