Xquery、Javascript 和 HTML

Posted

技术标签:

【中文标题】Xquery、Javascript 和 HTML【英文标题】:Xquery, Javascript & HTML 【发布时间】:2021-03-26 20:38:44 【问题描述】:

使用 javascript 按下复选框时,我需要执行操作。为了练习,我使用了这段代码:

<!DOCTYPE html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    </head>
    <body>
        <table>
            <td>Consulta Medica</td>
            <td>
                <input class="form-control" id="input695" value="">
            </td>
            <td>
                <input type="checkbox" id="695" autocomplete="off"> 
            </td>
        </table>
    </body>
    <script>

        $(document).ready(function () 
            $('#695').change(function () 
                extraer = $('#input695').val();
                console.log(extraer)
            );
        );

    </script>
</html>

在 HTML 文件中使用它是可行的,但关键是我打算在 .xqy 文件中使用它,但我不能。有谁知道为什么?错误说:

第 17 列第 59 行 ...n () $('#695' 附近的静态错误 XPST0003 预期“”,发现“(” javax.xml.xquery.XQException: 预期的“”,发现“(”在 com.saxonica.xqj.SaxonXQConnection.newXQException(SaxonXQConnection.java:201) 在 com.saxonica.xqj.SaxonXQConnection.prepareExpression(SaxonXQConnection.java:113) 在 com.saxonica.xqj.SaxonXQConnection.prepareExpression(SaxonXQConnection.java:97) 在 xquery.AppXQuery.execute(AppXQuery.java:36) 在 xquery.AppXQuery.main(AppXQuery.java:19) 原因: net.sf.saxon.trans.XPathException:预期“”,发现“(”在 net.sf.saxon.expr.parser.XPathParser.grumble(XPathParser.java:311) 在 net.sf.saxon.expr.parser.XPathParser.grumble(XPathParser.java:268) 在 net.sf.saxon.expr.parser.XPathParser.grumble(XPathParser.java:255) 在 net.sf.saxon.expr.parser.XPathParser.expect(XPathParser.java:241) 在 net.sf.saxon.expr.parser.XPathParser.parseVariableReference(XPathParser.java:2407) 在 net.sf.saxon.expr.parser.XPathParser.parseBasicStep(XPathParser.java:2204) 在 net.sf.saxon.expr.parser.XPathParser.parseStepExpression(XPathParser.java:2101) 在 net.sf.saxon.expr.parser.XPathParser.parseRelativePath(XPathParser.java:2020) 在 net.sf.saxon.expr.parser.XPathParser.parsePathExpression(XPathParser.java:1982) 在 net.sf.saxon.expr.parser.XPathParser.parseSimpleMappingExpression(XPathParser.java:1996) 在 net.sf.saxon.expr.parser.XPathParser.parseUnaryExpression(XPathParser.java:1849) 在 net.sf.saxon.expr.parser.XPathParser.parseExprSingle(XPathParser.java:752) 在 net.sf.saxon.expr.parser.XPathParser.parseExpression(XPathParser.java:657) 在 net.sf.saxon.query.XQueryParser.readElementContent(XQueryParser.java:4712) 在 net.sf.saxon.query.XQueryParser.parseDirectElementConstructor(XQueryParser.java:4377) 在 net.sf.saxon.query.XQueryParser.parsePseudoXML(XQueryParser.java:4085) 在 net.sf.saxon.query.XQueryParser.readElementContent(XQueryParser.java:4672) 在 net.sf.saxon.query.XQueryParser.parseDirectElementConstructor(XQueryParser.java:4377) 在 net.sf.saxon.query.XQueryParser.parsePseudoXML(XQueryParser.java:4085) 在 net.sf.saxon.query.XQueryParser.readElementContent(XQueryParser.java:4672) 在 net.sf.saxon.query.XQueryParser.parseDirectElementConstructor(XQueryParser.java:4377) 在 net.sf.saxon.query.XQueryParser.parsePseudoXML(XQueryParser.java:4085) 在 net.sf.saxon.query.XQueryParser.readElementContent(XQueryParser.java:4672) 在 net.sf.saxon.query.XQueryParser.parseDirectElementConstructor(XQueryParser.java:4377) 在 net.sf.saxon.query.XQueryParser.parsePseudoXML(XQueryParser.java:4085) 在 net.sf.saxon.query.XQueryParser.readElementContent(XQueryParser.java:4672) 在 net.sf.saxon.query.XQueryParser.parseDirectElementConstructor(XQueryParser.java:4377) 在 net.sf.saxon.query.XQueryParser.parsePseudoXML(XQueryParser.java:4085) 在 net.sf.saxon.query.XQueryParser.readElementContent(XQueryParser.java:4672) 在 net.sf.saxon.query.XQueryParser.parseDirectElementConstructor(XQueryParser.java:4377) 在 net.sf.saxon.query.XQueryParser.parsePseudoXML(XQueryParser.java:4085) 在 net.sf.saxon.query.XQueryParser.readElementContent(XQueryParser.java:4672) 在 net.sf.saxon.query.XQueryParser.parseDirectElementConstructor(XQueryParser.java:4377) 在 net.sf.saxon.query.XQueryParser.parsePseudoXML(XQueryParser.java:4085) 在 net.sf.saxon.query.XQueryParser.readElementContent(XQueryParser.java:4672) 在 net.sf.saxon.query.XQueryParser.parseDirectElementConstructor(XQueryParser.java:4377) 在 net.sf.saxon.query.XQueryParser.parsePseudoXML(XQueryParser.java:4085) 在 net.sf.saxon.query.XQueryParser.readElementContent(XQueryParser.java:4672) 在 net.sf.saxon.query.XQueryParser.parseDirectElementConstructor(XQueryParser.java:4377) 在 net.sf.saxon.query.XQueryParser.parsePseudoXML(XQueryParser.java:4085) 在 net.sf.saxon.query.XQueryParser.parseConstructor(XQueryParser.java:3369) 在 net.sf.saxon.expr.parser.XPathParser.parseBasicStep(XPathParser.java:2344) 在 net.sf.saxon.expr.parser.XPathParser.parseStepExpression(XPathParser.java:2101) 在 net.sf.saxon.expr.parser.XPathParser.parseRelativePath(XPathParser.java:2020) 在 net.sf.saxon.expr.parser.XPathParser.parsePathExpression(XPathParser.java:1982) 在 net.sf.saxon.expr.parser.XPathParser.parseSimpleMappingExpression(XPathParser.java:1996) 在 net.sf.saxon.expr.parser.XPathParser.parseUnaryExpression(XPathParser.java:1849) 在 net.sf.saxon.expr.parser.XPathParser.parseExprSingle(XPathParser.java:752) 在 net.sf.saxon.expr.parser.XPathParser.parseExpression(XPathParser.java:657) 在 net.sf.saxon.query.XQueryParser.parseQuery(XQueryParser.java:374) 在 net.sf.saxon.query.XQueryParser.makeXQueryExpression(XQueryParser.java:171) 在 net.sf.saxon.query.StaticQueryContext.compileQuery(StaticQueryContext.java:568) 在 net.sf.saxon.query.StaticQueryContext.compileQuery(StaticQueryContext.java:630) 在 com.saxonica.xqj.SaxonXQConnection.prepareExpression(SaxonXQConnection.java:108) ... 3 更多 无法调用“javax.xml.xquery.XQResultSequence.next()” 因为“结果”为空

链接59开始于$(document).ready(function ()

请帮帮我:) 谢谢。

【问题讨论】:

【参考方案1】:

使用 CDATA 部分将 Javascript 代码放入 XQuery,以防止 被视为封闭表达式的分隔符:

    <script>
<![CDATA[
        $(document).ready(function () 
            $('#695').change(function () 
                extraer = $('#input695').val();
                console.log(extraer)
            );
        );

    ]]></script>

【讨论】:

你好,我试过了,它不再产生那个错误。现在的问题是页面是空的。

以上是关于Xquery、Javascript 和 HTML的主要内容,如果未能解决你的问题,请参考以下文章

XPath与Xquery

XPath、XQuery 和 XPointer 之间的区别

调试 XQuery 程序

XQuery 按升序和降序排列

XQuery 让让输出

xquery 过滤属性和元素