2016-10-19 3 views
3

У меня есть XML-документы, как -Как объявить XML пространство имен в JavaScript + MarkLogic

<domain xmlns:c="http://example.com/ns/core" xmlns="http://example.com/ns/core"> 
    <c:id>http://example.com/xyz/no-data</c:id> 
</domain> 

Я использую JavaScript в MarkLogic, и хотите запустить element value query на c:id. Что-то вроде этого -

cts.elementValueQuery(xs.QName("c:id"), "http://example.com/xyz/no-data") 

Но для этого мне нужно объявить пространство имен c. Был ли он XQUERY мы могли бы сделать что-то вроде этого -

declare namespace c="http://example.com/ns/core"; 

Но я не могу получить, как сделать это в JavaScript.

ответ

4

Вы можете использовать fn.QName() вместо xs.QName(). В приведенном ниже примере я объявил nsC (namespace-C) как нечто похожее на объявленный префикс пространства имен.

var nsC = "http://example.com/ns/core"; 
cts.elementValueQuery(
    fn.QName(nsC, "id"), 
    "http://example.com/xyz/no-data" 
) 
Смежные вопросы