Tôi muốn biến toàn cục mà tôi có thể sử dụng trong các trang .xqy khác nhau của mình. Tôi có thể khai báo một biến như vậy trong xquery trong Marklogic Server không?Tôi có thể khai báo biến toàn cục trong xquery trong Marklogic Server không?
Trả lời
Bạn có thể khai báo biến trong bất kỳ mô-đun nào. Ví dụ, nó là config.xqy.
declare variable $PRECISION as xs:integer := 4;
Để sử dụng biến này, bạn cần nhập mô-đun này vào mô-đun công việc của mình.
import module namespace conf = "http://your-namespace" at "config.xqy";
Và đề cập đến biến này:
$config:PRECISION
Nếu bạn cần các giá trị truy cập trên máy chủ, có một thư viện trong MarkLogic XQuery Commons để lưu trữ cặp khóa/giá trị dai dẳng:
https://github.com/marklogic/commons/blob/master/properties/properties.xqy
Và bạn có thể đã xem xét điều này, nhưng bạn cũng có thể chỉ cần lưu trữ dữ liệu chung trong tài liệu trên cơ sở dữ liệu và truy cập w ith doc() - hoặc eval() nếu bạn cần truy cập nó từ một cơ sở dữ liệu khác.
Nếu ứng dụng của bạn đang chạy trên một nút E, bạn có thể sử dụng server fields, loại này cũng được thiết kế cho trường hợp sử dụng này.
Bạn có một vài tùy chọn. Nếu bạn cần một biến liên tục toàn cầu, phương pháp config.xqy
đề cập đến trong câu trả lời của @Andrew Orlov là rất tốt bởi vì bạn tránh bất kỳ khóa nào khỏi truy cập đồng thời vào tệp properties.xml
.
Nếu bạn cần biến có thể bị đột biến trên một cụm nút, ví dụ property.xqy
được liên kết bởi @wst xuất hiện để sử dụng không gian tên được gán trên toàn cầu để nhúng khóa và giá trị có thể truy xuất. Khá thông minh. Tuy nhiên, tôi không chắc chắn bao nhiêu điều này có nghĩa là cho mức độ thay đổi nặng nề.
Các E-nút biến cụ thể từ @Eric Bloch là tốt, nhưng cũng xin lưu ý rằng nó sẽ không tồn tại khi khởi động lại hệ thống.
Tôi muốn biết cách tất cả những điều này so sánh hiệu suất một cách khôn ngoan.
- 1. Làm thế nào tôi có thể khai báo một biến toàn cục trong LLVM?
- 2. Chúng ta có thể khai báo biến toàn cục trong tệp QML không?
- 3. Tôi có thể khai báo biến trong html không?
- 4. Chính xác "tĩnh" có nghĩa là gì khi khai báo các biến "toàn cục" trong Java?
- 5. Có thể khai báo biến 1 bit trong Java không?
- 6. Tôi có thể biến một biến toàn cầu có thể nhìn thấy mà không cần phải khai báo biến toàn cục trong mỗi hàm dựng của lớp PHP không?
- 7. Biến cục bộ Javascript khai báo
- 8. Khai báo biến toàn cục để sử dụng trong mọi hoạt động
- 9. C++ - Được rồi để khai báo biến toàn cục tĩnh trong tệp .h?
- 10. Khai báo các biến SQL - SQL Server
- 11. Làm thế nào để khai báo đúng các biến toàn cục trong Perl?
- 12. Làm thế nào để khai báo một biến toàn cục trong JavaScript?
- 13. Biến toàn cục trong R
- 14. Biến toàn cục trong hadoop
- 15. Objective-C - biến toàn cục
- 16. Tôi có thể khai báo các biến bên trong câu lệnh chuyển đổi Objective-C không?
- 17. Tôi có thể khai báo một biến kiểu 'giao thức' trong giao diện Objective-C không?
- 18. Tôi có thể đồng thời khai báo và gán một biến trong VBA không?
- 19. Biến toàn cục trong nhiều tệp
- 20. Làm thế nào tôi có thể khai báo một biến toàn cầu trong Matlab cho một vài chức năng?
- 21. Không khai báo biến trong C#
- 22. Khai báo và sử dụng mảng toàn cục C#
- 23. SQL Server - Biến khai báo, nhưng vẫn nói "Phải khai báo các biến vô hướng"
- 24. Làm thế nào để khai báo một biến toàn cầu có thể được sử dụng trong toàn bộ chương trình
- 25. Có thể tạo biến toàn cầu trong Opa không?
- 26. Đối với một mô-đun Python, các biến toàn cục chuẩn để khai báo là gì?
- 27. Biến toàn cục trong Handlebars nếu chặn
- 28. Biến mẫu có phải là biến toàn cục mới không?
- 29. Cách tạo biến toàn cục trong Erlang
- 30. Biến toàn cục trong tệp elf