在 XQuery Basex Web 应用程序中转义“<\”
Escape '<\' in XQuery Basex web application
我想开发一个使用 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 函数 return 这样的字符串,但我失败了。例如:
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>
我想开发一个使用 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 函数 return 这样的字符串,但我失败了。例如:
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>