javascript - 在 xquery 中转义大于 JavaScript 中的符号

标签 javascript xquery marklogic

我试图在我的 xquery 中嵌入一小段 JavaScript,但我似乎无法让大于符号发挥作用。我已经转义了它们,但当我查看结果时,它们在我的 javascript 代码中显示为 > 。

这是我的代码:

xquery version "1.0-ml";
declare namespace html = "http://www.w3.org/1999/xhtml";

xdmp:set-response-content-type("text/html; charset=utf-8"),
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> &gt; This works...
<script>
var five = 5;
var is_more = function(n) {{
    if n &gt; 2 {{
        return "Yes";
    }} else {{
        return "no";
    }};
}}
console.log(is_more(five));
</script>
</html>

虽然转义适用于文本,但它在我的 javascript 中不起作用: Not escaping greater than correctly.

我确信这是显而易见的事情,但我对 xquery 还很陌生。

最佳答案

将脚本放入注释 block 中。 if 语句中还需要括号。

xquery version "1.0-ml";
declare namespace html = "http://www.w3.org/1999/xhtml";

xdmp:set-response-content-type("text/html; charset=utf-8"),
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> &gt; This works...
    <script>
        <!--
        var five = 5;
        var is_more = function(n) {
            if (n > 2) {
                return "Yes";
            } else {
                return "no";
            };
        }
        console.log(is_more(five));
        -->
    </script>
</html>

关于javascript - 在 xquery 中转义大于 JavaScript 中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31787907/

相关文章:

javascript - Vuelidate requiredIf 不适用于复选框

javascript - webpack 中是否可以有真正动态的 import() ?

xpath - XQuery 使用什么表达式来计算匹配字符串的数量?

json - 需要在 MarkLogic 上编写 JSON 查询

javascript - 添加 InnerHTML 时 Jquery DatePicker 不起作用

javascript - Angular : Nested Directives and Scope Inheritance

c# - 为什么我会选择 XSLT 或 XQuery 而不是另一个来生成 html 文档?

xml - 如何选择 xpath 父级同级?

marklogic - 字段范围索引为空

xquery - 在 Marklogic 中自定义排序